Aracılığıyla paylaş


App Center Analytics (Android)

Önemli

Visual Studio App Center, 30 Haziran 2026'ya kadar desteklenmeye devam edecek Analiz ve Tanılama özellikleri dışında 31 Mart 2025'te kullanımdan kaldırılmıştır. 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ı henüz uygulamanızda ayarlamadıysanız SDK Kullanmaya başlama bölümünü izleyin.

Oturum ve cihaz bilgileri

Uygulamanıza App Center Analytics ekleyip SDK'yı başlattıktan sonra, ek kod yazmadan oturumları ve işletim sistemi sürümü, model vb. gibi cihaz özelliklerini otomatik olarak izler.

Ülke Kodu

Cihazda mobil veri modem ve SIM kart yüklüyse SDK kullanıcının ülke kodunu otomatik olarak bildirir. Yalnızca WiFi kullanan cihazlar varsayılan olarak bir ü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")

Uyarı

Ülke kodunun Analytics oturumlarında görüntülenmesi için AppCenter.setCountryCode çağrılmadan önce AppCenter.start çağrılmalıdır.

Özel olaylar

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, trackEvent() yöntemini kullanarak öznitelikler ile olaylarınızı izleyin. En fazla 200 ayrı olay adı gönderebilirsiniz. Ayrıca, karakter sınırları üst sınırı da vardır:

  • başına event name256 karakter.
  • & event property nameevent property valuebaşına 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")

Olay önceliği ve kalıcılığı

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 alanı Kritik önceliğe sahip günlüklerle doluysa, SDK bu durumda yer açamadığından Normal önceliğe sahip bir olayı izleme işlemi başarısız olur.
  • Eğer Çökme hizmetini de kullanıyorsanız, çökme 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.

Günlükleri göndermeyi duraklatma ve sürdürme

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 planına göndermeyi duraklatabilirsiniz. Duraklatıldığında, olaylar yine de izlenebilir ve kaydedilebilir, ancak hemen gönderilmez. Uygulamanız duraklatıldığında izlenen tüm olaylar, yalnızca resume çağrıldığında gönderilir.

Analytics.pause();
Analytics.resume();
Analytics.pause()
Analytics.resume()

Çalışma zamanında App Center Analytics'i etkinleştirme veya devre dışı bırakma

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ı olur.

Bu API zaman uyumsuzdur. Bu konuda daha fazla bilgiyi App Center Zaman Uyumsuz API'ler kılavuzumuzdan okuyabilirsiniz.

Uyarı

Analytics başlatıldıktan sonra bu yöntem yalnızca kullanılmalıdır.

App Center Analytics'in etkinleştirilip etkinleştirilmediğini denetleyin

App Center Analytics'in etkinleştirilip etkinleştirilmediğini de de kontrol edebilirsiniz.

Analytics.isEnabled();
Analytics.isEnabled()

Bu API zaman uyumsuzdur. Bu konuda daha fazla bilgiyi App Center Zaman Uyumsuz API'ler kılavuzumuzdan okuyabilirsiniz.

Uyarı

Bu yöntem, Analytics başlatıldıktan sonra kullanılmalıdır, başlamadan önce her zaman false döndürecektir.

Başlangıç oturumlarını yönetme

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:

Uyarı

Analytics.StartSession() API'sinin her çağrısının yeni bir oturum oluşturacağını dikkate alın. El ile oturum takip modu etkinken bu API çağrılmazsa, tüm gönderim günlüklerinin oturum değeri null olur.

Uyarı

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, startSession API'yi AppCenter.start sonra kullanabilirsiniz.
Analytics.startSession();
Analytics.startSession()

Yerel depolama boyutu

Varsayılan olarak SDK, 10 MB'a kadar olan tüm olay günlüklerini depolar. Geliştiriciler depolama boyutunu artırmak için bir API kullanabilir ve SDK depolama alanı dolana kadar günlükleri depolamaya devam eder.

İnternet erişimi yok

Ağ bağlantısı olmadığında SDK, yerel depolama alanına 10 MB'a kadar günlükleri 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ı geri geldiğinde, SDK günlükleri 50'lik partiler halinde veya her 6 saniyede bir (varsayılan olarak) gönderir.

Uyarı

25 günden eski günlükler arka uç tarafından kabul edilmeyecektir.

Olay günlüklerini toplu iş oluşturma

App Center SDK günlükleri 50 günlük halinde karşıya yükler. Eğer SDK'nın gönderecek 50 günlüğü yoksa, yine de günlükleri 6 saniye sonra (varsayılan olarak) gönderir. 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.

Yeniden deneme ve geri kapatma mantığı

App Center SDK'sı 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 bir isteğin kendi yeniden deneme durum yapısı 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 çekilme mantığı

  • Rastgele 50%, önce 5 ile 10 saniye arasında yeniden deneyin, ardından 2,5 ile 5 dakika arasında deneyin, son deneme 10 ile 20 dakika arasında.
  • Ağ kapalıdan açığa (veya wi-fi'dan mobil ağa) geçerse, yeniden deneme durumları sıfırlanır ve istekler hemen yeniden denenir.