Freigeben über


Migrieren vom HockeySDK zum App Center Xamarin SDK

Wichtig

Visual Studio App Center wird am 31. März 2025 eingestellt. Sie können Visual Studio App Center zwar weiterhin verwenden, bis es vollständig eingestellt ist, es gibt jedoch mehrere empfohlene Alternativen, zu denen Sie möglicherweise eine Migration in Erwägung ziehen.

Erfahren Sie mehr über Supportzeitpläne und Alternativen.

Befolgen Sie diese Dokumentation, wenn Sie Ihre Anwendung aktualisieren möchten, um das App Center SDK anstelle von HockeySDK zu verwenden.

1. Aktualisieren der Bibliotheken

Ersetzen Sie das HockeySDK.Xamarin NuGet-Paket in allen Projekten in Ihrer Projektmappe durch App Center-Pakete.

Visual Studio für Mac

  • Öffnen Sie Visual Studio für Mac.
  • Klicken Sie auf Datei>öffnen , und wählen Sie Ihre Projektmappe aus.
  • Klicken Sie im Projektmappennavigator mit der rechten Maustaste auf den Abschnitt Pakete , und wählen Sie NuGet-Pakete hinzufügen... aus.
  • Entfernen Sie das Paket HockeySDK.Xamarin .
  • Suchen Sie nach App Center, und wählen Sie App Center Analytics, App Center Abstürze und App Center Verteilen aus.
  • Klicken Sie auf Pakete hinzufügen.

Visual Studio für Windows

  • Öffnen Sie Visual Studio für Windows.
  • Klicken Sie auf Datei>öffnen , und wählen Sie Ihre Projektmappe aus.
  • Klicken Sie im Lösungsnavigator mit der rechten Maustaste auf Verweise , und wählen Sie NuGet-Pakete verwalten aus.
  • Entfernen Sie das Paket HockeySDK.Xamarin .
  • Suchen Sie nach App Center, und installieren Sie die Pakete Microsoft.AppCenter.Analytics, Microsoft.AppCenter.Crashes und Microsoft.AppCenter.Distribute .

Paket-Manager-Konsole

  • Öffnen Sie die Konsole in Visual Studio. Wählen Sie hierzu Extras>NuGet-Paket-Manager-Paket-Manager-Konsole>aus.
  • Wenn Sie in Visual Studio für Mac arbeiten, stellen Sie sicher, dass Sie NuGet-Paketverwaltungserweiterungen installiert haben. Wählen Sie hierzu VisualStudio-Erweiterungen> aus, suchen Sie nach NuGet, und installieren Sie sie bei Bedarf.
  • Geben Sie den folgenden Befehl in die Konsole ein:
Uninstall-Package HockeySDK.Xamarin
Install-Package Microsoft.AppCenter.Analytics
Install-Package Microsoft.AppCenter.Crashes
Install-Package Microsoft.AppCenter.Distribute

Das App Center SDK ist mit einem modularen Ansatz konzipiert: Sie können nur die Dienste integrieren, die Sie interessieren. Jedes SDK-Modul muss in diesem Abschnitt als separate Abhängigkeit hinzugefügt werden. Sehen Sie sich die Äquivalenzen in der nächsten Tabelle an:

HockeyApp-Klasse App Center-Modul
MetricsManager Analytics
CrashManager Crashes
UpdateManager Distribute

2. Aktualisieren des SDK-Setupcodes

2.1 Konvertieren des Anwendungsbezeichners

Das App Center SDK verwendet Anwendungsbezeichner im GUID-Format (Globally Unique Identifier). Ihre HockeyApp App-ID kann vom App Center verwendet werden, sie muss jedoch in ein anderes Format konvertiert werden. Um den Bezeichner zu konvertieren, müssen Sie vier Bindestriche hinzufügen, um eine 8-4-4-4-12-Darstellung zu erhalten.

Vorher (HockeyApp): 00112233445566778899aabbccddeeff

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

2.2 Ersetzen der SDK-Initialisierung im Anwendungscode

  1. Entfernen Sie den alten HockeyApp-Registrierungscode.

    • Xamarin.Android : Öffnen Sie die MainActivity.cs des Projekts, und entfernen Sie die folgenden Zeilen:

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

      Entfernen Sie das folgende Attribut auf Assemblyebene in Eigenschaften/AssemblyInfo.cs:

      [assembly: MetaData ("net.hockeyapp.android.appIdentifier", Value="APP_IDENTIFIER")]
      
    • Xamarin.iOS : Öffnen Sie die AppDelegate.cs des Projekts, und entfernen Sie die folgenden Zeilen:

      using HockeyApp.iOS;
      
      ...
      
      var manager = BITHockeyManager.SharedHockeyManager;
      manager.Configure("APP_IDENTIFIER");
      manager.StartManager();
      manager.Authenticator.AuthenticateInstallation();
      
  2. Starten des App Center SDK

    • Der weiter unten in diesem Abschnitt erwähnte Initialisierungscode erfordert das Hinzufügen der folgenden Zeilen unter den vorhandenen using Anweisungen:
    using Microsoft.AppCenter;
    using Microsoft.AppCenter.Analytics;
    using Microsoft.AppCenter.Crashes;
    using Microsoft.AppCenter.Distribute;
    

    Xamarin.Android:

    Öffnen Sie die MainActivity.cs Datei des Projekts, und fügen Sie den Start() Aufruf in der OnCreate() -Methode hinzu.

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

    Hinweis

    Wenn Ihre Anwendung über Hintergrunddienste oder mehrere Einstiegspunkte wie einen Broadcastempfänger, exportierte Aktivitäten oder Inhaltsanbieter verfügt, wird empfohlen, stattdessen mit dem Application.OnCreate Rückruf zu beginnenAppCenter.

    Xamarin.iOS:

    Öffnen Sie die Projektdatei, AppDelegate.cs und fügen Sie den Start() Aufruf innerhalb der FinishedLaunching() -Methode hinzu.

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

    Hinweis

    Wenn Sie Abstürze verwenden, müssen Sie diese Methode im Ui/Standard-Thread aufrufen und vermeiden, Hintergrundaufgaben zu starten, bis die Start Methode zurückgegeben wird. Der Grund ist, dass jede NULL-Verweisausnahme, die während der Initialisierung von Abstürze von einem anderen Thread abgefangen wird, einen systemeigenen Absturz auslösen und die Catch-Klausel ignorieren kann. Sobald die AppCenter.Start Methode zurückgegeben wird, ist es sicher, null-Verweisausnahmen erneut zu versuchen/abzufangen. Weitere Informationen zur Ursache dieses Zeitsteuerungsproblems finden Sie im Artikel Signale und Absturzreporter von Drittanbietern .

    Xamarin.Forms:

    Um eine Xamarin.Forms-Anwendung für iOS-, Android- und UWP-Plattformen zu verwenden, müssen Sie drei Anwendungen im App Center-Portal erstellen – eine für jede Plattform. Beim Erstellen von drei Apps erhalten Sie drei App-Geheimnisse – jeweils eins. Öffnen Sie die App.xaml.cs Datei des Projekts (oder Ihre Klasse, die von Xamarin.Forms.Applicationerbt) in Ihrem freigegebenen oder portablen Projekt, und fügen Sie die folgende Methode in der OnStart() -Methode hinzu.

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

    Wichtig

    Die geschweiften Klammern sollen lediglich dokumentieren, dass Sie diesen Inhalt durch die tatsächlichen App-Geheimnisse ersetzen müssen. Legen Sie keine geschweiften Klammern in den Start Aufruf ein.

    Hinweis

    Falls Sie das HockeyApp SDK für Android verwenden, müssen Sie das HockeyApp SDK nach dem App Center SDK initialisieren. Für Ihre iOS-Anwendung ist es nicht möglich, mehr als ein aktives Absturzberichts-SDK in Ihrer App zu haben. Deaktivieren Sie die Absturzberichtsfunktion der anderen SDKs, um sicherzustellen, dass App Center die Abstürze abfangen kann.

    Hinweis

    Die Hinweise aus den vorherigen Abschnitten zu iOS und Android gelten auch für Xamarin.Forms. Wenn diese Hinweise für Ihre Anwendung gelten, müssen Sie AppCenter möglicherweise an verschiedenen Stellen pro Plattform initialisieren.

  3. [Nur für die Verteilung von iOS] Ändern der Datei Info.plist des Projekts

    • Fügen Sie einen neuen Schlüssel für URL types oder CFBundleURLTypes in Ihrer Info.plist-Datei hinzu (falls Xcode Ihre Info.plist als Quellcode anzeigt).
    • Ändern Sie den Schlüssel des ersten untergeordneten Elements in URL Schemes oder CFBundleURLSchemes.
    • Geben Sie appcenter-${Your App Secret} als URL-Schema ein, und ersetzen Sie ${Your App Secret} durch das App-Geheimnis Ihrer App.

    Weitere Informationen hierzu finden Sie in der Dokumentation zum Verteilen von App Center.

  4. Ersetzen Sie alle HockeyApp-API-Aufrufe in der gesamten Anwendung. Die detaillierten API-Zuordnungstabellen sind unten aufgeführt.

3. Dienste- und Featurevergleich

Core

Funktion HockeyApp App Center
Anpassen der Protokollebene SharedHockeyManager.LogLevel (iOS) oder HockeyLog.LogLevel (Android) AppCenter.LogLevel
Identifizieren von Installationen nur iOS AppCenter.GetInstallIdAsync
Identifizieren von Benutzern Nur Absturz AppCenter.SetUserId

Analyse

Funktion HockeyApp App Center
Automatisches Nachverfolgen von Sitzungen Ja, kann nur unter Android deaktiviert werden Dokumentation (kann nicht deaktiviert werden)
Benutzerdefinierte Ereignisse mit Eigenschaften HockeyApp.MetricsManager.TrackEvent Analytics.TrackEvent
Deaktivieren des Diensts zur Laufzeit MetricsManager.DisableUserMetrics (Android) oder SharedHockeyManager.DisableMetricsManager (iOS) Analytics.SetEnabledAsync

Crashes

Funktion HockeyApp App Center
Automatisches Senden von Abstürze Standardmäßig deaktiviert Dokumentation (standardmäßig aktiviert)
Generieren eines Testabsturzes CrashManager.GenerateTestCrash (Nur iOS) Crashes.GenerateTestCrash
Anfügen zusätzlicher Metadaten Yes Dokumentation (kann vom Listener angefügt werden)
Dialogfeld "Benutzer anpassen" Yes Dokumentation (standardmäßig nicht bereitgestellt)
Abrufen von Informationen zum sendenden status Nur Android Dokumentation
Informationen zu einem vorherigen Absturz CrashManager.GetLastCrashDetails (Android) oder CrashManager.LastSessionCrashDetails (iOS) Crashes.GetLastSessionCrashReportAsync
Deaktivieren des Diensts zur Laufzeit SharedHockeyManager.DisableCrashManager (nur iOS) Crashes.SetEnabledAsync

Verteilen

Hinweis

Im Gegensatz zu HockeyApp funktioniert das App Center-Feature für In-App-Updates nur mit RELEASE-Builds (standardmäßig), die mithilfe des App Center-Verteilungsdiensts verteilt werden. Wenn die App eine private Verteilergruppe verwendet, wird nach der Installation und dem ersten Öffnen der App Center Distribution SDK ein Browser geöffnet, um den Benutzer zu authentifizieren und In-App-Updates zu aktivieren. Dieser Browser wird auch geöffnet, wenn Sie zur Laufzeit die private In-App-Updatespur festlegen. Dies ist ein EINMALIGEr Schritt, der für nachfolgende Versionen Ihrer App nicht ausgeführt wird. Weitere Informationen finden Sie in der App Center-Dokumentation zum Verteilen .

Funktion HockeyApp App Center
Eingeschränkte In-App-Updates LoginManager.VerifyLogin (Android) oder Authenticator.AuthenticateInstallation (iOS) Distribute.UpdateTrack
Deaktivieren des Diensts zur Laufzeit UpdateManager.Unregister (Android) oder SharedHockeyManager.DisableUpdateManager (iOS) Distribute.SetEnabledAsync
Anpassen des Aktualisierungsdialogfelds Yes Distributed.ReleaseAvailable

Feedback-Dienst

Der Feedbackdienst wird in App Center nicht unterstützt. Weitere Informationen finden Sie unter HockeyApp-Feedback.