Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Ö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.
Uygulamanızda SDK'yı henüz ayarlamadıysanız WPF/WinForms Kullanmaya Başlama veya UWP/WinUI Kullanmaya Başlama bölümünü (platformunuza göre) izleyin.
Bu sayfadaki yönergeler UWP (Xamarin.Forms ve WinUI dahil), WPF ve WinForms için çalışır.
Oturum ve cihaz bilgileri
Uygulamanıza App Center Analytics'i ekleyip SDK'yı başlattıktan sonra, oturumları ve işletim sistemi sürümü, model vb. cihaz özelliklerini otomatik olarak izler.
Uyarı
WinUI uygulamalarında, yaşam döngüsünün özellikleri nedeniyle oturumların miktarı UWP uygulamalarından daha düşük olabilir.
Ülke Kodu
Ülke kodu SDK tarafından otomatik olarak bildirilmez. El ile bildirmek istiyorsanız aşağıdaki platformunuzun yönergelerini izleyebilirsiniz.
Evrensel Windows Platformu (UWP)
- Uygulamanız için Konum Özelliğini etkinleştirdiğinizden emin olun.
- Bing Haritalar Kimlik Doğrulama Anahtarı alın.
- çağrısı
AppCenter.Start(... typeof(Analytics) ...);yapmadan önce aşağıdaki kodu herhangi bir yerde kullanın. olarakBingMapsToken, 2. adımda elde edilen anahtarı kullanın.
private static async Task SetCountryCode()
{
// The following country code is used only as a fallback for the main implementation.
// This fallback country code doesn't reflect the physical device location, but rather the
// country that corresponds to the culture it uses.
var countryCode = new GeographicRegion().CodeTwoLetter;
var accessStatus = await Geolocator.RequestAccessAsync();
switch (accessStatus)
{
case GeolocationAccessStatus.Allowed:
var geoLocator = new Geolocator
{
DesiredAccuracyInMeters = 100
};
var position = await geoLocator.GetGeopositionAsync();
var myLocation = new BasicGeoposition
{
Longitude = position.Coordinate.Point.Position.Longitude,
Latitude = position.Coordinate.Point.Position.Latitude
};
var pointToReverseGeocode = new Geopoint(myLocation);
MapService.ServiceToken = Constants.BingMapsAuthKey;
var result = await MapLocationFinder.FindLocationsAtAsync(pointToReverseGeocode);
if (result.Status != MapLocationFinderStatus.Success || result.Locations == null || result.Locations.Count == 0)
{
break;
}
// The returned country code is in 3-letter format (ISO 3166-1 alpha-3).
// Below we convert it to ISO 3166-1 alpha-2 (two letter).
var country = result.Locations[0].Address.CountryCode;
countryCode = new GeographicRegion(country).CodeTwoLetter;
break;
case GeolocationAccessStatus.Denied:
AppCenterLog.Info(LogTag, "Geolocation access denied. To set country code in App Center, enable location service in Windows 10.");
break;
case GeolocationAccessStatus.Unspecified:
break;
}
AppCenter.SetCountryCode(countryCode);
}
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.
WPF/WinForms
WPF/WinForms platformlarında Coğrafi Konum API'si olmadığından sistem ülke kodu kullanabilirsiniz.
using System.Globalization;
private static void SetCountryCode()
{
// This fallback country code doesn't reflect the physical device location, but rather the
// country that corresponds to the culture it uses.
var countryCode = RegionInfo.CurrentRegion.TwoLetterISORegionName;
AppCenter.SetCountryCode(countryCode);
}
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, olay adı başına en fazla 256 karakter, olay özellik adı ve olay özelliği değeri başına 125 karakter sınırı vardır.
Analytics.TrackEvent("Video clicked", new Dictionary<string, string> {
{ "Category", "Music" },
{ "FileName", "favorite.avi"}
});
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");
Ç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.SetEnabledAsync(false);
App Center Analytics'i yeniden etkinleştirmek için aynı API'yi kullanın ancak parametre olarak geçirin true .
Analytics.SetEnabledAsync(true);
Diğer API çağrılarını (örneğin IsEnabledAsync) tutarlı hale getirmek için bu çağrıyı beklemeniz gerekmez.
Durum, uygulama başlatmaları arasında cihazın depolama alanında kalıcı olur.
App Center Analytics'in etkinleştirilip etkinleştirilmediğini denetleyin
App Center Analytics'in etkinleştirilip etkinleştirilmediğini de de kontrol edebilirsiniz.
bool isEnabled = await Analytics.IsEnabledAsync();
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();
- Ardından,
StartSessionAPI'yiAppCenter.Startsonra kullanabilirsiniz.
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ük kaydeder. Depolama alanı dolduktan sonra SDK, yeni günlüklere yer açmak için eski günlükleri atmaya başlar. Cihaz İnternet erişimini geri aldıktan sonra SDK günlükleri 50 toplu iş olarak veya her 6 saniyede bir gönderir.
Olay günlüklerini toplu iş oluşturma
App Center SDK'sı günlükleri 50 toplu iş olarak karşıya yükler ve SDK'nın göndereceği 50 günlük yoksa, 6 saniye sonra günlükleri göndermeye devam eder. Paralel olarak gönderilen en fazla üç toplu iş olabilir.
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ığı
- Başlangıçta 50% rastgeleleme, ardından ilk yeniden deneme 5 saniye ile 10 saniye arasında, ikinci yeniden deneme 2,5 ile 5 dakika arasında ve son deneme 10 ile 20 dakika arasında yapılır.
- 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.