Google Analytics ile Uygulama Analizi ve Raporlama

Gökhan YAVAŞ
gokhanyavas
Published in
3 min readOct 14, 2015

Merhabalar,

Geliştirmiş olduğumuz uygulamaların anlık olarak kimler tarafından kullanıldığını öğrenmek için Google Analytics gibi araçlar kullanırız. Konuyu biraz daha genişletirsek kullanıcıların uygulamalarınızı ne sıklıkla, hangi ülkelerden, hangi cihazlardan kullandığını analiz edebilirsiniz. İlk olarak bağlantıdaki sayfaya giderek Google hesabınız ile giriş yapın ve üst kategoriden Yönetici > Mülk Ayarları > Yeni Mülk Oluştur sekmesine gelin. Bu kısımda neyi izlemek istediğinize dair bir soru vardır.. Burada Mobil Uygulama ve Web sitesi sekmelerini görebilirsiniz. Konumuz mobil uygulamaları olduğundan ben onu baz alarak devam edeceğim..

Mobil uygulama sekmesini tıklayıp istenilen bilgileri girin.Karşınıza “UA-2123xxxx-7” şeklinde bir kimlik gelecek. Bu kimliği kodlarımızda kullanacağız. Android Studio kullanıyorsanız Google Analytics SDK indirmenize gerek yok. Şayet Eclipse kullanıyorsanız :

Projenize sağ tıklayıp “Properties” seçeneğini açın, Java Build Patch > Add External JARs yolunu seçerek indirdiğiniz Google Analytics SDK’sını (GoogleAnalyticsServices.jar) projenize ekleyin. Daha sonra “Order and Export”a gelin, eklediğiniz jar dosyasını seçip tamam deyin.

Yeni bir Android Studio projesi oluşturalım. Öncelikle build.gradle dosyanıza dependencies bloğuna aşağıdaki kodu eklememiz gerekiyor.

compile 'com.google.android.gms:play-services-analytics:7.5.0'

Application sınıfından extend ederek App isimli bir sınıf oluşturdum. Siz adını istediğiniz gibi koyabilirsiniz. Amacımız uygulama çalıştığında Google Analytics Tracker’ımızı set etmek.

public class App extends Application {
HashMap<TrackerName, Tracker> mTrackers = new HashMap<TrackerName, Tracker>();
public synchronized Tracker getTracker(TrackerName trackerId) {
if (!mTrackers.containsKey(trackerId)) {
GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
Tracker t = analytics.newTracker(R.xml.app_tracker);
mTrackers.put(trackerId, t);
}
return mTrackers.get(trackerId);
}
public enum TrackerName {
APP_TRACKER,
GLOBAL_TRACKER,
E_COMMERCE_TRACKER,
}
}

Şimdi MainActivity sınıfını açın onCreate methodunun içine aşağıdaki kodu ekleyin.

//Google Analytics başlangıçTracker tracker = ((App) this.getApplication()).getTracker(App.TrackerName.APP_TRACKER);
tracker.setScreenName("Gokhan Yavaş - Google Analytics Örneği"); // Analytics console'da gorulecek isim
tracker.send(new HitBuilders.ScreenViewBuilder().build());
//Google Analytics bitiş
Yine MainActivity sınıfına onStart ve onStop methodu ekliyoruz.
@Override
protected void onStart() {
super.onStart();
//uygulama başladığında izleme başlar.
GoogleAnalytics.getInstance(this).reportActivityStart(this);
}@Override
protected void onStop() {
super.onStop();
//uygulama durduğunda izlemede durur.
GoogleAnalytics.getInstance(this).reportActivityStop(this);
}Buraya kadar herşeyi doğru yaptığınıza eminseniz diğer adıma geçelim. Merak etmeyin çok az kaldı.. :) Sıra Xml Resource dosyalarını eklemekte.analytics_global_config.xml<?xml version="1.0" encoding="utf-8" ?>
<resources>
<string name="ga_appName">Google Analytics Örneği</string>
<string name="ga_appVersion">1.0</string>
<!--Remember to disable verbose log level for production -->
<string name="ga_logLevel">verbose</string>
<integer name="ga_dispatchPeriod">1000</integer>
<bool name="ga_dryRun">false</bool>
</resources>
app_tracker.xml<?xml version="1.0" encoding="utf-8"?>
<resources>
<integer name="ga_sessionTimeout">300</integer>
<!-- Enable automatic Activity measurement -->
<bool name="ga_autoActivityTracking">true</bool>
<!-- The screen names that will appear in reports -->
<screenName name="com.gokhanyavas.MainActivity">
MainActivity
</screenName>
<!-- Kendi izleme id'nizi yazmayi unutmayin. -->
<string name="ga_trackingId">UA-123456788-7</string>
</resources>
ecommerce_tracker.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<integer name="ga_sessionTimeout">30</integer>
<!-- Kendi izleme id'niz. -->
<string name="ga_trackingId">UA-123456788-7</string>
</resources>
Son olarak AndroidManifest.xml'i düzenlemeniz gerekmekte :
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.gokhanyavas.analyticsexample" >
<!-- Google Analytics required permissions -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- Optional permission for reliable local dispatching on non-Google Play devices -->
<uses-permission android:name="android.permission.WAKE_LOCK" />
<application
android:name=".App"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<meta-data
android:name="com.google.android.gms.analytics.globalConfigResource"
android:resource="@xml/analytics_global_config" />
<!-- Optionally, register AnalyticsReceiver and AnalyticsService to support background
dispatching on non-Google Play devices -->
<receiver android:name="com.google.android.gms.analytics.AnalyticsReceiver"
android:enabled="true">
<intent-filter>
<action android:name="com.google.android.gms.analytics.ANALYTICS_DISPATCH" />
</intent-filter>
</receiver>
<service android:name="com.google.android.gms.analytics.AnalyticsService"
android:enabled="true"
android:exported="false"/>
<!-- Optionally, register CampaignTrackingReceiver and CampaignTrackingService to enable
installation campaign reporting -->
<receiver android:name="com.google.android.gms.analytics.CampaignTrackingReceiver"
android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
<service android:name="com.google.android.gms.analytics.CampaignTrackingService" />
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Sonuç : Herşey tamamsa uygulamanızı çalıştırın. Analytics Console’u açın. Raporlama sekmesinden Gerçek Zamanlı sekmesinde Genel Bakış sekmesine tıklayın. Yaklaşık 5-20 dk arasında veriler gelmeye başlayacaktır.
Bir başka yazıda görüşmek üzere ;)[dt_button size="small" style="default" animation="none" color_mode="default" icon="" icon_align="left" color="" link="https://github.com/gokhanyavas/AnalyticsExample" target_blank="true"]GitHub[/dt_button]

--

--