App Center Analytics (Android)
Önemli
Visual Studio App Center 31 Mart 2025'te kullanımdan kaldırılıyor. Tamamen kullanımdan kaldırılana kadar Visual Studio App Center'ı kullanmaya devam edebilirsiniz ancak geçiş yapmayı düşünebileceğiniz birkaç önerilen alternatif vardır.
Destek zaman çizelgeleri ve alternatifleri hakkında daha fazla bilgi edinin.
App Center Analytics, uygulamanızı geliştirmek için kullanıcı davranışını ve müşteri katılımını anlamanıza yardımcı olur. SDK, oturum sayısını ve model, işletim sistemi sürümü gibi cihaz özelliklerini otomatik olarak yakalar. Sizin için önemli olan şeyleri ölçmek için kendi özel olaylarınızı tanımlayabilirsiniz. Yakalanan tüm bilgileri App Center portalında kullanarak verileri analiz edebilirsiniz.
Sdk'yı uygulamanızda henüz ayarlamadıysanız SDK Kullanmaya Başlama bölümünü izleyin.
Uygulamanıza App Center Analytics'i ekleyip SDK'yı başlattıktan sonra, ek kod yazmadan oturumları ve işletim sistemi sürümü, model vb. cihaz özelliklerini otomatik olarak izler.
Cihazda mobil veri modemi ve SIM kart yüklüyse SDK kullanıcının ülke kodunu otomatik olarak bildirir. Yalnızca WiFi kullanan cihazlar varsayılan olarak ülke kodunu raporlamaz. Bu kullanıcıların ülke kodunu ayarlamak için kullanıcınızın konumunu kendiniz almanız ve SDK'da yöntemini kullanmanız setCountryCode:
gerekir:
AppCenter.setCountryCode("en");
AppCenter.setCountryCode("en")
Not
Ülke kodunun Analytics oturumlarında görüntülenmesi için çağrıdan AppCenter.setCountryCode
AppCenter.start
önce çağrılması gerekir.
Kullanıcılarınızla uygulama arasındaki etkileşimi anlamak için en fazla 20 özelliğe sahip kendi özel olaylarınızı izleyebilirsiniz.
SDK'yı başlattıktan sonra, özelliklerini kullanarak olaylarınızı izlemek için yöntemini kullanın trackEvent()
. En fazla 200 ayrı olay adı gönderebilirsiniz. Ayrıca, maksimum karakter sınırları vardır:
- başına
event name
256 karakter. - &
event property value
başınaevent property name
125 karakter.
Map<String, String> properties = new HashMap<>();
properties.put("Category", "Music");
properties.put("FileName", "favorite.avi");
Analytics.trackEvent("Video clicked", properties);
val properties = hashMapOf("Category" to "Music", "FileName" to "favorite.avi")
Analytics.trackEvent("Video clicked", properties)
Olayların özellikleri tamamen isteğe bağlıdır; yalnızca bir olayı izlemek istiyorsanız, bunun yerine şu örneği kullanın:
Analytics.trackEvent("Video clicked");
Analytics.trackEvent("Video clicked")
Diğer olaylardan daha yüksek öneme sahip iş açısından kritik olayları izleyebilirsiniz.
- Geliştiriciler olayların önceliğini Normal (
Flags.NORMAL
API'de) veya Kritik (Flags.CRITICAL
API'de) olarak ayarlayabilir. - Önceliği Kritik olarak ayarlanan olaylar önce depolama alanından alınır ve Normal olaylardan önce gönderilir.
- Yerel depolama alanı dolu olduğunda ve yeni olayların depolanması gerektiğinde, önce en düşük önceliğe sahip en eski olaylar silinir.
- Depolama Kritik önceliğe sahip günlüklerle doluysa SDK bu durumda yer açamadığını için Normal önceliğe sahip bir olayı izleme işlemi başarısız olur.
- Kilitlenmeler hizmetini de kullanıyorsanız kilitlenme günlükleri Kritik olarak ayarlanır ve olaylarla aynı depolama alanını paylaşır.
- İletim aralığı yalnızca Normal olaylara uygulanır, Kritik olaylar 3 saniye sonra gönderilir.
Bir olayı Kritik olarak izlemek için aşağıdaki API'yi kullanabilirsiniz:
Map<String, String> properties = new HashMap<>();
properties.put("Category", "Music");
properties.put("FileName", "favorite.avi");
Analytics.trackEvent("eventName", properties, Flags.CRITICAL);
// If you're using name only, you can pass null as properties.
val properties = hashMapOf("Category" to "Music", "FileName" to "favorite.avi")
Analytics.trackEvent("Video clicked", properties, Flags.CRITICAL)
// If you're using name only, you can pass null as properties.
Olay iletimini duraklatmak, uygulamanın iş açısından daha kritik gereksinimler için ağ bant genişliğini denetlemesi gereken senaryolarda yararlı olabilir. Günlükleri App Center arka ucuna göndermeyi duraklatabilirsiniz. Duraklatıldığında, olaylar yine izlenip kaydedilebilir, ancak hemen gönderilmez. Uygulamanızın duraklatılırken izlediği tüm olaylar yalnızca çağrısı resume
yaptıktan sonra gönderilir.
Analytics.pause();
Analytics.resume();
Analytics.pause()
Analytics.resume()
App Center Analytics'i çalışma zamanında etkinleştirebilir ve devre dışı bırakabilirsiniz. Devre dışı bırakırsanız SDK, uygulama için daha fazla analiz bilgisi toplamaz.
Analytics.setEnabled(false);
Analytics.setEnabled(false)
App Center Analytics'i yeniden etkinleştirmek için aynı API'yi kullanın ancak parametre olarak geçirin true
.
Analytics.setEnabled(true);
Analytics.setEnabled(true)
Durum, uygulama başlatmaları arasında cihazın depolama alanında kalıcı hale getirilir.
Bu API zaman uyumsuzdur. App Center Zaman Uyumsuz API'ler kılavuzumuzda bu konuda daha fazla bilgi edinebilirsiniz.
Not
Bu yöntem yalnızca başlatıldıktan sonra Analytics
kullanılmalıdır.
App Center Analytics'in etkinleştirilip etkinleştirilmediğini de de kontrol edebilirsiniz.
Analytics.isEnabled();
Analytics.isEnabled()
Bu API zaman uyumsuzdur. App Center Zaman Uyumsuz API'ler kılavuzumuzda bu konuda daha fazla bilgi edinebilirsiniz.
Not
Bu yöntem yalnızca başlatıldıktan sonra Analytics
kullanılmalıdır; her zaman başlamadan önce döndürülecektir false
.
Varsayılan olarak, oturum kimliği uygulamanın yaşam döngüsüne bağlıdır. Yeni oturumun başlangıcını el ile denetlemek istiyorsanız, sonraki adımları izleyin:
Not
Analytics.StartSession() API'sinin her çağrısının yeni bir oturum oluşturacağını dikkate alın. El ile oturum izleyici modunda bu API çağrılmazsa, tüm gönderen günlükler null oturum değerine sahip olur.
Not
Yeni bir uygulama başlatıldıktan sonra oturum kimliğinin yeniden oluşturulacağını dikkate alın.
- SDK başlamadan önce aşağıdaki yöntemi çağırın:
Analytics.enableManualSessionTracker();
Analytics.enableManualSessionTracker()
- Ardından api'yi
startSession
şundan sonraAppCenter.start
kullanabilirsiniz:
Analytics.startSession();
Analytics.startSession()
Varsayılan olarak SDK, tüm olay günlüklerini 10 MB'a kadar depolar. Geliştiriciler depolama boyutunu artırmak için bir API kullanabilir ve SDK, depolama alanı dolana kadar günlükleri depolamaya devam eder.
Ağ bağlantısı olmadığında SDK, yerel depolama alanına 10 MB'a kadar günlük kaydeder. Depolama alanı dolduktan sonra SDK, yeni günlüklere yer açmak için eski günlükleri atmaya başlar. Ağ bağlantısı döndükten sonra SDK günlükleri 50 toplu iş olarak veya her 6 saniyede bir (varsayılan olarak) gönderir.
Not
25 günden eski günlükler arka uç tarafından kabul edilmeyecektir.
App Center SDK günlükleri 50 toplu iş olarak karşıya yükler ve SDK'nın gönderilecek 50 günlüğü yoksa, 6 saniye sonra (varsayılan olarak) günlükleri göndermeye devam eder. Paralel olarak gönderilen en fazla üç toplu iş olabilir. İletim aralığı değiştirilebilir:
// Change transmission interval to 10 seconds.
Analytics.setTransmissionInterval(10000);
// Change transmission interval to 10 seconds.
Analytics.setTransmissionInterval(10000)
İletim aralığı değeri 6 saniye ile 86400 saniye (bir gün) arasında olmalıdır ve hizmet başlatılmadan önce bu yöntem çağrılmalıdır.
App Center SDK kurtarılabilir ağ hatalarında geri alma yeniden denemelerini destekler. Yeniden deneme mantığı aşağıda verilmiştir:
- İstek başına en fazla 3 deneme.
- Her isteğin kendi yeniden deneme durum makinesi vardır.
- Bir istek tüm yeniden denemelerini tükettiğinde tüm iletim kanalları devre dışı bırakılır (sonraki uygulama işlemine kadar).
Geri kapatma mantığı
- %50 rastgelelik, önce 5 ile 10 saniye arasında yeniden deneyin, sonra 2,5 ile 5 dakika arasında deneyin, son deneme 10 ile 20 dakika arasında.
- Ağ kapalıdan açık (veya wi-fi'den mobil ağa) geçerse yeniden deneme durumları sıfırlanır ve istekler hemen yeniden denenır.