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:
Hapus
HockeySDK.embeddedframework
referensi dari proyek XCode. Klik tombol Hapus referensi , jangan klik tombol Pindahkan ke Sampah .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.
Buka pengaturan proyek Anda dan di bawah tab Fase Build di bagian Tautkan Biner dengan Pustaka , hapus entri dependensi yang terkait dengan HockeySDK.
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
Hapus referensi HockeySDK dari
Cartfile
. HapusCartfile.Resolved
dari sistem file.Hapus
HockeySDK.framework
danHockeySDK.framework.dSYM
dari proyek XCode dan klik tombol Pindahkan ke Sampah .Buka tab Fase Build dan temukan bagian Jalankan Skrip . Hapus HockeyApp dari
input.xcfilelist
danoutput.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
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
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]
.[Opsional] Mengubah Info.plist proyek
Jika Anda ingin menggunakan Distribusikan, ikuti langkah-langkah di atas:
- 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-${APP_SECRET}
sebagai skema URL dan ganti${APP_SECRET}
dengan Rahasia Aplikasi aplikasi Anda.
Untuk informasi selengkapnya tentang ini, lihat dokumentasi Distribusi App Center.
- Tambahkan kunci baru untuk
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 |