Derinlemesine yazılım eğitimleri için kanalımı takip edebilirsiniz...

Asp.NET MVC 4.0 – Analytics Nesnesi

Bir web programcısı olarak projelerde, harici kaynaklar oldukça işlevsel bir yapı kattığını düşünüyorum.Yapısal olarak bir raporlama sistemi oluşturmak ve görselliğini de bir o kadar kaliteli tasarlayabilmek demek, sanırım projenin yapısına bağlı olmasıyla birlikte, bir o kadar algoritmik çalışma emeği gerektirmektedir.Ancak Google Analytics ve StatCounter gibi harici temeldeki raporlama hizmeti veren siteler sayesinde, sitemizin büyük kapsamda ziyaretçi takibini gerçekleştirmekte ve hızlı bir şekilde dökümantasyon olarak raporlayabilmektedir.Bu siteler sayesinde programcıların site raporu açısından işleri kolaylaşmakta ve Asp.NET MVC mimarisine de ayrı bir lezzet katmaktadır.Şimdi gelin MVC 4.0’da Analytics nesnesini irdeleyelim.

Öncelikle Asp.NET MVC mimarisinde Analytics nesnesini kullanmak için projenize Microsoft Web Helpers paketini yüklemeniz gerekmektedir.Bu işlemi Asp.NET MVC – Microsoft Web Helpers Paketi Yüklenmesi başlıklı yazımı inceleyerek gerçekleştirebilirsiniz.

Öncelikle Analytics sınıfının içindeki bazı metodlardan bahsedelim.
GetGoogleAsyncHtml Metodu
Google Analytics tarafından web sitesi için üretilen asenkron yapıdaki script kodlarını oluşturmaya yarar.Prototipi aşağıdaki gibidir.

Analytics.GetGoogleAsyncHtml(string webPropertyID)

Yukarıdaki prototipi incelerseniz eğer string tipinden webPropertyID parametresi mevcuttur.Bu nedir bir inceleyelim.
webPropertyID Parametresi
Herhangi bir web sayfasını raporlayabilmek için özel olarak UA-XXXXX-X formatında tanımlanan bir yapısal numaradır.

Bu numarayı alabilmek için http://www.google.com/analytics/ sayfasında oturum açmalı ve rapor alacağınız sitelerin bu oturumdan eklenmesi gerekmektedir.(Not: G-Mail hesabınız sayesinde oturum açabilirsiniz.)
Google Analytics
Neticede eklediğiniz siteler yukarıdaki ekran görüntüsünde gözüktüğü gibi listelenecektir ve kırmızıyla işaretlenen alanlarda webPropertyID parametresine yazacağınız numara gözükmektedir.

Şimdi örnek olarak aşağıdaki kod parçacığını inceleyiniz.

@using Microsoft.Web.Helpers
@Analytics.GetGoogleAsyncHtml("UA-********-*")

Parametremize bir numaramızı yazdıktan sonra projemizi derleyip çalıştırdığımız vakit, açılan sayfanın kaynak kodlarını inceleyelim.

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width" />
    <title></title>
    <link href="/Content/site.css" rel="stylesheet"/>
    <script src="/Scripts/modernizr-2.5.3.js"></script>
</head>
<body>
/*----|||----*/
    <script type="text/javascript">
        var _gaq = _gaq || [];
        _gaq.push(['_setAccount', 'UA-********-*']);
        _gaq.push(['_trackPageview']);
        (function() {
            var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
        })();
    </script>
/*----|||----*/
    <script src="/Scripts/jquery-1.7.1.js"></script>
</body>
</html>

Yukarıdaki kod bloğu, serverdan gelen talep doğrultusunda oluşturulmuş sayfamızın kaynak kodlarıdır.Dikkat ederseniz eğer yorum satırları arasına aldığımız script kodları derlediğimiz kodun çalıştırılması neticesinde yazdırılmıştır.
İşte bu script kodu sayesinde Google Analytics tarafından web sitemiz ziyaretçi takibine alınıyor ve raporlama desteği veriliyor.
GetGoogleHtml Metodu
GetGoogleAsyncHtml metodundan tek farkı, senkron bir yapıda Google Analytics tarafından üretilen script kodlarını oluşturmaktadır.
Prototipi aşağıdaki gibidir.

Analytics.GetGoogleHtml(string webPropertyID)

Örnek bir uygulama olarak aşağıdaki kod bloğunu inceleyebilirsiniz.

@using Microsoft.Web.Helpers
@Analytics.GetGoogleHtml("UA-********-*")

GetStatCounterHtml Metodu
StartCounter sitesi tarafından üretilen script kodlarını web sayfanıza yerleştirmenizi ve StartCounter tarafından analiz edilmenizi sağlar.
Prototipi aşağıdaki gibidir.

Analytics.GetStatCounterHtml(int project,string security)

Yukarıda int tipinden project ve string tipinden security isimli iki parametre görüyoruz.Şimdi bunları açıklayalım.
project parametresi
StartCounter tarafından web siteniz için benzersiz oluşturulan proje numarasını alır.
security parametresi
StartCounter tarafından web sitenizi doğrulamak için oluşturulan bir anahtar değer alır.
Eğer StartCounter hizmetinden yararlanıyorsanız basit bir şekilde örneklendirme yapabilirsiniz.

Bu yazımızda harici raporlama siteleriyle sitemiz arasında programatik olarak bağlantı kuran Analytics nesnesini tanıtmış olduk.Faydalanmanız dileğiyle..
İyi çalışmalar..

Bunlar da hoşunuza gidebilir...

2 Cevaplar

  1. Yazılım dedi ki:

    Hocam merhabalar. Bu yol şuanda Core ilede çalışıyormu.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir