HockeySDK'den App Center Xamarin SDK'sına geçiş
Önemli
Visual Studio App Center 31 Mart 2025'te kullanımdan kaldırılıyor. Tamamen kullanımdan kaldırılana kadar Visual Studio App Center'ı kullanmaya devam edebilirsiniz ancak geçiş yapmayı düşünebileceğiniz birkaç önerilen alternatif vardır.
Destek zaman çizelgeleri ve alternatifleri hakkında daha fazla bilgi edinin.
Uygulamanızı HockeySDK yerine App Center SDK'sını kullanacak şekilde güncelleştirmek istiyorsanız bu belgeleri izleyin.
1. Kitaplıkları güncelleştirme
HockeySDK.Xamarin NuGet paketini çözümünüzdeki tüm projelerde App Center paketiyle değiştirin.
Mac için Visual Studio
- Mac için Visual Studio açın.
- Dosya>Aç'a tıklayın ve çözümünüzü seçin.
- Çözüm gezgininde Paketler bölümüne sağ tıklayın ve NuGet paketleri ekle...'yi seçin.
- HockeySDK.Xamarin paketini kaldırın.
- App Center'ı arayın ve App Center Analytics, App Center Kilitlenmeleri ve App Center Dağıt'ı seçin.
- Paket Ekle'ye tıklayın.
Windows için Visual Studio
- Windows için Visual Studio'yu açın.
- Dosya>Aç'a tıklayın ve çözümünüzü seçin.
- Çözüm gezgininde Başvurular'a sağ tıklayın ve NuGet Paketlerini Yönet'i seçin.
- HockeySDK.Xamarin paketini kaldırın.
- App Center'ı arayın ve Microsoft.AppCenter.Analytics, Microsoft.AppCenter.Crashes ve Microsoft.AppCenter.Distribute paketlerini yükleyin.
Paket Yöneticisi Konsolu
- Visual Studio'da konsolunu açın. Bunu yapmak için Araçlar>NuGet Paket Yöneticisi Paket Yöneticisi>Konsolu'nu seçin.
- Mac için Visual Studio üzerinde çalışıyorsanız NuGet Paket Yönetimi Uzantıları'nı yüklediğinizden emin olun. Bunun için Visual Studio>Uzantıları'nı seçin, NuGet'i arayın ve gerekirse yükleyin.
- Konsola aşağıdaki komutu yazın:
Uninstall-Package HockeySDK.Xamarin
Install-Package Microsoft.AppCenter.Analytics
Install-Package Microsoft.AppCenter.Crashes
Install-Package Microsoft.AppCenter.Distribute
App Center SDK modüler bir yaklaşımla tasarlanmıştır; yalnızca ilgilendiğiniz hizmetleri tümleştirebilirsiniz. Her SDK modülünün bu bölümde ayrı bir bağımlılık olarak eklenmesi gerekir. Sonraki tabloda denkliklere bakın:
HockeyApp sınıfı | App Center modülü |
---|---|
MetricsManager |
Analytics |
CrashManager |
Crashes |
UpdateManager |
Distribute |
2. SDK kurulum kodunu güncelleştirme
2.1 Uygulama tanımlayıcısını dönüştürme
App Center SDK'sı, uygulama tanımlayıcılarını genel olarak benzersiz tanımlayıcı (GUID) biçiminde kullanır. HockeyApp Uygulama Kimliğiniz App Center tarafından kullanılabilir ancak bunu farklı bir biçime dönüştürmeniz gerekir. Tanımlayıcıyı dönüştürmek için 8-4-4-4-4-12 gösterimini almak için dört kısa çizgi eklemeniz gerekir.
Önce (HockeyApp): 00112233445566778899aabbccddeeff
Sonra (App Center): 00112233-4455-6677-8899-aabbccddeeff
2.2 Uygulama kodunda SDK başlatmasını değiştirme
Eski HockeyApp kayıt kodunu kaldırın.
Xamarin.Android - Projenin MainActivity.cs açın ve aşağıdaki satırları kaldırın:
using HockeyApp.Android; ... CrashManager.Register(this, "APP_IDENTIFIER"); MetricsManager.Register(Application, "APP_IDENTIFIER"); UpdateManager.Register(this, "APP_IDENTIFIER");
Özellikler/AssemblyInfo.cs'de aşağıdaki derleme düzeyi özniteliğini kaldırın:
[assembly: MetaData ("net.hockeyapp.android.appIdentifier", Value="APP_IDENTIFIER")]
Xamarin.iOS - Projenin AppDelegate.cs açın ve aşağıdaki satırları kaldırın:
using HockeyApp.iOS; ... var manager = BITHockeyManager.SharedHockeyManager; manager.Configure("APP_IDENTIFIER"); manager.StartManager(); manager.Authenticator.AuthenticateInstallation();
App Center SDK'sını başlatma
- Bu bölümün ilerleyen bölümlerinde bahsedilen başlatma kodu, mevcut
using
deyimlerin altına aşağıdaki satırların eklenmesini gerektirir:
using Microsoft.AppCenter; using Microsoft.AppCenter.Analytics; using Microsoft.AppCenter.Crashes; using Microsoft.AppCenter.Distribute;
Xamarin.Android:
Projenin MainActivity.cs dosyasını açın ve çağrıyı
Start()
yöntemininOnCreate()
içine ekleyinAppCenter.Start("{Your App Secret}", typeof(Analytics), typeof(Crashes), typeof(Distribute));
Not
Uygulamanızın arka plan hizmetleri veya yayın alıcısı, dışarı aktarılan etkinlikler veya içerik sağlayıcıları gibi birden çok giriş noktası varsa, bunun yerine geri aramayla
Application.OnCreate
başlamanızAppCenter
önerilir.Xamarin.iOS:
Projenin
AppDelegate.cs
dosyasını açın ve yöntemininStart()
içine çağrıyıFinishedLaunching()
ekleyinAppCenter.Start("{Your App Secret}", typeof(Analytics), typeof(Crashes), typeof(Distribute));
Not
Kilitlenmeler kullanıyorsanız, ui/main iş parçacığında bu yöntemi çağırmanız ve yöntem dönene kadar
Start
arka plan görevlerini başlatmaktan kaçınmanız gerekir. Bunun nedeni, Kilitlenmeler başlatılırken başka bir iş parçacığından yakalanan herhangi bir null başvuru özel durumunun yerel bir kilitlenmeyi tetikleyebileceği ve catch yan tümcesini yoksayabileceğidir. Yöntem döndürdüğündeAppCenter.Start
null başvuru özel durumlarını yeniden denemek/yakalamak güvenlidir. Sinyaller ve üçüncü taraf kilitlenme muhabirleri makalesinde bu zamanlama sorununun nedeni hakkında daha fazla bilgi edinebilirsiniz.Xamarin.Forms:
iOS, Android ve UWP platformlarını hedefleyen bir Xamarin.Forms uygulaması kullanmak için App Center portalında her platform için bir tane olmak üzere üç uygulama oluşturmanız gerekir. Üç uygulama oluşturmak size üç Uygulama gizli dizisini verir: her biri için bir tane. Paylaşılan veya taşınabilir projenizde projenin App.xaml.cs dosyasını (veya öğesinden
Xamarin.Forms.Application
devralan sınıfınızı) açın ve yöntemineOnStart()
aşağıdaki yöntemini ekleyin.AppCenter.Start("ios={Your App Secret};android={Your App Secret}", typeof(Analytics), typeof(Crashes), typeof(Distribute));
Önemli
Küme ayraçları yalnızca bu içeriği gerçek uygulama gizli dizileriyle değiştirmeniz gerektiğini belgelemektedir; çağrıya küme ayracı koymayın
Start
.Not
Android için HockeyApp SDK'sını kullanıyorsanız App Center SDK'sı sonrasında HockeyApp SDK'sını başlatmayı unutmayın. iOS uygulamanız için, uygulamanızda birden fazla etkin kilitlenme raporlama SDK'sı olması mümkün değildir. App Center'ın kilitlenmeleri yakalamasını sağlamak için diğer SDK'ların kilitlenme raporlama işlevini devre dışı bırakın.
Not
iOS ve Android ile ilgili önceki bölümlerde yer alan notlar Xamarin.Forms için de geçerlidir. Bu açıklamalar uygulamanız için geçerliyse, Platform başına farklı yerlerde AppCenter'ı başlatmanız gerekebilir.
- Bu bölümün ilerleyen bölümlerinde bahsedilen başlatma kodu, mevcut
[Yalnızca iOS'i dağıtmak için] Projenin Info.plist dosyasını değiştirme
- Info.plist dosyanıza veya
CFBundleURLTypes
içinURL types
yeni bir anahtar ekleyin (Xcode'un Info.plist dosyanızı kaynak kod olarak görüntülemesi durumunda). - İlk alt öğenin anahtarını veya
CFBundleURLSchemes
olarakURL Schemes
değiştirin. - URL şeması olarak girin
appcenter-${Your App Secret}
ve öğesini uygulamanızın Uygulama Gizli Dizisi ile değiştirin${Your App Secret}
.
Bu konuda daha fazla bilgi için App Center Distribute belgelerine bakın.
- Info.plist dosyanıza veya
Uygulama genelindeki tüm HockeyApp API çağrılarını değiştirin. Ayrıntılı API eşleme tabloları aşağıda verilmiştir.
3. Hizmetler ve özellik karşılaştırması
Çekirdek
Özellik | HockeyApp | App Center |
---|---|---|
Günlük düzeyini ayarlama | SharedHockeyManager.LogLevel (iOS) veya HockeyLog.LogLevel (Android) |
AppCenter.LogLevel |
Yüklemeleri tanımlama | Yalnızca iOS | AppCenter.GetInstallIdAsync |
Kullanıcıları tanımlama | Yalnızca kilitlenme | AppCenter.SetUserId |
Analiz
Özellik | HockeyApp | App Center |
---|---|---|
Oturumları otomatik olarak izleme | Evet, yalnızca Android'de devre dışı bırakılabilir | Belgeler (devre dışı bırakılamaz) |
Özelliklere sahip özel olaylar | HockeyApp.MetricsManager.TrackEvent |
Analytics.TrackEvent |
Çalışma zamanında hizmeti devre dışı bırakma | MetricsManager.DisableUserMetrics (Android) veya SharedHockeyManager.DisableMetricsManager (iOS) |
Analytics.SetEnabledAsync |
Çökü -yor
Özellik | HockeyApp | App Center |
---|---|---|
Kilitlenmeleri otomatik olarak gönderme | Varsayılan olarak devre dışıdır | Belgeler (varsayılan olarak etkindir) |
Test kilitlenmesi oluşturma | CrashManager.GenerateTestCrash (Yalnızca iOS) |
Crashes.GenerateTestCrash |
Ek meta veri ekleme | Yes | Belgeler (dinleyiciden eklenebilir) |
Kullanıcıyı özelleştir iletişim kutusu | Yes | Belgeler (varsayılan olarak sağlanmaz) |
Gönderme durumu hakkında bilgi alma | Yalnızca Android | Belgeler |
Önceki kilitlenme hakkında bilgi | CrashManager.GetLastCrashDetails (Android) veya CrashManager.LastSessionCrashDetails (iOS) |
Crashes.GetLastSessionCrashReportAsync |
Çalışma zamanında hizmeti devre dışı bırakma | SharedHockeyManager.DisableCrashManager (yalnızca iOS) |
Crashes.SetEnabledAsync |
Dağıt
Not
HockeyApp'in aksine App Center uygulama içi güncelleştirmeler özelliği yalnızca App Center Distribute hizmeti kullanılarak dağıtılan RELEASE derlemeleriyle (varsayılan olarak) çalışır. Uygulama özel bir dağıtım grubu kullanıyorsa, uygulama yüklendikten ve App Center Dağıtım SDK'sı eklendikten sonra ilk kez açıldıktan sonra, kullanıcının kimliğini doğrulamak ve uygulama içi güncelleştirmeleri etkinleştirmek için bir tarayıcı açılır. Çalışma zamanında özel uygulama içi güncelleştirme izlemesini ayarlarsanız bu tarayıcı da açılır. Bu, uygulamanızın sonraki sürümleri için gerçekleşmeyecek tek SEFERLIK bir adımdır. Daha fazla ayrıntı için App Center Dağıtım Belgeleri'ne bakın.
Özellik | HockeyApp | App Center |
---|---|---|
Kısıtlı uygulama içi güncelleştirmeler | LoginManager.VerifyLogin (Android) veya Authenticator.AuthenticateInstallation (iOS) |
Distribute.UpdateTrack |
Çalışma zamanında hizmeti devre dışı bırakma | UpdateManager.Unregister (Android) veya SharedHockeyManager.DisableUpdateManager (iOS) |
Distribute.SetEnabledAsync |
Güncelleştirme iletişim kutusunu özelleştirme | Yes | Distribute.ReleaseAvailable |
Geri Bildirim Hizmeti
Geri bildirim hizmeti App Center'da desteklenmez. Bkz . HockeyApp geri bildirimi.