Migrowanie z zestawu HockeySDK do zestawu SDK platformy Xamarin w usłudze App Center
Ważne
Program Visual Studio App Center ma zostać wycofany 31 marca 2025 r. Mimo że możesz nadal używać programu Visual Studio App Center do momentu jej pełnego wycofania, istnieje kilka zalecanych alternatyw, do których można rozważyć migrację.
Dowiedz się więcej o osiach czasu pomocy technicznej i alternatywach.
Postępuj zgodnie z tą dokumentacją, jeśli chcesz zaktualizować aplikację do używania zestawu SDK centrum aplikacji zamiast zestawu HockeySDK.
1. Aktualizowanie bibliotek
Zastąp pakiet NuGet HockeySDK.Xamarin elementem App Center we wszystkich projektach w rozwiązaniu.
Visual Studio dla komputerów Mac
- Otwórz Visual Studio dla komputerów Mac.
- Kliknij pozycję Plik>Otwórz i wybierz rozwiązanie.
- W nawigatorze rozwiązań kliknij prawym przyciskiem myszy sekcję Pakiety , a następnie wybierz polecenie Dodaj pakiety NuGet....
- Usuń pakiet HockeySDK.Xamarin .
- Wyszukaj pozycję App Center i wybierz pozycję App Center Analytics, App Center Crash i App Center Distribute.
- Kliknij pozycję Dodaj pakiety.
Program Visual Studio dla systemu Windows
- Otwórz program Visual Studio dla systemu Windows.
- Kliknij pozycję Plik>Otwórz i wybierz rozwiązanie.
- W nawigatorze rozwiązań kliknij prawym przyciskiem myszy pozycję Odwołania i wybierz polecenie Zarządzaj pakietami NuGet.
- Usuń pakiet HockeySDK.Xamarin .
- Wyszukaj pozycję App Center i zainstaluj pakiety Microsoft.AppCenter.Analytics, Microsoft.AppCenter.Crash i Microsoft.AppCenter.Distribute .
Konsola menedżera pakietów
- Otwórz konsolę w programie Visual Studio. W tym celu wybierz pozycję Narzędzia Konsola>Menedżera>pakietów NuGet Menedżera pakietów.
- Jeśli pracujesz w Visual Studio dla komputerów Mac, upewnij się, że zainstalowano rozszerzenia zarządzania pakietami NuGet. W tym celu wybierz pozycjęRozszerzeniaprogramu Visual Studio>, wyszukaj ciąg NuGet i zainstaluj w razie potrzeby.
- Wpisz następujące polecenie w konsoli programu :
Uninstall-Package HockeySDK.Xamarin
Install-Package Microsoft.AppCenter.Analytics
Install-Package Microsoft.AppCenter.Crashes
Install-Package Microsoft.AppCenter.Distribute
Zestaw SDK centrum aplikacji został zaprojektowany z modułowym podejściem — możesz zintegrować tylko te usługi, które Cię interesują. Każdy moduł SDK musi zostać dodany jako osobna zależność w tej sekcji. Zobacz równoważności w następnej tabeli:
HockeyApp, klasa | Moduł Centrum aplikacji |
---|---|
MetricsManager |
Analytics |
CrashManager |
Crashes |
UpdateManager |
Distribute |
2. Aktualizowanie kodu konfiguracji zestawu SDK
2.1 Konwertowanie identyfikatora aplikacji
Zestaw SDK centrum aplikacji używa identyfikatorów aplikacji w formacie globalnie unikatowego identyfikatora (GUID). Identyfikator aplikacji HockeyApp może być używany przez centrum aplikacji, ale musisz przekonwertować go na inny format. Aby przekonwertować identyfikator, należy dodać cztery łączniki, aby uzyskać reprezentację 8-4-4-4-12.
Przed (HockeyApp): 00112233445566778899aabbccddeeff
Po (Centrum aplikacji): 00112233-4455-6677-8899-aabbccddeeff
2.2 Zastąp inicjowanie zestawu SDK w kodzie aplikacji
Usuń stary kod rejestracji HockeyApp.
Xamarin.Android — otwórz MainActivity.cs projektu i usuń poniższe wiersze:
using HockeyApp.Android; ... CrashManager.Register(this, "APP_IDENTIFIER"); MetricsManager.Register(Application, "APP_IDENTIFIER"); UpdateManager.Register(this, "APP_IDENTIFIER");
Usuń następujący atrybut poziomu zestawu we właściwościach/AssemblyInfo.cs:
[assembly: MetaData ("net.hockeyapp.android.appIdentifier", Value="APP_IDENTIFIER")]
Xamarin.iOS — otwórz AppDelegate.cs projektu i usuń poniższe wiersze:
using HockeyApp.iOS; ... var manager = BITHockeyManager.SharedHockeyManager; manager.Configure("APP_IDENTIFIER"); manager.StartManager(); manager.Authenticator.AuthenticateInstallation();
Uruchamianie zestawu SDK centrum aplikacji
- Kod inicjowania wymieniony w dalszej części tej sekcji wymaga dodania następujących wierszy poniżej istniejących
using
instrukcji:
using Microsoft.AppCenter; using Microsoft.AppCenter.Analytics; using Microsoft.AppCenter.Crashes; using Microsoft.AppCenter.Distribute;
Xamarin.Android:
Otwórz plik MainActivity.cs projektu i dodaj
Start()
wywołanie wewnątrzOnCreate()
metodyAppCenter.Start("{Your App Secret}", typeof(Analytics), typeof(Crashes), typeof(Distribute));
Uwaga
Jeśli aplikacja ma usługi w tle lub wiele punktów wejścia, takich jak odbiornik emisji, wyeksportowane działania lub dostawcy zawartości, zaleca się rozpoczęcie
AppCenter
wywołania zwrotnegoApplication.OnCreate
.Xamarin.iOS:
Otwórz plik projektu
AppDelegate.cs
i dodajStart()
wywołanie wewnątrzFinishedLaunching()
metodyAppCenter.Start("{Your App Secret}", typeof(Analytics), typeof(Crashes), typeof(Distribute));
Uwaga
W przypadku korzystania z awarii należy wywołać tę metodę w wątku interfejsu użytkownika/głównym i uniknąć uruchamiania zadań w tle do momentu powrotu
Start
metody . Przyczyną jest to, że każdy wyjątek odwołania o wartości null przechwycony z innego wątku podczas inicjowania awarii może spowodować awarię natywną i zignorować klauzulę catch. Po powrocieAppCenter.Start
metody można ponownie spróbować/złapać wyjątki odwołania o wartości null. Więcej informacji na temat przyczyny tego problemu o chronometrażu można przeczytać w artykule Signals and third-party crash reporters (Sygnały i reporterzy awarii innych firm ).Xamarin.Forms:
Aby używać aplikacji platformy Xamarin.Forms przeznaczonej dla platform iOS, Android i UWP, należy utworzyć trzy aplikacje w portalu Centrum aplikacji — po jednym dla każdej platformy. Utworzenie trzech aplikacji daje trzy wpisy tajne aplikacji — po jednym dla każdego. Otwórz plik App.xaml.cs projektu (lub klasę dziedziczą z
Xamarin.Forms.Application
) w udostępnionym lub przenośnym projekcie i dodaj metodę poniżej w metodzieOnStart()
.AppCenter.Start("ios={Your App Secret};android={Your App Secret}", typeof(Analytics), typeof(Crashes), typeof(Distribute));
Ważne
Nawiasy klamrowe to tylko dokument, który należy zastąpić taką zawartości rzeczywistymi wpisami tajnymi aplikacji, nie umieszczaj nawiasów klamrowych w wywołaniu
Start
.Uwaga
Jeśli używasz zestawu Sdk usługi HockeyApp dla systemu Android, pamiętaj o zainicjowaniu zestawu SDK usługi HockeyApp PO zestawie SDK centrum aplikacji. W przypadku aplikacji systemu iOS nie można mieć więcej niż jednego aktywnego zestawu SDK raportowania awarii w aplikacji. Wyłącz funkcje raportowania awarii innych zestawów SDK, aby upewnić się, że centrum aplikacji może przechwytywać awarie.
Uwaga
Notatki z poprzednich sekcji dotyczących systemów iOS i Android dotyczą również platformy Xamarin.Forms. Jeśli te uwagi dotyczą aplikacji, może być konieczne zainicjowanie aplikacji AppCenter w różnych miejscach na platformę.
- Kod inicjowania wymieniony w dalszej części tej sekcji wymaga dodania następujących wierszy poniżej istniejących
[Tylko w przypadku dystrybucji systemu iOS] Modyfikowanie pliku Info.plist projektu
- Dodaj nowy klucz dla
URL types
pliku Info.plist lubCFBundleURLTypes
(w przypadku, gdy program Xcode wyświetla plik Info.plist jako kod źródłowy). - Zmień klucz pierwszego elementu podrzędnego na
URL Schemes
lubCFBundleURLSchemes
. - Wprowadź
appcenter-${Your App Secret}
jako schemat adresu URL i zastąp ciąg${Your App Secret}
kluczem tajnym aplikacji.
Aby uzyskać więcej informacji na ten temat, zapoznaj się z dokumentacją dotyczącą dystrybucji usługi App Center.
- Dodaj nowy klucz dla
Zastąp wszystkie wywołania interfejsu API hockeyApp w całej aplikacji. Poniżej podano szczegółowe tabele mapowania interfejsu API.
3. Porównanie usług i funkcji
Core
Cecha | HockeyApp | App Center |
---|---|---|
Dostosowywanie poziomu dziennika | SharedHockeyManager.LogLevel (iOS) lub HockeyLog.LogLevel (Android) |
AppCenter.LogLevel |
Identyfikowanie instalacji | Tylko system iOS | AppCenter.GetInstallIdAsync |
Identyfikowanie użytkowników | Tylko awaria | AppCenter.SetUserId |
Analiza
Cecha | HockeyApp | App Center |
---|---|---|
Automatyczne śledzenie sesji | Tak, można wyłączyć tylko w systemie Android | Dokumentacja (nie można jej wyłączyć) |
Zdarzenia niestandardowe z właściwościami | HockeyApp.MetricsManager.TrackEvent |
Analytics.TrackEvent |
Wyłączanie usługi w czasie wykonywania | MetricsManager.DisableUserMetrics (Android) lub SharedHockeyManager.DisableMetricsManager (iOS) |
Analytics.SetEnabledAsync |
Ulega awarii
Cecha | HockeyApp | App Center |
---|---|---|
Automatyczne wysyłanie awarii | Domyślnie wyłączone | Dokumentacja (domyślnie włączona) |
Generowanie awarii testowej | CrashManager.GenerateTestCrash (Tylko system iOS) |
Crash.GenerateTestCrash |
Dołączanie dodatkowych metadanych | Tak | Dokumentacja (można dołączyć z odbiornika) |
Okno dialogowe Dostosowywanie użytkownika | Tak | Dokumentacja (nie dostarczona domyślnie) |
Uzyskiwanie informacji o stanie wysyłania | Tylko system Android | Dokumentacja |
Informacje o poprzedniej awarii | CrashManager.GetLastCrashDetails (Android) lub CrashManager.LastSessionCrashDetails (iOS) |
Crash.GetLastSessionCrashReportAsync |
Wyłączanie usługi w czasie wykonywania | SharedHockeyManager.DisableCrashManager (tylko system iOS) |
Crash.SetEnabledAsync |
Rozłóż
Uwaga
W przeciwieństwie do usługi HockeyApp funkcja aktualizacji w aplikacji usługi App Center działa tylko z kompilacjami RELEASE (domyślnie), które są dystrybuowane przy użyciu usługi rozproszonej App Center . Jeśli aplikacja korzysta z prywatnej grupy dystrybucyjnej, po zainstalowaniu i otwarciu aplikacji po raz pierwszy po dodaniu zestawu SDK dystrybucji centrum aplikacji zostanie otwarta przeglądarka w celu uwierzytelnienia użytkownika i włączenia aktualizacji w aplikacji. Ta przeglądarka zostanie również otwarta, jeśli ustawisz prywatną ścieżkę aktualizacji w aplikacji w czasie wykonywania. Jest to jednorazowy krok, który nie będzie występować w przypadku kolejnych wydań aplikacji. Aby uzyskać więcej informacji, zapoznaj się z dokumentacją dystrybucji centrum aplikacji .
Cecha | HockeyApp | App Center |
---|---|---|
Ograniczone aktualizacje w aplikacji | LoginManager.VerifyLogin (Android) lub Authenticator.AuthenticateInstallation (iOS) |
Distribute.UpdateTrack |
Wyłączanie usługi w czasie wykonywania | UpdateManager.Unregister (Android) lub SharedHockeyManager.DisableUpdateManager (iOS) |
Distribute.SetEnabledAsync |
Dostosowywanie okna dialogowego aktualizacji | Tak | Distribute.ReleaseAvailable |
Usługa opinii
Usługa opinii nie będzie obsługiwana w Centrum aplikacji. Zobacz opinie HockeyApp.