App Center Analytics (Android)

Important

Visual Studio App Center doit être mis hors service le 31 mars 2025. Bien que vous puissiez continuer à utiliser Visual Studio App Center jusqu’à ce qu’il soit entièrement mis hors service, il existe plusieurs alternatives recommandées vers lesquelles vous pouvez envisager de migrer.

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

App Center Analytics vous aide à comprendre le comportement des utilisateurs et l’engagement des clients pour améliorer votre application. Le Kit de développement logiciel (SDK) capture automatiquement le nombre de sessions et les propriétés de l’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 importent. 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 KIT de développement logiciel (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 SDK, il effectue automatiquement le suivi des sessions et des propriétés de l’appareil, comme la version du système d’exploitation, le modèle, etc. sans écrire de code supplémentaire.

Indicatif 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. Les appareils Wi-Fi uniquement ne signalent pas de code de pays par défaut. Pour définir le code de pays de ces utilisateurs, vous devez récupérer vous-même l’emplacement de votre utilisateur et utiliser la setCountryCode: méthode dans le KIT de développement logiciel (SDK) :

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

Notes

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 maximales de caractères :

  • 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 plutôt cet exemple :

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

Priorité et persistance de l’événement

Vous pouvez suivre les événements critiques pour l’entreprise 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 d’abord récupérés à partir du stockage et envoyés avant les événements Normaux .
  • Lorsque le stockage local est plein et que les nouveaux événements doivent être stockés, les événements les plus anciens avec la priorité la plus faible sont d’abord supprimés.
  • Si le stockage est rempli de journaux avec priorité critique , le suivi d’un événement avec la 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 Crash, les journaux d’incident sont définis 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 seront 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 des journaux

La suspension de la transmission des événements peut être utile dans les scénarios où l’application doit contrôler la bande passante réseau pour répondre à des besoins plus critiques pour l’entreprise. Vous pouvez suspendre l’envoi des journaux au back-end App Center. 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 en 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 entre les lancements d’application.

Cette API est asynchrone. Vous pouvez en savoir plus à ce sujet dans notre guide des API asynchrones App Center .

Notes

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

Vérifier si App Center Analytics est activé

Vous pouvez également case activée si App Center Analytics est activé ou non.

Analytics.isEnabled();
Analytics.isEnabled()

Cette API est asynchrone. Vous pouvez en savoir plus à ce sujet dans notre guide des API asynchrones App Center .

Notes

Cette méthode ne doit être utilisée qu’après Analytics avoir démarré. Elle sera toujours retournée false 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 :

Notes

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

Notes

Faites attention au fait qu’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 du stockage et le KIT de développement logiciel (SDK) continue de stocker les journaux jusqu’à ce que le stockage soit plein.

Pas d’accès à Internet

En l’absence de connectivité réseau, le Kit de développement logiciel (SDK) enregistre jusqu’à 10 Mo de journaux d’activité dans le stockage local. Une fois le stockage plein, le KIT de développement logiciel (SDK) commence à ignorer les anciens journaux pour faire de la place pour les nouveaux journaux. Une fois la connectivité réseau retournée, le KIT de développement logiciel (SDK) envoie les journaux dans le lot de 50 ou après toutes les 6 secondes (par défaut).

Notes

Les journaux antérieurs à 25 jours ne seront pas acceptés par le back-end.

Journaux d’événements de traitement par lots

Le Kit de développement logiciel (SDK) App Center charge les journaux dans un lot de 50 et si le SDK n’a pas 50 journaux à envoyer, il envoie toujours les journaux après 6 secondes (par défaut). Un maximum de trois lots peuvent être 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.

Logique de nouvelle tentative et de sauvegarde

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

  • 3 tentatives maximum par requête.
  • Chaque requête a sa propre machine d’état de nouvelle tentative.
  • Tous les canaux de transmission sont désactivés (jusqu’au processus d’application suivant) après qu’une requête a épuisé toutes ses nouvelles tentatives.

Logique de back-off

  • Randomisation à 50 %, première nouvelle tentative entre 5 et 10 secondes, ensuite entre 2,5 et 5 minutes, dernier essai entre 10 et 20 minutes.
  • Si le réseau bascule de désactivé à activé (ou du wi-fi au mobile), les états de nouvelles tentatives sont réinitialisés et les demandes sont retentées immédiatement.