Migrasi dari HockeySDK ke App Center SDK untuk iOS

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, bukan HockeySDK.

1. Perbarui pustaka

1.1 Menghapus HockeySDK lama

Manual

Jika Anda telah menambahkan SDK secara manual, ikuti langkah-langkah berikut:

  1. Hapus HockeySDK.embeddedframework referensi dari proyek XCode. Klik tombol Hapus referensi , jangan klik tombol Pindahkan ke Sampah .

  2. Buka pengaturan proyek Anda dan di bawah tab Pengaturan Build di bagianJalur Pencarian Kerangka KerjaJalur / Pencarian Header, hapus lokasi untuk file header yang terkait dengan HockeySDK.

  3. Buka pengaturan proyek Anda dan di bawah tab Fase Build di bagian Tautkan Biner dengan Pustaka , hapus entri dependensi yang terkait dengan HockeySDK.

  4. Hapus HockeySDK.embeddedframework dari sistem file.

Podfile

Jika Anda telah menambahkan SDK menggunakan CocoaPods, hapus pod "HockeySDK" baris dari Podfile, lalu jalankan pod install.

Carthage

  1. Hapus referensi HockeySDK dari Cartfile. Hapus Cartfile.Resolved dari sistem file.

  2. Hapus HockeySDK.framework dan HockeySDK.framework.dSYM dari proyek XCode dan klik tombol Pindahkan ke Sampah .

  3. Buka tab Fase Build dan temukan bagian Jalankan Skrip . Hapus HockeyApp dari input.xcfilelist dan output.xcfilelist.

1.2 Menambahkan SDK App Center baru

App Center SDK mendukung integrasi melalui Cocoapods, Carthage, Swift Package Manager dan dengan menggunakan Frameworks dalam proyek Xcode Anda. Baca instruksi terperinci cara mengintegrasikan App Center SDK dalam dokumentasi App Center SDK.

Catatan

App Center SDK dirancang dengan pendekatan modular sehingga Anda dapat menggunakan salah satu atau semua layanan. Lihat kesetaraan dalam tabel berikutnya:

Kelas HockeyApp Modul App Center
MetricsManager Analytics
CrashManager Crashes
UpdateManager Distribute

2. Memperbarui 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 (App Center): 00112233-4455-6677-8899-aabbccddeeff

2.2 Mengganti inisialisasi SDK dalam kode aplikasi

  1. Ganti impor berikut di kelas AppDelegate Anda.

    Sebelumnya:

    @import HockeySDK;
    
    import HockeySDK
    

    Setelahnya:

    @import AppCenter;
    @import AppCenterAnalytics;
    @import AppCenterCrashes;
    @import AppCenterDistribute;
    
    import AppCenter
    import AppCenterAnalytics
    import AppCenterCrashes
    import AppCenterDistribute
    
  2. Ganti kode pendaftaran

    didFinishLaunchingWithOptions Temukan metode dan ganti kemunculan kode HockeyApp.

    Sebelumnya:

    [[BITHockeyManager sharedHockeyManager] configureWithIdentifier:@"APP_IDENTIFIER"];
    [[BITHockeyManager sharedHockeyManager] startManager];
    [[BITHockeyManager sharedHockeyManager].authenticator authenticateInstallation];
    
    BITHockeyManager.shared().configure(withIdentifier: "APP_IDENTIFIER")
    BITHockeyManager.shared().start()
    BITHockeyManager.shared().authenticator.authenticateInstallation()
    

    Setelahnya:

    [MSACAppCenter start:@"{Your app secret}" withServices:@[[MSACAnalytics class], [MSACCrashes class], [MSACDistribute class]]];
    
    AppCenter.start(withAppSecret: "{Your App Secret}", services: [Analytics.self, Crashes.self, Distribute.self])
    

    Catatan

    App Center SDK tidak memiliki yang setara untuk [[BITHockeyManager sharedHockeyManager] configureWithBetaIdentifier:liveIdentifier:delegate].

  3. [Opsional] Mengubah Info.plist proyek

    Jika Anda ingin menggunakan Distribusikan, ikuti langkah-langkah di atas:

    • 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-${APP_SECRET} sebagai skema URL dan ganti ${APP_SECRET} dengan Rahasia Aplikasi aplikasi Anda.

    Untuk informasi selengkapnya tentang ini, lihat dokumentasi Distribusi App Center.

  4. Ganti panggilan API HockeyApp di seluruh aplikasi. Tabel pemetaan API terperinci diberikan di bawah ini.

3. Layanan dan perbandingan fitur

Core

Fitur HockeyApp Pusat Aplikasi
Menyesuaikan tingkat log [BITHockeyManager sharedHockeyManager].logLevel = BITLogLevelVerbose [MSACAppCenter setLogLevel:MSACLogLevelVerbose]
Mengidentifikasi penginstalan [BITHockeyManager sharedHockeyManager].installString [MSACAppCenter installId]
Mengidentifikasi pengguna [BITHockeyManager sharedHockeyManager].userID [MSACAppCenter setUserId:@"your-user-id"]

Analitik

HockeySDK memungkinkan pengumpulan metrik per default. App Center SDK mendaftarkan layanan Analytics hanya jika Anda meneruskan Analytics kelas ke start metode .

Fitur HockeyApp Pusat Aplikasi
Melacak sesi secara otomatis Tidak dapat dinonaktifkan Dokumentasi (tidak dapat dinonaktifkan)
Peristiwa kustom dengan properti Ya [MSACAnalytics trackEvent:withProperties:]
Menonaktifkan layanan saat runtime [BITHockeyManager sharedHockeyManager].disableMetricsManager = YES [MSACAnalytics setEnabled:NO]

Crash

HockeySDK memungkinkan pelaporan crash per default. Crash akan segera dikirim ke server saat aplikasi diluncurkan berikutnya. App Center SDK mendaftarkan layanan Crash hanya jika Anda meneruskan Crashes kelas ke start metode .

Fitur HockeyApp Pusat Aplikasi
Mengirim crash secara otomatis [[BITHockeyManager sharedHockeyManager].crashManager setCrashManagerStatus: BITCrashManagerStatusAutoSend] Dokumentasi (diaktifkan secara default)
Membuat crash pengujian [[BITHockeyManager sharedHockeyManager].crashManager generateTestCrash] [MSACCrashes generateTestCrash]
Info tentang crash sebelumnya [[BITHockeyManager sharedHockeyManager].crashManager lastSessionCrashDetails] [MSACCrashes lastSessionCrashReport]
Penanganan pengecualian Mach Dinonaktifkan secara default Dokumentasi (diaktifkan secara default)
Melampirkan data meta tambahan Ya Dokumentasi (dapat dilampirkan dari delegasi)
Mengkustomisasi dialog pengguna setAlertViewHandler Dokumentasi (tidak disediakan secara default)
Menonaktifkan layanan saat runtime [[BITHockeyManager sharedHockeyManager] setDisableCrashManager: YES] [MSACCrashes setEnabled:NO]

Distribusikan

Catatan

Tidak seperti di HockeyApp, fitur pembaruan dalam aplikasi App Center HANYA akan berfungsi dengan build yang didistribusikan menggunakan layanan Distribusi App Center. Distribusi tidak akan berfungsi saat debugger terpasang. 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 satu kali yang tidak akan terjadi untuk rilis aplikasi Anda berikutnya. Lihat Dokumentasi Distribusi App Center untuk detail selengkapnya.

HockeySDK tidak mengaktifkan pembaruan dalam aplikasi secara default. App Center SDK mendaftarkan layanan pembaruan dalam aplikasi hanya jika Anda meneruskan Distribute kelas ke start metode . Modul ini diaktifkan secara default, tidak seperti di HockeySDK.

Fitur HockeyApp Pusat Aplikasi
Pembaruan dalam aplikasi terbatas [[BITHockeyManager sharedHockeyManager].authenticator authenticateInstallation] MSACDistribute.updateTrack
Menonaktifkan layanan saat runtime [[BITHockeyManager sharedHockeyManager] setDisableUpdateManager: YES] [MSACDistribute setEnabled:NO]
Mengkustomisasi dialog pembaruan shouldDisplayUpdateAlertForUpdateManager Dokumentasi