Partager via


App Center Analytics (Android)

Important

Visual Studio App Center a été mis hors service le 31 mars 2025, à l’exception des fonctionnalités d’analyse et de diagnostic, qui continueront d’être prises en charge jusqu’au 30 juin 2026. En savoir plus.

App Center Analytics vous aide à comprendre le comportement des utilisateurs et l’engagement client pour améliorer votre application. Le SDK capture automatiquement le nombre de sessions et les propriétés d’appareil, comme le modèle, la version du système d’exploitation, etc. Vous pouvez définir vos propres événements personnalisés pour mesurer les éléments qui vous concernent. Toutes les informations capturées sont disponibles dans le portail App Center pour vous permettre d’analyser les données.

Suivez la section Prise en main du Kit de développement logiciel (SDK) si vous n’avez pas encore configuré le SDK dans votre application.

Informations sur la session et l’appareil

Une fois que vous avez ajouté App Center Analytics à votre application et démarré le Kit de développement logiciel (SDK), il effectue automatiquement le suivi des sessions et des propriétés d’appareil telles que la version du système d’exploitation, le modèle, etc. sans écrire de code supplémentaire.

Code de pays

Le Kit de développement logiciel (SDK) signale automatiquement le code de pays d’un utilisateur si l’appareil dispose d’un modem de données mobiles et d’une carte SIM installée. Les appareils Wi-Fi uniquement ne signalent pas par défaut un code de pays. Pour définir le code de pays de ces utilisateurs, vous devez récupérer l’emplacement de votre utilisateur vous-même et utiliser la setCountryCode: méthode dans le Kit de développement logiciel (SDK) :

AppCenter.setCountryCode("en");
AppCenter.setCountryCode("en")

Remarque

Pour que le code de pays s’affiche sur les sessions Analytics, AppCenter.setCountryCode doit être appelé avant d’appeler AppCenter.start.

Événements personnalisés

Vous pouvez suivre vos propres événements personnalisés avec jusqu’à 20 propriétés pour comprendre l’interaction entre vos utilisateurs et l’application.

Une fois que vous avez démarré le Kit de développement logiciel (SDK), utilisez la trackEvent() méthode pour suivre vos événements avec des propriétés. Vous pouvez envoyer jusqu’à 200 noms d’événements distincts. En outre, il existe des limites de caractères maximales :

  • 256 caractères par event name.
  • 125 caractères par event property name & event property value.
Map<String, String> properties = new HashMap<>();
properties.put("Category", "Music");
properties.put("FileName", "favorite.avi");

Analytics.trackEvent("Video clicked", properties);
val properties = hashMapOf("Category" to "Music", "FileName" to "favorite.avi")
Analytics.trackEvent("Video clicked", properties)

Les propriétés des événements sont entièrement facultatives : si vous souhaitez simplement suivre un événement, utilisez cet exemple à la place :

Analytics.trackEvent("Video clicked");
Analytics.trackEvent("Video clicked")

Priorité et persistance des événements

Vous pouvez suivre les événements critiques métier qui ont une importance plus élevée que d’autres événements.

  • Les développeurs peuvent définir la priorité des événements comme Normal (Flags.NORMAL dans l’API) ou Critique (Flags.CRITICAL dans l’API).
  • Les événements dont la priorité est définie comme Critique sont récupérés d’abord à partir du stockage et envoyés avant les événements normaux .
  • Lorsque le stockage local est plein et que de nouveaux événements doivent être stockés, les événements les plus anciens avec la priorité la plus basse sont supprimés en premier.
  • Si le stockage est plein de journaux d’activité avec priorité critique , le suivi d’un événement avec priorité normale échoue, car le Kit de développement logiciel (SDK) ne peut pas faire de place dans ce cas.
  • Si vous utilisez également le service Plantages, les journaux de plantage sont marqués comme Critiques et partagent le même stockage que les événements.
  • L’intervalle de transmission est appliqué uniquement aux événements normaux , les événements critiques sont envoyés après 3 secondes.

Vous pouvez utiliser l’API suivante pour suivre un événement comme critique :

Map<String, String> properties = new HashMap<>();
properties.put("Category", "Music");
properties.put("FileName", "favorite.avi");

Analytics.trackEvent("eventName", properties, Flags.CRITICAL);

// If you're using name only, you can pass null as properties.
val properties = hashMapOf("Category" to "Music", "FileName" to "favorite.avi")
Analytics.trackEvent("Video clicked", properties, Flags.CRITICAL)

// If you're using name only, you can pass null as properties.

Suspendre et reprendre l'envoi de fichiers journaux

La suspension de la transmission d’événements peut être utile dans les scénarios où l’application doit contrôler la bande passante réseau pour des besoins plus critiques pour l’entreprise. Vous pouvez suspendre l’envoi de journaux au back-end du centre d'applications. Lorsqu’ils sont suspendus, les événements peuvent toujours être suivis et enregistrés, mais ils ne sont pas envoyés immédiatement. Tous les événements suivis par votre application pendant la pause ne seront envoyés qu’une fois que vous appelez resume.

Analytics.pause();
Analytics.resume();
Analytics.pause()
Analytics.resume()

Activer ou désactiver App Center Analytics au moment de l’exécution

Vous pouvez activer et désactiver App Center Analytics au moment de l’exécution. Si vous le désactivez, le Kit de développement logiciel (SDK) ne collecte plus d’informations d’analyse pour l’application.

Analytics.setEnabled(false);
Analytics.setEnabled(false)

Pour réactiver App Center Analytics, utilisez la même API, mais passez true en tant que paramètre.

Analytics.setEnabled(true);
Analytics.setEnabled(true)

L’état est conservé dans le stockage de l’appareil dans les lancements d’application.

Cette API est asynchrone, vous pouvez en savoir plus sur cela dans notre guide des API asynchrones App Center .

Remarque

Cette méthode ne doit être utilisée qu’après le démarrage de Analytics.

Vérifier si App Center Analytics est activé

Vous pouvez également vérifier si App Center Analytics est activé ou non.

Analytics.isEnabled();
Analytics.isEnabled()

Cette API est asynchrone, vous pouvez en savoir plus sur cela dans notre guide des API asynchrones App Center .

Remarque

Cette méthode ne doit être utilisée qu’une fois Analytics démarrée, elle retourne false toujours avant le début.

Gérer la session de démarrage

Par défaut, l’ID de session dépend du cycle de vie de l’application. Si vous souhaitez contrôler manuellement le début d’une nouvelle session, suivez les étapes suivantes :

Remarque

Soyez attentif à ce que chaque appel de l’API Analytics.StartSession() génère une nouvelle session. Si, en mode de suivi de session manuel, cette API ne sera pas appelée, tous les journaux d’activité d’envoi auront une valeur de session Null.

Remarque

Attention, après le lancement d’une nouvelle application, l’ID de session sera régénéré.

  • Appelez la méthode suivante avant le démarrage du Kit de développement logiciel (SDK) :
Analytics.enableManualSessionTracker();
Analytics.enableManualSessionTracker()
  • Vous pouvez ensuite utiliser l’API startSession après :AppCenter.start
Analytics.startSession();
Analytics.startSession()

Taille du stockage local

Par défaut, le Kit de développement logiciel (SDK) stocke tous les journaux d’événements jusqu’à 10 Mo. Les développeurs peuvent utiliser une API pour augmenter la taille de stockage et le SDK continuera à stocker les journaux jusqu'à ce que le stockage soit plein.

Aucun accès à Internet

Lorsqu’il n’existe aucune connectivité réseau, le SDK enregistre jusqu’à 10 Mo de journaux dans le stockage local. Une fois le stockage plein, le SDK commence à supprimer les anciens journaux pour faire de la place aux nouveaux journaux. Lorsque la connectivité réseau est rétablie, le SDK envoie les journaux par lots de 50 ou toutes les 6 secondes (par défaut).

Remarque

Les journaux antérieurs à 25 jours ne seront pas acceptés par le serveur principal.

Journaux des événements de traitement par lots

Le SDK App Center charge les journaux par lots de 50 et, si le SDK n’a pas 50 journaux à envoyer, il les envoie quand même après 6 secondes (par défaut). Il peut y avoir un maximum de trois lots envoyés en parallèle. L’intervalle de transmission peut être modifié :

// Change transmission interval to 10 seconds.
Analytics.setTransmissionInterval(10000);
// Change transmission interval to 10 seconds.
Analytics.setTransmissionInterval(10000)

La valeur de l’intervalle de transmission doit être comprise entre 6 secondes et 86400 secondes (un jour) et cette méthode doit être appelée avant le démarrage du service.

Nouvelle tentative et logique d’interruption

Le Kit de développement logiciel (SDK) App Center prend en charge les nouvelles tentatives sur les erreurs réseau récupérables. Voici la logique de nouvelle tentative :

  • 3 essais maximum par requête.
  • Chaque requête a son propre automate d'état de réessai.
  • Tous les canaux de transmission sont désactivés (jusqu’au prochain processus d’application) après qu’une demande épuise toutes ses nouvelles tentatives.

Logique de repli

  • 50% randomisation, commencez par réessayer entre 5 et 10 secondes, essayez ensuite entre 2,5 et 5 minutes, la dernière tentative entre 10 et 20 minutes.
  • Si le réseau bascule de coupé à actif (ou de wi-fi à mobile), les états de réinitialisation sont activés et les demandes sont retentées immédiatement.