15. "Bütün startuplar çok kötü
fikirlerle yola çıkarlar. Ancak
başarılı startuplar fikirlerinin çok
kötü olduğunu anlayıp çok
geçmeden fikirlerini değiştirirler"
22. Google Analytics Mobile SDK
●
Mobile özgü ekstra bilgiler
●
Ekran ( sayfa yerine )
●
Google Play entegrasyonu
●
Hata raporları
●
Uygulama hızı
●
Satış gelirleri
●
Uygulama içi satın almalar
23. Entegrasyon – Başlamadan Önce
●
●
●
Entegrasyon yapabileceğiniz bir uygulama
Google Analytics SDK for Android v3'nın
indirilerek, libGoogleAnalyticsServices.jar
dosyasının libs dizinine konup build patha
eklenmesi
Mobil uygulamalar için açılmış yeni bir Google
Analytics hesabı
24. Son Versiyonu Kullandığından
Emin Ol
●
Aktif olarak geliştirilmesi devam ediyor
●
Hala Beta'da
●
V1, V2, V3
●
Eğer eski bir versiyon kullanıyorsan migration
dokümanları mevcut.
26. Activitylere Easy Tracker
Komutlarının Eklenmesi
public void onStart() {
super.onStart();
... // The rest of your onStart() code.
EasyTracker.getInstance(this).activityStart(this); Add this method.
//
}
public void onStop() {
super.onStop();
... // The rest of your onStop() code.
EasyTracker.getInstance(this).activityStop(this); Add this method.
//
}
28. Ekran Görüntüleme Mesajlarının
Otomatik Olarak Gönderilmesi
<-- Enable automatic Activity measurement -->
<bool name="ga_autoActivityTracking">true</bool>
<-- The screen names that will appear in reports -->
<string name="com.example.app.BaseActivity">Home</string>
<string
name="com.example.app.PrefsActivity">Preferences</string>
29. Ekran Görüntüleme Mesajlarının
Manuel Olarak Gönderilmesi
Tracker easyTracker = EasyTracker.getInstance(this);
easyTracker.set(Fields.SCREEN_NAME, "Home Screen");
easyTracker.send(MapBuilder
.createAppView()
.build()
);
33. Yakalanan Hata Raporlarının
Gönderilmesi
try {
// Request some scores from the network.
ArrayList highScores = getHighScoresFromCloud();
} catch (IOException e) {
EasyTracker easyTracker = EasyTracker.getInstance(this);
easyTracker.send(MapBuilder.createException(new
StandardExceptionParser(this, null)
.getDescription(Thread.currentThread().getName(), e),false).build()
);
34. Özel Hataların Takip Edilmesi
●
GA event mekanizması kullanılabilir
●
Videonun play etmemesi
●
Fotoğrafın yüklenmesi
●
API'nin cevap vermemesi ( 404, 502 )
●
API'nin boş cevap dönmesi
35. Özel Hataların Takip Edilmesi
public void onError(View v, String error_action, String error_label ) {
EasyTracker easyTracker = EasyTracker.getInstance(this);
easyTracker.send(MapBuilder
.createEvent("error", // Event category (required)
error_action, // Event action (required)
error_label, // Event label
null) // Event value
.build()
);
}
onError("video_play_error","502");
onError("api_error","user_not_found");
36. Uygulama Hızının Ölçülmesi
●
Video start süresi
●
Fotoğrafların yükleme süresi
●
Web servisin cevap verme süresi
●
Kullanıcının herhangi bir aksiyona cevap verme
süresi
37. Uygulama Hızının Ölçülmesi
public void onLoad(long loadTime) {
Tracker easyTracker = EasyTracker.getInstance(this);
easyTracker.send(MapBuilder
.createTiming("resources", // Timing category (required)
loadTime, // Timing interval in milliseconds
(required)
"high scores", // Timing name
null) // Timing label
.build()