Partager via


Migrer du Kit de développement logiciel (SDK) HockeySDK vers App Center Xamarin

Important

La mise hors service de Visual Studio App Center est prévue pour le 31 mars 2025. Bien que vous puissiez continuer à utiliser Visual Studio App Center jusqu’à sa mise hors service complète, il existe plusieurs alternatives recommandées vers lesquelles vous pouvez envisager la migration.

En savoir plus sur les chronologies et les alternatives de support.

Suivez cette documentation si vous souhaitez mettre à jour votre application pour utiliser le Kit de développement logiciel (SDK) App Center au lieu de HockeySDK.

1. Mettre à jour les bibliothèques

Remplacez le package NuGet HockeySDK.Xamarin par des packages App Center dans tous les projets de votre solution.

Visual Studio pour Mac

  • Ouvrez Visual Studio pour Mac.
  • Cliquez sur Fichier>Ouvrir et choisissez votre solution.
  • Dans le navigateur de solutions, cliquez avec le bouton droit sur la section Packages , puis choisissez Ajouter des packages NuGet....
  • Supprimez le package HockeySDK.Xamarin .
  • Recherchez App Center, puis sélectionnez App Center Analytics, App Center Crashs et App Center Distribute.
  • Cliquez sur Ajouter des packages.

Visual Studio pour Windows

  • Ouvrez Visual Studio pour Windows.
  • Cliquez sur Fichier>Ouvrir et choisissez votre solution.
  • Dans le navigateur de solution, cliquez avec le bouton droit sur Références et choisissez Gérer les packages NuGet.
  • Supprimez le package HockeySDK.Xamarin .
  • Recherchez App Center et installez les packages Microsoft.AppCenter.Analytics, Microsoft.AppCenter.Crashes et Microsoft.AppCenter.Distribute .

Console du Gestionnaire de package

  • Ouvrez la console dans Visual Studio. Pour ce faire, choisissez Outils Console> dugestionnaire de packageNuGet Package Manager>.
  • Si vous travaillez dans Visual Studio pour Mac, vérifiez que vous avez installé les extensions de gestion de package NuGet. Pour cela, choisissezExtensionsVisual Studio>, recherchez NuGet et installez, si nécessaire.
  • Tapez la commande suivante dans la console :
Uninstall-Package HockeySDK.Xamarin
Install-Package Microsoft.AppCenter.Analytics
Install-Package Microsoft.AppCenter.Crashes
Install-Package Microsoft.AppCenter.Distribute

Le Kit de développement logiciel (SDK) App Center est conçu avec une approche modulaire : vous pouvez intégrer uniquement les services qui vous intéressent. Chaque module sdk doit être ajouté en tant que dépendance distincte dans cette section. Consultez les équivalences dans le tableau suivant :

Classe HockeyApp Module App Center
MetricsManager Analytics
CrashManager Crashes
UpdateManager Distribute

2. Mettre à jour le code d’installation du SDK

2.1 Convertir l’identificateur d’application

Le Kit de développement logiciel (SDK) App Center utilise des identificateurs d’application au format GUID (Identificateur global unique). Votre ID d’application HockeyApp peut être utilisé par App Center, mais vous devez le convertir dans un autre format. Pour convertir l’identificateur, vous devez ajouter quatre traits d’union pour obtenir la représentation 8-4-4-4-12.

Avant (HockeyApp) : 00112233445566778899aabbccddeeff

Après (App Center) : 00112233-4455-6677-8899-aabbccddeeff

2.2 Remplacer l’initialisation du Kit de développement logiciel (SDK) dans le code de l’application

  1. Supprimez l’ancien code d’inscription HockeyApp.

    • Xamarin.Android : ouvrez le MainActivity.cs du projet et supprimez les lignes ci-dessous :

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

      Supprimez l’attribut de niveau d’assembly suivant dans Properties/AssemblyInfo.cs :

      [assembly: MetaData ("net.hockeyapp.android.appIdentifier", Value="APP_IDENTIFIER")]
      
    • Xamarin.iOS : ouvrez le AppDelegate.cs du projet et supprimez les lignes ci-dessous :

      using HockeyApp.iOS;
      
      ...
      
      var manager = BITHockeyManager.SharedHockeyManager;
      manager.Configure("APP_IDENTIFIER");
      manager.StartManager();
      manager.Authenticator.AuthenticateInstallation();
      
  2. Démarrer le Kit de développement logiciel (SDK) App Center

    • Le code d’initialisation mentionné plus loin dans cette section nécessite l’ajout des lignes suivantes sous les instructions existantes using :
    using Microsoft.AppCenter;
    using Microsoft.AppCenter.Analytics;
    using Microsoft.AppCenter.Crashes;
    using Microsoft.AppCenter.Distribute;
    

    Xamarin.Android :

    Ouvrez le fichier MainActivity.cs du projet et ajoutez l’appel Start() à l’intérieur de la OnCreate() méthode

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

    Notes

    Si votre application a des services d’arrière-plan ou plusieurs points d’entrée comme un récepteur de diffusion, des activités exportées ou des fournisseurs de contenu, il est recommandé de commencer AppCenter dans le rappel à la Application.OnCreate place.

    Xamarin.iOS :

    Ouvrez le fichier du AppDelegate.cs projet et ajoutez l’appel Start() à l’intérieur de la FinishedLaunching() méthode

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

    Notes

    Si vous utilisez des incidents, vous devez appeler cette méthode dans l’interface utilisateur/main thread et éviter de démarrer des tâches en arrière-plan tant que la Start méthode n’est pas retournée. La raison en est que toute exception de référence Null interceptée à partir d’un autre thread pendant l’initialisation des incidents peut déclencher un plantage natif et ignorer la clause catch. Une fois que la AppCenter.Start méthode est retournée, il est sûr d’essayer/intercepter à nouveau les exceptions de référence null. Vous pouvez en savoir plus sur la cause de ce problème de minutage dans l’article Signaux et reporters d’incidents tiers .

    Xamarin.Forms :

    Pour utiliser une application Xamarin.Forms ciblant des plateformes iOS, Android et UWP, vous devez créer trois applications dans le portail App Center : une pour chaque plateforme. La création de trois applications vous donne trois secrets d’application , un pour chaque. Ouvrez le fichier App.xaml.cs du projet (ou votre classe qui hérite de Xamarin.Forms.Application) dans votre projet partagé ou portable et ajoutez la méthode ci-dessous dans la OnStart() méthode .

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

    Important

    Les accolades sont simplement pour documenter que vous devez remplacer ce contenu par les secrets d’application réels. Ne mettez pas d’accolades dans l’appel Start .

    Notes

    Si vous utilisez le Kit de développement logiciel (SDK) HockeyApp pour Android, veillez à initialiser le Kit de développement logiciel (SDK) HockeyApp APRÈS le Kit de développement logiciel (SDK) App Center. Pour votre application iOS, il n’est pas possible d’avoir plusieurs SDK de rapports d’incidents actifs dans votre application. Désactivez la fonctionnalité de création de rapports d’incidents des autres SDK pour vous assurer qu’App Center peut intercepter les incidents.

    Notes

    Les notes des sections précédentes sur iOS et Android s’appliquent également à Xamarin.Forms. Si ces remarques s’appliquent à votre application, vous devrez peut-être initialiser AppCenter à différents emplacements par plateforme.

  3. [Pour distribuer iOS uniquement] Modifier le fichier Info.plist du projet

    • Ajoutez une nouvelle clé pour URL types ou CFBundleURLTypes dans votre fichier Info.plist (au cas où Xcode affiche votre Info.plist en tant que code source).
    • Remplacez la clé du premier élément enfant par URL Schemes ou CFBundleURLSchemes.
    • Entrez comme schéma d’URL et remplacez appcenter-${Your App Secret} par ${Your App Secret} le secret de l’application de votre application.

    Pour plus d’informations à ce sujet, consultez la documentation App Center Distribute.

  4. Remplacez tous les appels d’API HockeyApp dans l’application. Les tables de mappage d’API détaillées sont fournies ci-dessous.

3. Comparaison des services et des fonctionnalités

Core

Fonctionnalité HockeyApp App Center
Ajuster le niveau de journalisation SharedHockeyManager.LogLevel (iOS) ou HockeyLog.LogLevel (Android) AppCenter.LogLevel
Identifier les installations iOS uniquement AppCenter.GetInstallIdAsync
Identifier les utilisateurs Incident uniquement AppCenter.SetUserId

Analytics

Fonctionnalité HockeyApp App Center
Suivre automatiquement les sessions Oui, ne peut être désactivé que sur Android Documentation (ne peut pas être désactivée)
Événements personnalisés avec des propriétés HockeyApp.MetricsManager.TrackEvent Analytics.TrackEvent
Désactiver le service au moment de l’exécution MetricsManager.DisableUserMetrics (Android) ou SharedHockeyManager.DisableMetricsManager (iOS) Analytics.SetEnabledAsync

Crashes

Fonctionnalité HockeyApp App Center
L’envoi automatique se bloque Désactivée par défaut Documentation (activée par défaut)
Générer un incident de test CrashManager.GenerateTestCrash (iOS uniquement) Crash.GenerateTestCrash
Joindre des métadonnées supplémentaires Yes Documentation (peut être jointe à partir de l’écouteur)
Boîte de dialogue Personnaliser l’utilisateur Yes Documentation (non fournie par défaut)
Obtenir des informations sur les status d’envoi Android uniquement Documentation
Informations sur un incident précédent CrashManager.GetLastCrashDetails (Android) ou CrashManager.LastSessionCrashDetails (iOS) Crash.GetLastSessionCrashReportAsync
Désactiver le service au moment de l’exécution SharedHockeyManager.DisableCrashManager (iOS uniquement) Crash.SetEnabledAsync

Distribuer

Notes

Contrairement à HockeyApp, la fonctionnalité de mises à jour dans l’application App Center fonctionne uniquement avec les builds RELEASE (par défaut) qui sont distribuées à l’aide du service De distribution App Center . Si l’application utilise un groupe de distribution privé, une fois l’application installée et ouverte pour la première fois après l’ajout du Kit de développement logiciel (SDK) App Center Distribute, un navigateur s’ouvre pour authentifier l’utilisateur et activer les mises à jour dans l’application. Ce navigateur s’ouvre également si vous définissez la piste de mise à jour privée dans l’application au moment de l’exécution. Il s’agit d’une étape UNIQUE qui ne se produira pas pour les versions ultérieures de votre application. Pour plus d’informations, reportez-vous à la documentation de distribution d’App Center .

Fonctionnalité HockeyApp App Center
Mises à jour restreintes dans l’application LoginManager.VerifyLogin (Android) ou Authenticator.AuthenticateInstallation (iOS) Distribute.UpdateTrack
Désactiver le service au moment de l’exécution UpdateManager.Unregister (Android) ou SharedHockeyManager.DisableUpdateManager (iOS) Distribute.SetEnabledAsync
Personnaliser la boîte de dialogue de mise à jour Yes Distribute.ReleaseAvailable

Service de commentaires

Le service de commentaires ne sera pas pris en charge dans App Center. Consultez commentaires HockeyApp.