Utilisation de AppAnalytics dans FireMonkey

De RAD Studio
Aller à : navigation, rechercher

Remonter à Conception d'applications FireMonkey


RAD Studio intègre AppAnalytics dans FireMonkey pour toutes les plates-formes cible prises en charge : Win32, Win64, MacOSX, iOS et Android, dans les applications Delphi et C++Builder.

AppAnalytics peut vous aider à comprendre comment les clients utilisent votre application. AppAnalytics fournit des informations utiles, telles que la version du SE, les sessions bloquées, etc. Il offre aussi la possibilité de suivre vos propres événements personnalisés ce qui en fait un outil puissant pour les développeurs.

Comment démarrer avec AppAnalytics dans FireMonkey

Vous devez déposer un composant TAppAnalytics AppAnalytics.png dans votre application. Dans l'inspecteur d'objets, vous devez ensuite ajouter l'identificateur ApplicationID.

Remarque : Vous devez obtenir un compte AppAnalytics et un identificateur d'application pour pouvoir utiliser AppAnalytics dans votre application.

Dès que AppAnalytics est actif, l'usage des données est disponible en quelques minutes dans l'interface Web AppAnalytics (EN).

Activation/désactivation de la collecte de données avec AppAnalytics

L'implémentation FireMonkey de AppAnalytics utilise la propriété TAppAnalytics.Enabled pour activer ou désactiver le suivi des données d'usage.

Une fois que AppAnalytics est activé, une déclaration de confidentialité apparaît et demande la permission à l'utilisateur. Le suivi des données d'usage ne se produit que si l'utilisateur accepte cette boîte de dialogue. Sinon, le suivi reste inactif.

PrivacynoticeFMX.png

Remarque : L'image présente le texte par défaut de la déclaration de confidentialité. Vous pouvez toutefois changer ce texte en modifiant la propriété TAppAnalytics.PrivacyMessage.

Lorsque l'utilisateur donne son consentement, AllowTracking est définie sur True, et AppAnalytics collecte et envoie les données d'usage à moins que l'utilisateur ne désactive le suivi.

Néanmoins dans FireMonkey, le composant AppAnalytics n'enregistre pas automatiquement la permission de l'utilisateur. Pour cette raison, vous devez gérer l'enregistrement au moyen du SaveState de la fiche ou d'un autre mécanisme, afin que la permission de l'utilisateur persiste dans les prochaines sessions de l'application.

Avertissement : Ni vous, ni vos utilisateurs ne devez envoyer des informations personnelles, privées ou identifiables sur cette connexion. Le faire est une violation de la politique de confidentialité.

Pour de plus amples informations sur la façon dont le composant TAppAnalytics respecte la vie privée dans FireMonkey, voir Comment obtenir le consentement de l'utilisateur pour AppAnalytics dans FireMonkey.

Configuration des options de suivi pour AppAnalytics dans FireMonkey

Vous pouvez choisir les données que AppAnalytics collecte automatiquement en sélectionnant n'importe quelle combinaison de paramètres dans la propriété TAppAnalytics.Options.

Vous pouvez suivre les activités suivantes :

  • Lorsque l'utilisateur active ou désactive le suivi des données d'usage (AppStart/AppExit).
  • Lorsqu'une fenêtre ou une fiche est activée (WindowActivated).
  • Lorsque l'application déclenche une exception (Exception).
  • Lorsqu'un contrôle visuel reçoit la focalisation (ControlFocused), ce qui est utile pour suivre l'usage des composants de l'application.

En outre, vous pouvez définir des événements personnalisés et le mécanisme d'enregistrement des événements et de leurs données (Custom).

Autres options de configuration

Vous pouvez définir le nombre maximal d'événements que AppAnalytics collecte avant de les envoyer au serveur pour analyse en utilisant CacheSize.

Vous pouvez également choisir l'intervalle auquel AppAnalytics envoie automatiquement les données collectées au serveur pour analyse. Cet intervalle est défini en millisecondes par le biais de la propriété UpdateInterval.

Les deux propriétés sont égales à 0 par défaut.

Avertissement : Nous vous recommandons de toujours définir des valeurs personnalisées pour les propriétés CacheSize et UpdateInterval.

Envoi de données au serveur

La liste suivante décrit les différents scénarios dans lesquels les données sont envoyées à l'interface Web AppAnalytics (EN) :

Si TAppAnalytics.Enabled est défini sur True et que l'utilisateur clique sur Oui dans la fenêtre de déclaration de confidentialité :

  1. Lorsque CacheSize atteint les entrées définies indépendamment de la valeur de UpdateInterval.
  2. Chaque période définie dans UpdateInterval indépendamment de la valeur de CacheSize.
  3. Lorsque la propriété TAppAnalytics.Enabled passe de True à False même si l'application est ouverte.
  4. Lorsque l'application se termine par un arrêt progressif.

Suivi d'événements personnalisés

Grâce à AppAnalytics, les développeurs peuvent créer des événements personnalisés pour en savoir plus sur la façon dont les utilisateurs utilisent l'application.

Pour enregistrer un événement personnalisé, effectuez les étapes suivantes :

  1. Créez un objet TCustomEventContext pour stocker les données d'événement que vous souhaitez enregistrer. L'objet TCustomEventContext accepte 4 paramètres, 3 chaînes et un Double. Les paramètres concernés sont Category, Action, Text et Value.
    • Utilisez Category pour créer une catégorie d'événements ou regrouper les événements.
    • Utilisez Action pour différencier les actions appartenant à la même catégorie.
    • Utilisez Text pour créer un libellé pour une action et une valeur spécifiques.
    • Utilisez Value pour obtenir une valeur lorsque l'événement se produit.
      Remarque : Aucune chaîne ne doit être vide.
  2. Enregistrez l'événement en transmettant l'objet TCustomEventContext à la méthode TAnalyticsManager.RecordActivity.

Une fois que les données sont envoyées au serveur, vous pouvez consulter les informations dans l'onglet Evénements personnalisés de l'application. Cliquez sur Catégorie pour développer et afficher les informations restantes pour cet événement.

Reportez-vous à TCustomEventContext pour un exemple.

Voir aussi

Exemples de code