2013-04-13 17 views
5

Uygulamayı yeniden başlattığım her seferinde bilinmeyen bir nedenden dolayıaracılığıyla Google Analytics aracılığıyla olayları ve ekranları bildiren bir yardımcı sınıf kurdum. ve yeni bir kullanıcı olarak olayları.Önemli bir ID.but depolayan gaClientId dosyasını kontrol ettim. Uygulamayı yeniden başlattığımda her defasında aynı olan diğer uygulamalarla karşılaştırıldığında bu dosyada saklanan ID değişiyor. Burada EasyTracker (GA) uygulamasının her bir sürümü yeni kullanıcı olarak bildirildi

benim yardımcı sınıfında kullanmak koddur, ben well.I anlık sevk devre dışı bırakma çalışırken ApplicationContext bağlamını kullanarak denedim unutmayın (ve evet ben onun değil iyi uygulamaların derhal rapor biliyorum)

private static String mLastView = ""; 

public static void sendView(String view,Context ctx) { 

    // Don't report screen twice in a row 
    if(view.equals(mLastView)) return; 

    mLastView = view; 

    EasyTracker.getInstance().setContext(ctx); 
    EasyTracker.getTracker().sendView(view); 
    EasyTracker.getInstance().dispatch(); 
} 

public static void sendEvent(Context ctx,String category,String action,String label,long value){ 

    EasyTracker.getInstance().setContext(ctx); 
    EasyTracker.getTracker().sendEvent(category, action, label, value); 
    EasyTracker.getInstance().dispatch(); 
} 

Güncelleme: Ben work.I, (? ama yazabilir) data/data/com.my.app/files/gaClientId bulunan dosyayı okuma izni sorunu çeşit var sanırım gelmez hala kolay izleyici olmadan GoogleAnalytics sınıfını kullanarak çalıştı, ancak ettik

Güncellenme: Ben bir şey denedim, el ile gaClientId dosyasını okuyabilir, hiçbir sorun, yardımcısı sınıf ile ve olmadan yorgun raporlama, hala uygulamanın her lansmanı yeni bir ClientID oluşturmak.

+0

1. kökünde şey koymayınız yeni bir kullanıcı

TIP oluşturulan yenisini yarattı? 2. Diğer cihazlarda/emülatörlerde test yaptınız mı? – Raanan

+0

Evet, bunu emülatörde ve 10'dan fazla cihazda test ettim. GA V2 Beta 5'in son sürümünü kullanıyorum –

+0

Beta 5 8 gün önce piyasaya sürüldü, beta 4'e geçmeyi denediniz mi? Bu, bir env/kurulum sorunu gibi görünüyor, küçük bir basit test projesi kurmanızı öneririm. – Raanan

cevap

4

Guess what olduğu içinde, 30 saniyedir?data/data/com.my.app/files/gaClientId adresinde bulunan ClientID'yi ve bu klasöre de uygulama indirme dosyasını saklayan bir dosya. Analytics'in çalıştırılması sırasında klasörün üzerinde yürüttüğüm uygulamanın her bir lansmanı ve content.thus öğelerini sildim. gaClientId dosyasını bulmak ve GA SDK kullandığınız files

1

Kolay izleyiciyi kullanıyorum ve bu sorunu anlamıyorum. Sadece koymak etkinlik onCreate() in : İşte i böyle yaparız

gaInstance = GoogleAnalytics.getInstance(this); 
    tracker = gaInstance.getDefaultTracker() 

gaInstance & izci küresel alanlardır. Sonra onStart içinde

() basitçe gibi diyoruz: Bu görünüm için

tracker.sendView("/youractivity"); 

. olay yanı sadece geçerli:

  tracker.sendEvent("String", 
        "String", 
        "String", 
        "long"); 

yapılacak son şey analytics.xml dosyasında oturum zaman aşımı için varsayılan değeri değiştirmek olduğunu. Varsayılan olarak örnek aşağıda 30 dakika

<integer name="ga_sessionTimeout">1800</integer> 
İlgili konular