TozSoft Yükleniyor Lütfen Bekleyiniz..

Tozsoft Blog

TozSoft Blog yazılarımız ile sizlere sektör ile ilgili güncel konulardan haberler, siteniz için yararlı olabilecek araçların kullanımı, ipuçları,karşılaşabileceğiniz hatalar ile ilgili çözümler, yazılımcılara yönelik alternatif optimizasyon yömtemleri gibi bir çok konuda bilgi alabilir, ileriye yönelik başarılı adımlar atabilirsiniz.

PHP

Php ile Google Analytics Verilerini Web Sayfamıza Çekmek

773 3

Geçen aylar eski Analytics metodları geçerliliğini yitirince müşterilerimizin admin(yönetim) panellerini güncelledik.Konu hafızamızda taze iken sizlerle de paylaşalım istedim, uğraşanlar bilirler eski tip sınıflar ve kütüphanelerde google analytics verileri için sizden gmail adresinizi ve şifrenizi isterlerdi buda paylaşımlı hostinglerde bilgileriniz için  güvenlik zafiyeti anlamına gelebiliyordu.Google bu konuya zekice bir kaç çözüm geliştirmiş ve epeyce kolay uygulanabilirliği de cabası…

Gmail hesabınızın ve  az  biraz Analytics tecrübenizin olduğunu varsayarak yapmanız gereken işlemlere  geçiyorum.

 

Google Analytics API yi aktif etmek

Google analtytics apiyi aktif etmek için ilk önce google developer console a giriş yapıyoruz

-Üst kısımda bulunan panelden Create a project e tıklayarak gelen pencereden yeni bir proje oluşturuyoruz

analtytics api oluşturma

analtytics adi

-Karşımıza gelen kısımdan  Use Google APIs e tıklayarak hangi apıyı kullanmak istediğimizi seçiyoruz

 

enable api

Analytics API seçeneğini seçiyoruzgelen ekranda Enable API ye tıklayarak google analytics apiyi aktif hale getiriyoruz.

analytics api seçme

enable api seçme

Apimiz aktif hale getirdik şimdi  sıra apimizin erişiminde kullanacağımız email adresi, clientID ve p12 keyi oluşturmaya geldi, sol menuden API nin altındaki Credentialsa linkine tıklıyoruz

Gelen sayfada Add credentials‘ın altında bulunan  Service Account a tıklıyoruz gelen sayfada 2 seçenek çıkıyor biz P12 seçeneğini seçip mail adresi ve  p12 keyimizi otomatik olarak oluşturuyoruz. Bilgisayarımıza  eklediğimiz proje birkac sayı ve yazıdan oluşan .p12 uzantılı bir dosya inmesi gerekir bunu saklayın daha sonra ne yapmamız gerektiğini anlatıcam

Add credentials

 

 

 

 

Google Analytics hesabımıza API için erişim izni vermek

 

Google Analytics hesabımıza girelim ve üstte yönetici sekmesine tıklayalım sırasıyla aşağıdaki resimde gördüğünüz gibi adımları takip ederek yukarıda oluşturduğumuz servisi hesabımıza erişimini tanımlayalım

hesaba bağlama

Gelen sayfada izin eklemek için Analytics API de oluşturduğumuz mail adresini ekliyoruz

analytics izinleri

Tüm ayarları doğru yaptıysak işin zor kısmını bitirdik demektir şimdi eğlenceli kısma geçelim…

Google Verilerini Php Yardımıyla Alalım

Google API Php clientini linkine tıklayarak kütüphaneyi bilgisayarımıza indirelim ve kodlamaya geçelim kendimize bir tane php dosyası oluşturup aşağıdaki kodları girelim.

 

function getService()
{
// Yeni bir Analytics servis nesnesi oluşturalım ve geri döndürelim

// Google API php kütüphanesini yükleyelim
require_once 'google-api-php-client/src/Google/autoload.php';

// Servis Maili ve P12 dizini
$service_account_email = 'Developer Console Servis Email Adresiniz'; //API de oluşturduğumuz mail adresini yazın
$key_file_location = 'p12 keyinizin dizini bu dosyayla aynıysa dosyaismi.p12'; //p12 keyi kütüphanenin içine atmayı unutmayın yoksa hata alırsınız

//Yeni bir client nesnesi oluşturalım
$client = new Google_Client();
$client->setApplicationName("Test");
$analytics = new Google_Service_Analytics($client);

// p12 keyini google autha okutalım ve yetki alalım
$key = file_get_contents($key_file_location);
$cred = new Google_Auth_AssertionCredentials(
$service_account_email,
array(Google_Service_Analytics::ANALYTICS_READONLY),
$key
);
$client->setAssertionCredentials($cred);
if($client->getAuth()->isAccessTokenExpired()) {
$client->getAuth()->refreshTokenWithAssertion($cred);
}

return $analytics;
}

 

Üst kısımda yeni bir servis nesnesi oluşturduk.Bu nesne üzerinden apiye istediğimiz sorguları oluşturabiliriz.En basit haliyle son 7 gün sayfamıza giren oturumların toplamını aşağıdaki sorguyla alabiliriz

 

function getResults(&$analytics, $profileId) {
// Apiye Oturumlar için örnek bir sorgu yollayalım
     return $analytics->data_ga->get(
     'ga:' . $profileId,
     '7daysAgo',
     'today',
     'ga:sessions');
}

 

Daha Gelişmiş Bir sorgu yollayalım

  • Dimensions : Veriyi hangi bazda almak istiyoruz (Örnekte günlük)
  • Metrics : Hangi tür verileri almak istiyoruz (Oturumlar,Sayfa Gösterimleri)
functiongetResults(&$analytics, $profileId) {

$optParams= array(
     'dimensions'=> 'ga:day',
     'metrics'=> 'ga:pageviews,ga:sessions'
);
     return$analytics->data_ga->get(
     'ga:'. $profileId,
     '30daysAgo',
     'today',
     'ga:sessions',$optParams);
}

 

Oluşturduğumuz fonksiyonları çağıralım ve çıktıyı ekrana bastıralım
Google Profile Id sini öğrenmek için analytics hesabınızdaki adres cubuğunda p den sonra gelen sayı sizin google profil id niz oluyo

profilID

Php Kodlarımız

$profile= "Google Analytics Profile Id"// ga:....
$analytics= getService();
$results= getResults($analytics, $profile);
print_r($results)

 

 

  • erdem

    Merhabalar; kodlarınızda birçok hata aldım. Kontrol edip tekrar yüklerseniz çok sevinirim.

    • Toz_Mazhar

      Merhabalar Erdem,

      Öncelikle biraz geç cevap verdiğimiz için özür dileriz, malum haftanın son günü iş yoğunluğundan ancak bakabildik.Kodları ham olarak inceledik ve bir sorun bulamadık acaba kod kısmında eklenmesi gereken 4 maddeyi yaptınız mı? Bunlar ;

      -Api dosyasını indirip yolunu tam olarak verdiniz mi?(Eklediğimiz dosyada mevcud bu adımı atlaya bilirsiniz)
      -Developer Consoleden özel bir mail adresi oluşturdunuz mu?
      -.p12 uzantılı dosyayı indirip dosya yolunu tam olarak verdiniz mi?
      -Google Analytics’ten sitenizi ekleyip site profil ID yi aldınızmı?

      Kodları derleyip konu altına .rar uzantılı bir dosya ekledik onu indirip yukarıdaki 4 adımı eklemeniz halinde 30 günlük Google Analytics verilerini grafiksel olarak görmeniz mümkün olacaktır. Eğer tekrar bir sıkıntı çıkar ise aldığınız hatayı yazarsanız detaylı yardım etmekten mutluluk duyarız.

      Kolay gelsin İyi çalışmalar,

      Mazhar DİNENTEN
      Yazılım Uzmanı

  • Remzi

    Merhaba. Öncelikle elinize sağlık. Kodlar gayet sağlıklı çalışıyor. ancak daha da gelişmiş sorgular için gerekli parametreler nelerdir? Bu konuda bilgi verebilir misiniz? Örneğin aylık ziyaretçi sayısı, ziyaret edenlerin şehirleri, ülkeleri için ayrı ayrı değişkenler oluşturup bunları da grafiksel olarak göstermek istiyorum. Bunları nasıl çekebileceğim ila ilgili mümkünse örnek kod yazarak yardımcı olursanız sevinirim. İyi çalışmalar dilerim.

İletişim
  • Tozsoft Yazılım Elektronik Tasarım Danışmanlık Matbaa İmalat ve Dış Tic. Ltd. Şti.

  • Ziya Gökalp Mah. Süleyman Demirel Blv. Mall Of Ofis Blok Kat:15 D:124 Başakşehir / İstanbul
  • 0(850) 225 90 58
  • info@toz.com.tr
Sosyal Medyada TozSoft

Sosyal medyada takip edebileceğiniz hesap adreslerimiz.

2017 - Toz ® ● TUM HAKLARI SAKLIDIR