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

  1. 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();
      
  2. 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 metode

    AppCenter.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 panggilan Application.OnCreate balik sebagai gantinya.

    Xamarin.iOS:

    Buka file proyek AppDelegate.cs dan tambahkan panggilan di Start()FinishedLaunching() dalam metode

    AppCenter.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 dalam OnStart() 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.

  3. [Hanya untuk mendistribusikan iOS] Mengubah file Info.plist proyek

    • Tambahkan kunci baru untuk URL types atau CFBundleURLTypes di file Info.plist Anda (jika Xcode menampilkan Info.plist Anda sebagai kode sumber).
    • Ubah kunci item anak pertama menjadi URL Schemes atau CFBundleURLSchemes.
    • 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.

  4. 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.