Aracılığıyla paylaş


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

  1. 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();
      
  2. 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önteminin OnCreate() içine ekleyin

    AppCenter.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ız AppCenter önerilir.

    Xamarin.iOS:

    Projenin AppDelegate.cs dosyasını açın ve yönteminin Start() içine çağrıyı FinishedLaunching() ekleyin

    AppCenter.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üğünde AppCenter.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.Applicationdevralan sınıfınızı) açın ve yöntemine OnStart() 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.

  3. [Yalnızca iOS'i dağıtmak için] Projenin Info.plist dosyasını değiştirme

    • Info.plist dosyanıza veya CFBundleURLTypes için URL 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 CFBundleURLSchemesolarak URL 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.

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