Migrace z HockeySDK na sadu App Center Xamarin SDK

Důležité

Visual Studio App Center je naplánované k vyřazení na 31. března 2025. I když můžete Visual Studio App Center dál používat, dokud ho úplně nevyřadíte, existuje několik doporučených alternativ, na které můžete migraci zvážit.

Přečtěte si další informace o časových osách a alternativách podpory.

Pokud chcete aplikaci aktualizovat tak, aby místo Sady HockeySDK používala sadu App Center SDK, postupujte podle této dokumentace.

1. Aktualizace knihoven

Balíček NuGet HockeySDK.Xamarin nahraďte balíčky App Center ve všech projektech ve vašem řešení.

Visual Studio pro Mac

  • Otevřete Visual Studio pro Mac.
  • Klikněte na Otevřít soubor> a zvolte řešení.
  • V navigátoru řešení klikněte pravým tlačítkem na oddíl Balíčky a zvolte Přidat balíčky NuGet....
  • Odeberte balíček HockeySDK.Xamarin .
  • Vyhledejte App Center a vyberte App Center Analytics, App Center Crashes a App Center Distribute.
  • Klikněte na Přidat balíčky.

Visual Studio pro Windows

  • Otevřete Visual Studio pro Windows.
  • Klikněte na Otevřít soubor> a zvolte řešení.
  • V navigátoru řešení klikněte pravým tlačítkem na Odkazy a zvolte Spravovat balíčky NuGet.
  • Odeberte balíček HockeySDK.Xamarin .
  • Vyhledejte App Center a nainstalujte balíčky Microsoft.AppCenter.Analytics, Microsoft.AppCenter.Crashes a Microsoft.AppCenter.Distribute .

Konzola Správce balíčků

  • Otevřete konzolu v sadě Visual Studio. Uděláte to tak, že zvolíte Nástroje Konzola>Správce>balíčků NuGet.
  • Pokud pracujete v Visual Studio pro Mac, ujistěte se, že máte nainstalovaná rozšíření pro správu balíčků NuGet. K tomu zvolteRozšířenísady Visual Studio>, vyhledejte NuGet a v případě potřeby nainstalujte.
  • V konzole zadejte následující příkaz:
Uninstall-Package HockeySDK.Xamarin
Install-Package Microsoft.AppCenter.Analytics
Install-Package Microsoft.AppCenter.Crashes
Install-Package Microsoft.AppCenter.Distribute

Sada App Center SDK je navržená s modulárním přístupem – můžete integrovat jenom ty služby, které vás zajímají. Každý modul SADY SDK je potřeba v této části přidat jako samostatnou závislost. Podívejte se na ekvivalence v následující tabulce:

HockeyApp – třída Modul App Center
MetricsManager Analytics
CrashManager Crashes
UpdateManager Distribute

2. Aktualizace instalačního kódu sady SDK

2.1 Převod identifikátoru aplikace

Sada App Center SDK používá identifikátory aplikace ve formátu globálně jedinečného identifikátoru (GUID). App Center může id aplikace HockeyApp používat, ale musíte ho převést do jiného formátu. Chcete-li převést identifikátor, musíte přidat čtyři pomlčky, abyste získali reprezentaci 8-4-4-4-12.

Před (HockeyApp): 00112233445566778899aabbccddeeff

Po (App Center): 00112233-4455-6677-8899-aabbccddeeff

2.2 Nahrazení inicializace sady SDK v kódu aplikace

  1. Odeberte starý registrační kód HockeyApp.

    • Xamarin.Android – otevřete MainActivity.cs projektu a odeberte následující řádky:

      using HockeyApp.Android;
      
      ...
      
      CrashManager.Register(this, "APP_IDENTIFIER");
      MetricsManager.Register(Application, "APP_IDENTIFIER");
      UpdateManager.Register(this, "APP_IDENTIFIER");
      

      V části Vlastnosti/AssemblyInfo.cs odeberte následující atribut úrovně sestavení:

      [assembly: MetaData ("net.hockeyapp.android.appIdentifier", Value="APP_IDENTIFIER")]
      
    • Xamarin.iOS – otevřete AppDelegate.cs projektu a odeberte následující řádky:

      using HockeyApp.iOS;
      
      ...
      
      var manager = BITHockeyManager.SharedHockeyManager;
      manager.Configure("APP_IDENTIFIER");
      manager.StartManager();
      manager.Authenticator.AuthenticateInstallation();
      
  2. Spuštění sady App Center SDK

    • Inicializační kód uvedený dále v této části vyžaduje přidání následujících řádků pod existující using příkazy:
    using Microsoft.AppCenter;
    using Microsoft.AppCenter.Analytics;
    using Microsoft.AppCenter.Crashes;
    using Microsoft.AppCenter.Distribute;
    

    Xamarin.Android:

    Otevřete soubor MainActivity.cs projektu a přidejte Start() volání do metody .OnCreate()

    AppCenter.Start("{Your App Secret}", typeof(Analytics), typeof(Crashes), typeof(Distribute));
    

    Poznámka

    Pokud má vaše aplikace služby na pozadí nebo více vstupních bodů, jako je přijímač vysílání, exportované aktivity nebo poskytovatelé obsahu, doporučujeme místo toho začít AppCenter se zpětným voláním Application.OnCreate .

    Xamarin.iOS:

    Otevřete soubor projektu AppDelegate.cs a přidejte Start() volání do metody.FinishedLaunching()

    AppCenter.Start("{Your App Secret}", typeof(Analytics), typeof(Crashes), typeof(Distribute));
    

    Poznámka

    Pokud používáte chybové ukončení, musíte tuto metodu volat v uživatelském rozhraní nebo hlavním vlákně a vyhnout se spouštění úloh na pozadí, dokud Start se metoda nevrátí. Důvodem je to, že jakákoli výjimka nulového odkazu zachycená z jiného vlákna při inicializaci chybových ukončení může způsobit nativní chybové ukončení a ignorovat klauzuli catch. Jakmile se AppCenter.Start metoda vrátí, je bezpečné znovu vyzkoušet nebo zachytit výjimky nulového odkazu. Další informace o příčině tohoto problému s časováním najdete v článku Signály a správci chyb třetích stran .

    Xamarin.Forms:

    Pokud chcete použít aplikaci Xamarin.Forms určenou pro platformy iOS, Android a UPW, musíte na portálu App Center vytvořit tři aplikace – jednu pro každou platformu. Když vytvoříte tři aplikace, získáte tři tajné kódy aplikací – pro každou z nich jeden. Otevřete soubor App.xaml.cs projektu (nebo třídu, která dědí z Xamarin.Forms.Application) ve sdíleném nebo přenosném projektu a přidejte metodu níže do OnStart() metody .

    AppCenter.Start("ios={Your App Secret};android={Your App Secret}", typeof(Analytics), typeof(Crashes), typeof(Distribute));
    

    Důležité

    Složené závorky jenom dokumentuje, že tento obsah musíte nahradit skutečnými tajnými kódy aplikace, ale do volání nepoužívejte složené závorky Start .

    Poznámka

    Pokud používáte sadu HockeyApp SDK pro Android, nezapomeňte po sadě App Center SDK inicializovat sadu HockeyApp SDK. Pro vaši aplikaci pro iOS není možné mít v aplikaci více než jednu aktivní sadu SDK pro hlášení chyb. Zakažte funkci hlášení chyb u ostatních sad SDK, abyste měli jistotu, že App Center dokáže chyby zachytit.

    Poznámka

    Poznámky z obou předchozích částí o iOSu a Androidu platí také pro Xamarin.Forms. Pokud se tyto poznámky týkají vaší aplikace, možná budete muset inicializovat AppCenter na různých místech pro každou platformu.

  3. [Pouze pro distribuci iOS] Úprava souboru Info.plist projektu

    • Přidejte nový klíč pro URL types nebo CFBundleURLTypes do souboru Info.plist (v případě, že Xcode zobrazí soubor Info.plist jako zdrojový kód).
    • Změňte klíč první podřízené položky na URL Schemes nebo CFBundleURLSchemes.
    • Jako schéma adresy URL zadejte appcenter-${Your App Secret} a nahraďte ${Your App Secret} tajným kódem aplikace.

    Další informace najdete v dokumentaci k distribuci app center.

  4. Nahraďte všechna volání rozhraní API HockeyApp v celé aplikaci. Podrobné tabulky mapování rozhraní API jsou uvedeny níže.

3. Porovnání služeb a funkcí

Jádro

Funkce HockeyApp App Center
Úprava úrovně protokolu SharedHockeyManager.LogLevel (iOS) nebo HockeyLog.LogLevel (Android) AppCenter.LogLevel
Identifikace instalací Jenom iOS AppCenter.GetInstallIdAsync
Identifikace uživatelů Pouze chybové ukončení AppCenter.SetUserId

Analýzy

Funkce HockeyApp App Center
Automatické sledování relací Ano, dá se zakázat jenom na Androidu. Dokumentace (nejde zakázat)
Vlastní události s vlastnostmi HockeyApp.MetricsManager.TrackEvent Analytics.TrackEvent
Zakázání služby za běhu MetricsManager.DisableUserMetrics (Android) nebo SharedHockeyManager.DisableMetricsManager (iOS) Analytics.SetEnabledAsync

Pády

Funkce HockeyApp App Center
Automatické odesílání chybových ukončení Ve výchozím nastavení zakázaná Dokumentace (ve výchozím nastavení povoleno)
Vygenerování chybového ukončení testu CrashManager.GenerateTestCrash (Jenom iOS) Crashes.GenerateTestCrash
Připojení dalších metadat Yes Dokumentace (lze připojit z naslouchacího procesu)
Dialogové okno Přizpůsobit uživatele Yes Dokumentace (ve výchozím nastavení není k dispozici)
Získání informací o stavu odesílání Jenom Android Dokumentace
Informace o předchozím chybovém ukončení CrashManager.GetLastCrashDetails (Android) nebo CrashManager.LastSessionCrashDetails (iOS) Crashes.GetLastSessionCrashReportAsync
Zakázání služby za běhu SharedHockeyManager.DisableCrashManager (jenom iOS) Crashes.SetEnabledAsync

Rozmístit

Poznámka

Na rozdíl od HockeyApp funguje funkce aktualizací v aplikaci App Center jenom s buildy RELEASE (ve výchozím nastavení), které se distribuují pomocí služby App Center Distribute . Pokud aplikace používá privátní distribuční skupinu, po prvním nainstalování a otevření aplikace po přidání sady App Center Distribution SDK se otevře prohlížeč pro ověření uživatele a povolení aktualizací v aplikaci. Tento prohlížeč se také otevře, pokud za běhu nastavíte privátní trasu aktualizací v aplikaci. Jedná se o jednorázový krok, který se neprojeví v následných verzích vaší aplikace. Další podrobnosti najdete v dokumentaci k distribuci app center .

Funkce HockeyApp App Center
Omezené aktualizace v aplikaci LoginManager.VerifyLogin (Android) nebo Authenticator.AuthenticateInstallation (iOS) Distribute.UpdateTrack
Zakázání služby za běhu UpdateManager.Unregister (Android) nebo SharedHockeyManager.DisableUpdateManager (iOS) Distribute.SetEnabledAsync
Přizpůsobení dialogového okna aktualizace Yes Distribute.ReleaseAvailable

Služba Feedback

Služba zpětné vazby nebude v App Center podporována. Přečtěte si článek o zpětné vazbě aplikace HockeyApp.