﻿
{"id":1889,"date":"2013-07-26T23:53:42","date_gmt":"2013-07-26T23:53:42","guid":{"rendered":"http:\/\/www.gencayyildiz.com\/blog\/?p=1889"},"modified":"2013-07-26T23:53:42","modified_gmt":"2013-07-26T23:53:42","slug":"asp-net-mvc-4-0-analytics-nesnesi","status":"publish","type":"post","link":"https:\/\/www.gencayyildiz.com\/blog\/asp-net-mvc-4-0-analytics-nesnesi\/","title":{"rendered":"Asp.NET MVC 4.0 &#8211; Analytics Nesnesi"},"content":{"rendered":"<div id=\"fb-root\"><\/div>\n<p>Bir web programc\u0131s\u0131 olarak projelerde, harici kaynaklar olduk\u00e7a i\u015flevsel bir yap\u0131 katt\u0131\u011f\u0131n\u0131 d\u00fc\u015f\u00fcn\u00fcyorum.Yap\u0131sal olarak bir raporlama sistemi olu\u015fturmak ve g\u00f6rselli\u011fini de bir o kadar kaliteli tasarlayabilmek demek, san\u0131r\u0131m projenin yap\u0131s\u0131na ba\u011fl\u0131 olmas\u0131yla birlikte, bir o kadar algoritmik \u00e7al\u0131\u015fma eme\u011fi gerektirmektedir.Ancak <em>Google Analytics<\/em> ve <em>StatCounter<\/em> gibi harici temeldeki raporlama hizmeti veren siteler sayesinde, sitemizin b\u00fcy\u00fck kapsamda ziyaret\u00e7i takibini ger\u00e7ekle\u015ftirmekte ve h\u0131zl\u0131 bir \u015fekilde d\u00f6k\u00fcmantasyon olarak raporlayabilmektedir.Bu siteler sayesinde programc\u0131lar\u0131n site raporu a\u00e7\u0131s\u0131ndan i\u015fleri kolayla\u015fmakta ve Asp.NET MVC mimarisine de ayr\u0131 bir lezzet katmaktad\u0131r.\u015eimdi gelin MVC 4.0&#8217;da Analytics nesnesini irdeleyelim.<br \/>\n<!--more--><br \/>\n\u00d6ncelikle Asp.NET MVC mimarisinde Analytics nesnesini kullanmak i\u00e7in projenize Microsoft Web Helpers paketini y\u00fcklemeniz gerekmektedir.Bu i\u015flemi <a href=\"http:\/\/www.gencayyildiz.com\/blog\/asp-net-mvc-microsoft-web-helpers-paketi-yuklenmesi\/\" target=\"_blank\">Asp.NET MVC &#8211; Microsoft Web Helpers Paketi Y\u00fcklenmesi<\/a> ba\u015fl\u0131kl\u0131 yaz\u0131m\u0131 inceleyerek ger\u00e7ekle\u015ftirebilirsiniz.<\/p>\n<p>\u00d6ncelikle Analytics s\u0131n\u0131f\u0131n\u0131n i\u00e7indeki baz\u0131 metodlardan bahsedelim.<br \/>\n<span style=\"color: #ff0000;\"><strong>GetGoogleAsyncHtml Metodu<\/strong><\/span><br \/>\nGoogle Analytics taraf\u0131ndan web sitesi i\u00e7in \u00fcretilen asenkron yap\u0131daki script kodlar\u0131n\u0131 olu\u015fturmaya yarar.Prototipi a\u015fa\u011f\u0131daki gibidir.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nAnalytics.GetGoogleAsyncHtml(string webPropertyID)\r\n<\/pre>\n<p>Yukar\u0131daki prototipi incelerseniz e\u011fer string tipinden webPropertyID parametresi mevcuttur.Bu nedir bir inceleyelim.<br \/>\n<em><strong>webPropertyID Parametresi<\/strong><\/em><br \/>\nHerhangi bir web sayfas\u0131n\u0131 raporlayabilmek i\u00e7in \u00f6zel olarak UA-XXXXX-X format\u0131nda tan\u0131mlanan bir yap\u0131sal numarad\u0131r.<\/p>\n<p>Bu numaray\u0131 alabilmek i\u00e7in <a href=\"http:\/\/www.google.com\/analytics\/\" target=\"_blank\">http:\/\/www.google.com\/analytics\/<\/a> sayfas\u0131nda oturum a\u00e7mal\u0131 ve rapor alaca\u011f\u0131n\u0131z sitelerin bu oturumdan eklenmesi gerekmektedir.(<em>Not: G-Mail hesab\u0131n\u0131z sayesinde oturum a\u00e7abilirsiniz.<\/em>)<br \/>\n<a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2013\/07\/Google-Analytics.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2013\/07\/Google-Analytics-300x113.png\" alt=\"Google Analytics\" width=\"300\" height=\"113\" class=\"aligncenter size-medium wp-image-1891\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2013\/07\/Google-Analytics-300x113.png 300w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2013\/07\/Google-Analytics.png 358w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\nNeticede ekledi\u011finiz siteler yukar\u0131daki ekran g\u00f6r\u00fcnt\u00fcs\u00fcnde g\u00f6z\u00fckt\u00fc\u011f\u00fc gibi listelenecektir ve k\u0131rm\u0131z\u0131yla i\u015faretlenen alanlarda webPropertyID parametresine yazaca\u011f\u0131n\u0131z numara g\u00f6z\u00fckmektedir.<\/p>\n<p>\u015eimdi \u00f6rnek olarak a\u015fa\u011f\u0131daki kod par\u00e7ac\u0131\u011f\u0131n\u0131 inceleyiniz.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n@using Microsoft.Web.Helpers\r\n@Analytics.GetGoogleAsyncHtml(&quot;UA-********-*&quot;)\r\n<\/pre>\n<p>Parametremize bir numaram\u0131z\u0131 yazd\u0131ktan sonra projemizi derleyip \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131m\u0131z vakit, a\u00e7\u0131lan sayfan\u0131n kaynak kodlar\u0131n\u0131 inceleyelim.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n&lt;!DOCTYPE html&gt;\r\n&lt;html&gt;\r\n&lt;head&gt;\r\n    &lt;meta charset=&quot;utf-8&quot; \/&gt;\r\n    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width&quot; \/&gt;\r\n    &lt;title&gt;&lt;\/title&gt;\r\n    &lt;link href=&quot;\/Content\/site.css&quot; rel=&quot;stylesheet&quot;\/&gt;\r\n    &lt;script src=&quot;\/Scripts\/modernizr-2.5.3.js&quot;&gt;&lt;\/script&gt;\r\n&lt;\/head&gt;\r\n&lt;body&gt;\r\n\/*----|||----*\/\r\n    &lt;script type=&quot;text\/javascript&quot;&gt;\r\n        var _gaq = _gaq || &#x5B;];\r\n        _gaq.push(&#x5B;'_setAccount', 'UA-********-*']);\r\n        _gaq.push(&#x5B;'_trackPageview']);\r\n        (function() {\r\n            var ga = document.createElement('script'); ga.type = 'text\/javascript'; ga.async = true;\r\n            ga.src = ('https:' == document.location.protocol ? 'https:\/\/ssl' : 'http:\/\/www') + '.google-analytics.com\/ga.js';\r\n            var s = document.getElementsByTagName('script')&#x5B;0]; s.parentNode.insertBefore(ga, s);\r\n        })();\r\n    &lt;\/script&gt;\r\n\/*----|||----*\/\r\n    &lt;script src=&quot;\/Scripts\/jquery-1.7.1.js&quot;&gt;&lt;\/script&gt;\r\n&lt;\/body&gt;\r\n&lt;\/html&gt;\r\n<\/pre>\n<p>Yukar\u0131daki kod blo\u011fu, serverdan gelen talep do\u011frultusunda olu\u015fturulmu\u015f sayfam\u0131z\u0131n kaynak kodlar\u0131d\u0131r.Dikkat ederseniz e\u011fer yorum sat\u0131rlar\u0131 aras\u0131na ald\u0131\u011f\u0131m\u0131z script kodlar\u0131 derledi\u011fimiz kodun \u00e7al\u0131\u015ft\u0131r\u0131lmas\u0131 neticesinde yazd\u0131r\u0131lm\u0131\u015ft\u0131r.<br \/>\n\u0130\u015fte bu script kodu sayesinde Google Analytics taraf\u0131ndan web sitemiz ziyaret\u00e7i takibine al\u0131n\u0131yor ve raporlama deste\u011fi veriliyor.<br \/>\n<span style=\"color: #ff0000;\"><strong>GetGoogleHtml Metodu<\/strong><\/span><br \/>\nGetGoogleAsyncHtml metodundan tek fark\u0131, senkron bir yap\u0131da Google Analytics taraf\u0131ndan \u00fcretilen script kodlar\u0131n\u0131 olu\u015fturmaktad\u0131r.<br \/>\nPrototipi a\u015fa\u011f\u0131daki gibidir.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nAnalytics.GetGoogleHtml(string webPropertyID)\r\n<\/pre>\n<p>\u00d6rnek bir uygulama olarak a\u015fa\u011f\u0131daki kod blo\u011funu inceleyebilirsiniz.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n@using Microsoft.Web.Helpers\r\n@Analytics.GetGoogleHtml(&quot;UA-********-*&quot;)\r\n<\/pre>\n<p><span style=\"color: #ff0000;\"><strong>GetStatCounterHtml Metodu<\/strong><\/span><br \/>\nStartCounter sitesi taraf\u0131ndan \u00fcretilen script kodlar\u0131n\u0131 web sayfan\u0131za yerle\u015ftirmenizi ve StartCounter taraf\u0131ndan analiz edilmenizi sa\u011flar.<br \/>\nPrototipi a\u015fa\u011f\u0131daki gibidir.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nAnalytics.GetStatCounterHtml(int project,string security)\r\n<\/pre>\n<p>Yukar\u0131da int tipinden project ve string tipinden security isimli iki parametre g\u00f6r\u00fcyoruz.\u015eimdi bunlar\u0131 a\u00e7\u0131klayal\u0131m.<br \/>\n<em><strong>project parametresi<\/strong><\/em><br \/>\nStartCounter taraf\u0131ndan web siteniz i\u00e7in benzersiz olu\u015fturulan proje numaras\u0131n\u0131 al\u0131r.<br \/>\n<em><strong>security parametresi<\/strong><\/em><br \/>\nStartCounter taraf\u0131ndan web sitenizi do\u011frulamak i\u00e7in olu\u015fturulan bir anahtar de\u011fer al\u0131r.<br \/>\nE\u011fer StartCounter hizmetinden yararlan\u0131yorsan\u0131z basit bir \u015fekilde \u00f6rneklendirme yapabilirsiniz.<\/p>\n<p>Bu yaz\u0131m\u0131zda harici raporlama siteleriyle sitemiz aras\u0131nda programatik olarak ba\u011flant\u0131 kuran Analytics nesnesini tan\u0131tm\u0131\u015f olduk.Faydalanman\u0131z dile\u011fiyle..<br \/>\n\u0130yi \u00e7al\u0131\u015fmalar..<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>Bir web programc\u0131s\u0131 olarak projelerde, harici kaynaklar olduk\u00e7a i\u015flevsel bir yap\u0131 katt\u0131\u011f\u0131n\u0131 d\u00fc\u015f\u00fcn\u00fcyorum.Yap\u0131sal olarak bir raporlama sistemi olu\u015fturmak ve g\u00f6rselli\u011fini de bir o kadar kaliteli tasarlayabilmek demek, san\u0131r\u0131m projenin yap\u0131s\u0131na ba\u011fl\u0131 olmas\u0131yla birlikte, bir&#46;&#46;&#46;<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11,345],"tags":[420,746,283],"class_list":["post-1889","post","type-post","status-publish","format-standard","hentry","category-asp-net-mvc","category-mvc-4-0","tag-analytics","tag-asp-net-mvc","tag-mvc"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/1889","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/comments?post=1889"}],"version-history":[{"count":0,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/1889\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media?parent=1889"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/categories?post=1889"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/tags?post=1889"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}