Migrasi dari HockeySDK ke App Center Xamarin SDK
Penting
Visual Studio App Center dijadwalkan untuk dihentikan pada 31 Maret 2025. Meskipun Anda dapat terus menggunakan Visual Studio App Center hingga sepenuhnya dihentikan, ada beberapa alternatif yang direkomendasikan yang dapat Anda pertimbangkan untuk bermigrasi.
Pelajari selengkapnya tentang garis waktu dukungan dan alternatif.
Ikuti dokumentasi ini jika Anda ingin memperbarui aplikasi untuk menggunakan App Center SDK alih-alih HockeySDK.
1. Perbarui pustaka
Ganti paket HockeySDK.Xamarin NuGet dengan paket App Center di semua proyek dalam solusi Anda.
Visual Studio untuk Mac
- Buka Visual Studio untuk Mac.
- Klik Buka File> dan pilih solusi Anda.
- Di navigator solusi, klik kanan bagian Paket , dan pilih Tambahkan paket NuGet....
- Hapus paket HockeySDK.Xamarin .
- Cari App Center, dan pilih App Center Analytics, App Center Crashes, dan App Center Distribute.
- Klik Tambahkan Paket.
Visual Studio untuk Windows
- Buka Visual Studio untuk Windows.
- Klik Buka File> dan pilih solusi Anda.
- Di navigator solusi, klik kanan Referensi dan pilih Kelola Paket NuGet.
- Hapus paket HockeySDK.Xamarin .
- Cari App Center, dan instal paket Microsoft.AppCenter.Analytics, Microsoft.AppCenter.Crashes, dan Microsoft.AppCenter.Distribute .
Konsol Manajer Paket
- Buka konsol di Visual Studio. Untuk melakukannya, pilih Alat>NuGet Package Manager>Package Manager Console.
- Jika Anda bekerja di Visual Studio untuk Mac, pastikan Anda telah menginstal Ekstensi Manajemen Paket NuGet. Untuk ini, pilihEkstensiVisual Studio>, cari NuGet dan instal, jika perlu.
- Ketik perintah berikut di konsol:
Uninstall-Package HockeySDK.Xamarin
Install-Package Microsoft.AppCenter.Analytics
Install-Package Microsoft.AppCenter.Crashes
Install-Package Microsoft.AppCenter.Distribute
App Center SDK dirancang dengan pendekatan modular – Anda hanya dapat mengintegrasikan layanan yang Anda minati. Setiap modul SDK perlu ditambahkan sebagai dependensi terpisah di bagian ini. Lihat kesetaraan dalam tabel berikutnya:
Kelas HockeyApp | Modul App Center |
---|---|
MetricsManager |
Analytics |
CrashManager |
Crashes |
UpdateManager |
Distribute |
2. Perbarui kode penyiapan SDK
2.1 Mengonversi pengidentifikasi aplikasi
App Center SDK menggunakan pengidentifikasi aplikasi dalam format pengidentifikasi unik global (GUID). ID Aplikasi HockeyApp Anda dapat digunakan oleh App Center tetapi Anda perlu mengonversinya ke format yang berbeda. Untuk mengonversi pengidentifikasi, Anda harus menambahkan empat tanda hubung untuk mendapatkan representasi 8-4-4-4-12.
Sebelum (HockeyApp): 00112233445566778899aabbccddeeff
Setelah (Pusat Aplikasi): 00112233-4455-6677-8899-aabbccddeeff
2.2 Mengganti inisialisasi SDK dalam kode aplikasi
Hapus kode pendaftaran HockeyApp lama.
Xamarin.Android - Buka MainActivity.cs proyek dan hapus baris di bawah ini:
using HockeyApp.Android; ... CrashManager.Register(this, "APP_IDENTIFIER"); MetricsManager.Register(Application, "APP_IDENTIFIER"); UpdateManager.Register(this, "APP_IDENTIFIER");
Hapus atribut tingkat rakitan berikut di Properti/AssemblyInfo.cs:
[assembly: MetaData ("net.hockeyapp.android.appIdentifier", Value="APP_IDENTIFIER")]
Xamarin.iOS - Buka AppDelegate.cs proyek dan hapus baris di bawah ini:
using HockeyApp.iOS; ... var manager = BITHockeyManager.SharedHockeyManager; manager.Configure("APP_IDENTIFIER"); manager.StartManager(); manager.Authenticator.AuthenticateInstallation();
Memulai SDK App Center
- Kode inisialisasi yang disebutkan kemudian di bagian ini memerlukan penambahan baris berikut di bawah pernyataan yang ada
using
:
using Microsoft.AppCenter; using Microsoft.AppCenter.Analytics; using Microsoft.AppCenter.Crashes; using Microsoft.AppCenter.Distribute;
Xamarin.Android:
Buka file MainActivity.cs proyek dan tambahkan panggilan di
Start()
OnCreate()
dalam metodeAppCenter.Start("{Your App Secret}", typeof(Analytics), typeof(Crashes), typeof(Distribute));
Catatan
Jika aplikasi Anda memiliki layanan latar belakang atau beberapa titik masuk seperti penerima siaran, aktivitas yang diekspor, atau penyedia konten, disarankan untuk memulai
AppCenter
panggilanApplication.OnCreate
balik sebagai gantinya.Xamarin.iOS:
Buka file proyek
AppDelegate.cs
dan tambahkan panggilan diStart()
FinishedLaunching()
dalam metodeAppCenter.Start("{Your App Secret}", typeof(Analytics), typeof(Crashes), typeof(Distribute));
Catatan
Jika menggunakan Crash, Anda harus memanggil metode ini di UI/utas utama dan menghindari memulai tugas latar belakang hingga
Start
metode kembali. Alasannya adalah bahwa setiap pengecualian referensi null yang tertangkap dari utas lain saat Crash sedang menginisialisasi dapat memicu crash asli dan mengabaikan klausul tangkapan.AppCenter.Start
Setelah metode kembali, aman untuk mencoba/menangkap pengecualian referensi null lagi. Anda dapat membaca selengkapnya tentang penyebab masalah waktu ini di artikel Signals dan wartawan crash pihak ketiga .Xamarin.Forms:
Untuk menggunakan aplikasi Xamarin.Forms yang menargetkan platform iOS, Android, dan UWP, Anda perlu membuat tiga aplikasi di portal App Center - satu untuk setiap platform. Membuat tiga aplikasi akan memberi Anda tiga rahasia Aplikasi - satu untuk masing-masing aplikasi. Buka file App.xaml.cs proyek (atau kelas Anda yang mewarisi dari
Xamarin.Forms.Application
) di proyek bersama atau portabel Anda dan tambahkan metode di bawah ini dalamOnStart()
metode .AppCenter.Start("ios={Your App Secret};android={Your App Secret}", typeof(Analytics), typeof(Crashes), typeof(Distribute));
Penting
Kurung kurawal hanya untuk mendeklarasi bahwa Anda harus mengganti konten tersebut dengan rahasia aplikasi yang sebenarnya, jangan letakkan kurung kurawal dalam
Start
panggilan.Catatan
Jika Anda menggunakan HockeyApp SDK untuk Android, pastikan untuk menginisialisasi HockeyApp SDK SETELAH App Center SDK. Untuk aplikasi iOS Anda, tidak dimungkinkan untuk memiliki lebih dari satu SDK pelaporan crash aktif di aplikasi Anda. Nonaktifkan fungsionalitas pelaporan crash SDK lainnya untuk memastikan App Center dapat mengalami crash.
Catatan
Catatan dari bagian sebelumnya tentang iOS dan Android juga berlaku untuk Xamarin.Forms. Jika keterangan tersebut berlaku untuk aplikasi Anda, Anda mungkin perlu menginisialisasi AppCenter di tempat yang berbeda per platform.
- Kode inisialisasi yang disebutkan kemudian di bagian ini memerlukan penambahan baris berikut di bawah pernyataan yang ada
[Hanya untuk mendistribusikan iOS] Mengubah file Info.plist proyek
- Tambahkan kunci baru untuk
URL types
atauCFBundleURLTypes
di file Info.plist Anda (jika Xcode menampilkan Info.plist Anda sebagai kode sumber). - Ubah kunci item anak pertama menjadi
URL Schemes
atauCFBundleURLSchemes
. - Masukkan
appcenter-${Your App Secret}
sebagai skema URL dan ganti${Your App Secret}
dengan Rahasia Aplikasi aplikasi Anda.
Untuk informasi selengkapnya tentang ini, lihat dokumentasi Distribusi App Center.
- Tambahkan kunci baru untuk
Ganti semua panggilan HockeyApp API di seluruh aplikasi. Tabel pemetaan API terperinci diberikan di bawah ini.
3. Perbandingan layanan dan fitur
Core
Fitur | HockeyApp | Pusat Aplikasi |
---|---|---|
Menyesuaikan tingkat log | SharedHockeyManager.LogLevel (iOS) atau HockeyLog.LogLevel (Android) |
AppCenter.LogLevel |
Mengidentifikasi penginstalan | Hanya iOS | AppCenter.GetInstallIdAsync |
Mengidentifikasi pengguna | Hanya crash | AppCenter.SetUserId |
Analitik
Fitur | HockeyApp | Pusat Aplikasi |
---|---|---|
Melacak sesi secara otomatis | Ya, hanya dapat dinonaktifkan di Android | Dokumentasi (tidak dapat dinonaktifkan) |
Peristiwa kustom dengan properti | HockeyApp.MetricsManager.TrackEvent |
Analytics.TrackEvent |
Menonaktifkan layanan saat runtime | MetricsManager.DisableUserMetrics (Android) atau SharedHockeyManager.DisableMetricsManager (iOS) |
Analytics.SetEnabledAsync |
Crash
Fitur | HockeyApp | Pusat Aplikasi |
---|---|---|
Mengirim crash secara otomatis | Dinonaktifkan secara default | Dokumentasi (diaktifkan secara default) |
Membuat crash pengujian | CrashManager.GenerateTestCrash (Hanya iOS) |
Crashes.GenerateTestCrash |
Melampirkan data meta tambahan | Ya | Dokumentasi (dapat dilampirkan dari pendengar) |
Mengkustomisasi dialog pengguna | Ya | Dokumentasi (tidak disediakan secara default) |
Mendapatkan info tentang status pengiriman | Khusus Android | Dokumentasi |
Info tentang crash sebelumnya | CrashManager.GetLastCrashDetails (Android) atau CrashManager.LastSessionCrashDetails (iOS) |
Crashes.GetLastSessionCrashReportAsync |
Menonaktifkan layanan saat runtime | SharedHockeyManager.DisableCrashManager (Hanya iOS) |
Crashes.SetEnabledAsync |
Distribusikan
Catatan
Tidak seperti di HockeyApp, fitur pembaruan dalam aplikasi App Center hanya berfungsi dengan build RILIS (secara default) yang didistribusikan menggunakan layanan Distribusi App Center . Jika aplikasi menggunakan grup distribusi privat, setelah aplikasi diinstal dan dibuka untuk pertama kalinya setelah App Center Distribute SDK ditambahkan, browser akan terbuka untuk mengautentikasi pengguna dan mengaktifkan pembaruan dalam aplikasi. Browser ini juga akan terbuka jika Anda mengatur trek pembaruan dalam aplikasi privat saat runtime. Ini adalah langkah ONE-TIME yang tidak akan terjadi untuk rilis aplikasi Anda berikutnya. Lihat Dokumentasi Distribusi App Center untuk detail selengkapnya.
Fitur | HockeyApp | Pusat Aplikasi |
---|---|---|
Pembaruan dalam aplikasi terbatas | LoginManager.VerifyLogin (Android) atau Authenticator.AuthenticateInstallation (iOS) |
Distribute.UpdateTrack |
Menonaktifkan layanan saat runtime | UpdateManager.Unregister (Android) atau SharedHockeyManager.DisableUpdateManager (iOS) |
Distribute.SetEnabledAsync |
Mengkustomisasi dialog pembaruan | Ya | Distribute.ReleaseAvailable |
Layanan Umpan Balik
Layanan umpan balik tidak akan didukung di App Center. Lihat Umpan balik HockeyApp.