Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Penting
Visual Studio App Center dihentikan pada 31 Maret 2025, kecuali untuk fitur Analitik dan Diagnostik, yang akan terus didukung hingga 30 Juni 2026. Pelajari lebih lanjut.
App Center Analytics membantu Anda memahami perilaku pengguna dan keterlibatan pelanggan untuk meningkatkan aplikasi Anda. SDK secara otomatis menangkap jumlah sesi dan properti perangkat seperti model, versi OS, dll. Anda dapat menentukan peristiwa kustom Anda sendiri untuk mengukur hal-hal yang penting bagi Anda. Semua informasi yang diambil tersedia di portal App Center bagi Anda untuk menganalisis data.
Ikuti bagian Memulai WPF/WinForms atau Memulai UWP/WinUI (berdasarkan platform Anda) jika Anda belum menyiapkan SDK di aplikasi Anda.
Instruksi di halaman ini berfungsi untuk UWP (termasuk Xamarin.Forms dan WinUI), WPF, dan WinForms.
Informasi sesi dan perangkat
Setelah Anda menambahkan App Center Analytics ke aplikasi dan memulai SDK, app Center Analytics akan secara otomatis melacak sesi dan properti perangkat seperti Versi OS, model, dll.
Nota
Pada aplikasi WinUI, jumlah sesi mungkin lebih rendah daripada pada aplikasi UWP karena spesifik siklus hidupnya.
Kode Negara
Kode negara tidak dilaporkan secara otomatis oleh SDK. Jika Anda ingin melaporkannya secara manual, Anda dapat mengikuti instruksi untuk platform Anda di bawah ini.
UWP (Universal Windows Platform)
- Pastikan Anda mengaktifkan Kemampuan Lokasi untuk aplikasi Anda.
- Dapatkan Kunci Autentikasi Bing Maps.
- Gunakan kode berikut di mana saja sebelum Anda memanggil
AppCenter.Start(... typeof(Analytics) ...);. SebagaiBingMapsToken, gunakan kunci yang diperoleh di langkah 2.
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);
}
Nota
Agar kode negara ditampilkan pada sesi Analitik, AppCenter.SetCountryCode harus dipanggil sebelum memanggil AppCenter.Start.
WPF/WinForms
Karena platform WPF/WinForms tidak memiliki API Geolokasi, Anda dapat menggunakan kode negara sistem.
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);
}
Nota
Agar kode negara ditampilkan pada sesi Analitik, AppCenter.SetCountryCode harus dipanggil sebelum memanggil AppCenter.Start.
Peristiwa kustom
Anda dapat melacak peristiwa kustom Anda sendiri dengan hingga 20 properti untuk memahami interaksi antara pengguna dan aplikasi Anda.
Setelah Anda memulai SDK, gunakan TrackEvent() metode untuk melacak peristiwa Anda dengan properti. Anda dapat mengirim hingga 200 nama peristiwa yang berbeda. Selain itu, ada batas maksimum 256 karakter per nama peristiwa dan 125 karakter per nama properti peristiwa dan nilai properti peristiwa.
Analytics.TrackEvent("Video clicked", new Dictionary<string, string> {
{ "Category", "Music" },
{ "FileName", "favorite.avi"}
});
Properti untuk peristiwa sepenuhnya opsional - jika Anda hanya ingin melacak peristiwa, gunakan sampel ini sebagai gantinya:
Analytics.TrackEvent("Video clicked");
Mengaktifkan atau menonaktifkan App Center Analytics saat runtime
Anda dapat mengaktifkan dan menonaktifkan App Center Analytics saat runtime. Jika Anda menonaktifkannya, SDK tidak akan mengumpulkan informasi analitik lagi untuk aplikasi.
Analytics.SetEnabledAsync(false);
Untuk mengaktifkan kembali Analitik App Center, gunakan API yang sama tetapi masukkan true sebagai parameter.
Analytics.SetEnabledAsync(true);
Anda tidak perlu menunggu panggilan ini agar panggilan API lain (seperti IsEnabledAsync) konsisten.
Status ini bertahan di penyimpanan perangkat di seluruh peluncuran aplikasi.
Periksa apakah App Center Analytics diaktifkan
Anda juga dapat memeriksa apakah App Center Analytics diaktifkan atau tidak.
bool isEnabled = await Analytics.IsEnabledAsync();
Mengelola sesi mulai
Secara default, ID sesi tergantung pada siklus hidup aplikasi. Jika Anda ingin mengontrol awal sesi baru secara manual, ikuti langkah-langkah berikutnya:
Nota
Perhatikan bahwa setiap panggilan API Analytics.StartSession() akan menghasilkan sesi baru. Jika dalam mode pelacak sesi manual, API ini tidak akan dipanggil maka semua log pengiriman akan memiliki nilai sesi null.
Nota
Perhatikan bahwa setelah aplikasi baru meluncurkan id sesi akan diregenerasi.
- Panggil metode berikut sebelum SDK dimulai:
Analytics.EnableManualSessionTracker();
- Kemudian Anda dapat menggunakan
StartSessionAPI setelahAppCenter.Start:
Analytics.StartSession();
Ukuran penyimpanan lokal
Secara default, SDK menyimpan semua log peristiwa hingga 10 MB. Pengembang dapat menggunakan API untuk meningkatkan ukuran penyimpanan dan SDK akan terus menyimpan log hingga penyimpanan penuh.
Tidak ada akses internet
Ketika tidak ada konektivitas jaringan, SDK menyimpan hingga 10 MB log di penyimpanan lokal. Setelah penyimpanan penuh, SDK akan mulai membuang log lama untuk memberi ruang bagi log baru. Setelah perangkat mendapatkan akses internet kembali, SDK akan mengirim log dalam batch 50 atau setelah setiap 6 detik.
Pengelompokan catatan peristiwa
App Center SDK mengunggah log dalam batch 50 dan jika SDK tidak memiliki 50 log untuk dikirim, SDK masih akan mengirim log setelah 6 detik. Mungkin ada maksimal tiga batch yang dikirim secara paralel.
Coba lagi dan logika penundaan
App Center SDK mendukung percobaan ulang dengan penundaan sementara pada kesalahan jaringan yang dapat diperbaiki. Di bawah ini adalah logika coba lagi:
- Maksimum 3 percobaan per permintaan.
- Setiap permintaan memiliki mesin status coba lagi sendiri.
- Semua saluran transmisi dinonaktifkan (hingga proses aplikasi berikutnya) setelah satu permintaan habis semua kesempatan pengulangannya.
Logika penundaan
- 50% pengacakan, coba lagi pertama antara 5 dan 10 detik, coba lagi kedua antara 2,5 dan 5 menit, terakhir coba antara 10 dan 20 menit.
- Jika jaringan beralih dari nonaktif ke aktif (atau dari wi-fi ke seluler), status coba lagi diatur ulang dan permintaan segera dicoba ulang.