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
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();
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ímApplication.OnCreate
.Xamarin.iOS:
Otevřete soubor projektu
AppDelegate.cs
a přidejteStart()
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 seAppCenter.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 doOnStart()
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.
- Inicializační kód uvedený dále v této části vyžaduje přidání následujících řádků pod existující
[Pouze pro distribuci iOS] Úprava souboru Info.plist projektu
- Přidejte nový klíč pro
URL types
neboCFBundleURLTypes
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
neboCFBundleURLSchemes
. - 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.
- Přidejte nový klíč pro
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.