Udostępnij za pośrednictwem


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

  1. 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();
      
  2. 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ątrz OnCreate() metody

    AppCenter.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 zwrotnego Application.OnCreate .

    Xamarin.iOS:

    Otwórz plik projektu AppDelegate.cs i dodaj Start() wywołanie wewnątrz FinishedLaunching() metody

    AppCenter.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 powrocie AppCenter.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 metodzie OnStart() .

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

  3. [Tylko w przypadku dystrybucji systemu iOS] Modyfikowanie pliku Info.plist projektu

    • Dodaj nowy klucz dla URL types pliku Info.plist lub CFBundleURLTypes (w przypadku, gdy program Xcode wyświetla plik Info.plist jako kod źródłowy).
    • Zmień klucz pierwszego elementu podrzędnego na URL Schemes lub CFBundleURLSchemes.
    • 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.

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