Premiers pas avec les évènements d’application (Android)

Ce guide vous indique comment ajouter des évènements d’application à votre application nouvelle ou existante en intégrant le SDK Facebook avant de consigner ces évènements.

Avant de commencer

Vous aurez besoin des éléments suivants :

Ajouter des évènements d’application

Après avoir intégré le SDK Facebook, certains évènements d’application sont automatiquement consignés et collectés pour le Gestionnaire d’évènements, à moins que vous ne désactiviez la consignation automatique des évènements d’application. Vous pouvez effectuer ce changement dans le code de votre application ou en sélectionnant l’option correspondante sous Gestionnaire d’évènements dans Espace App, ou dans le Gestionnaire d’évènements. Si l’option sélectionnée et la valeur de l’indicateur AutoLogAppEventsEnabled ne correspondent pas, nous appliquerons l’option sélectionnée pour « Consignation automatique des évènements pour le SDK Facebook ». Pour en savoir plus sur les informations collectées et sur la façon de désactiver la consignation automatique des évènements d’application, consultez la page Consignation automatique des évènements d’application.

Les évènements sont suivis de trois manières dans votre application :

Évènements automatiquement consignés

Lorsque vous utilisez le SDK Facebook, certains évènements de votre application sont automatiquement consignés et collectés pour Facebook, à moins que vous ne désactiviez la consignation automatique des évènements. Ces évènements sont pertinents pour tous les cas d’utilisation : ciblage, mesure et optimisation. Trois évènements clés sont collectés dans le cadre de la consignation automatique des évènements d’application : les installations d’app, les lancements d’applications et les achats. Lorsque la consignation automatique est activée, les annonceurs peuvent désactiver ces évènements, ainsi que d’autres évènements Facebook internes, tels que l’impression de connexion. Toutefois, si vous avez désactivé la consignation automatique, mais souhaitez toujours consigner des évènements spécifiques, tels que les installations et les achats, implémentez manuellement leur consignation dans votre application.

ÉvènementDétails

Installation d’application

Première fois qu’une nouvelle personne active votre application ou que votre application est lancée sur un appareil particulier.

Lancement d’application

Lorsqu’une personne lance votre application, le SDK Facebook est initialisé et l’évènement est consigné. Cependant, si un deuxième évènement de lancement d’application se produit moins de 60 secondes après le premier, ce deuxième évènement n’est pas consigné.

Pour le SDK Facebook pour Android v4.18 et les versions antérieures, l’initialisation du SDK est un processus manuel différent du processus de consignation manuel des évènements qui est décrit dans ce document. Veuillez passer à la dernière version du SDK ou faire défiler la page jusqu’à la section Initialisation des anciens SDK pour ajouter des évènements manuellement.

Achat intégré

L’achat traité par Google Play doit avoir été validé. Si vous utilisez d’autres plateformes de paiement, ajoutez le code d’évènement d’achat manuellement.

La consignation des achats intégrés est automatiquement activée pour les applications qui ont installé la version 4.39 ou ont été mises à jour. Pour les applications disposant d’une version antérieure, activez les évènements d’achat intégré sous Général > Paramètres carte Android dans l’Espace App ou ajoutez le code d’évènement d’achat manuellement.

Le SDK pour Android prend actuellement en charge la bibliothèque Google Play Billing, versions 2 et 3. Pour la version 4, vous devez consigner manuellement les évènements d’achat intégré.

Rapport d’erreur du SDK Facebook

(Uniquement pour Facebook.)

Si votre application a planté à cause du SDK Facebook, un rapport d’erreur est généré et envoyé à Facebook lorsque votre application redémarre. Ce rapport ne contient aucune donnée utilisateur·ice et aide simplement Facebook à garantir la qualité et la stabilité du SDK. Pour refuser la consignation de cet évènement, désactivez les évènements automatiquement consignés.

Rapport ANR du SDK Facebook

(Uniquement pour Facebook.)

Si votre application fait l’objet d’une ANR (application qui ne répond pas) en raison du SDK Facebook, un rapport ANR est généré et envoyé à Facebook lorsque votre application redémarre. Ce rapport ne contient aucune donnée utilisateur·ice et aide simplement Facebook à garantir la qualité et la stabilité du SDK. Pour refuser la consignation de cet évènement, désactivez les évènements automatiquement consignés.

Désactiver les évènements automatiquement consignés

Pour désactiver les évènements automatiquement consignés, ajoutez les éléments suivants à votre fichier AndroidManifest.xml :

<application>
  ...
  <meta-data android:name="com.facebook.sdk.AutoLogAppEventsEnabled"
           android:value="false"/>
  ...
</application>

Dans certains cas, vous pourrez souhaiter différer la consignation automatique des évènements plutôt que de la désactiver, par exemple pour obtenir le consentement d’un utilisateur ou d’une utilisatrice ou pour remplir des obligations légales. Dans ce cas, appelez la méthode setAutoLogAppEventsEnabled() de la classe FacebookSDK et définissez-la sur true pour réactiver la consignation automatique après avoir obtenu le consentement de l’utilisateur ou de l’utilisatrice.

setAutoLogAppEventsEnabled(true);

Pour suspendre à nouveau la consignation pour quelque raison que ce soit, définissez la méthode setAutoLogAppEventsEnabled() sur false.

setAutoLogAppEventsEnabled(false);

Vous pouvez également désactiver la consignation automatique de l’évènement Achat intégré dans l’Espace App. Accédez à Carte Android sous Général > Paramètres et définissez l’option sur Non.

Désactiver l’initialisation automatique du SDK

Pour désactiver l’initialisation automatique du SDK, ajoutez les éléments suivants à votre fichier AndroidManifest.xml :

<application>
  ...
  <meta-data android:name="com.facebook.sdk.AutoInitEnabled"
           android:value="false"/>
  ...
</application>

Dans certains cas, vous pourrez souhaiter différer l’initialisation du SDK, par exemple pour obtenir l’autorisation d’un utilisateur ou d’une utilisatrice ou pour remplir des obligations légales, plutôt que de la désactiver. Pour ce faire, appelez la méthode de classe setAutoInitEnabled et définissez-la sur true pour initialiser manuellement le SDK après obtention du consentement de l’utilisateur ou l’utilisatrice.

FacebookSdk.setAutoInitEnabled(true)
FacebookSdk.fullyInitialize()

Désactiver la collecte des ID d’annonceur

Pour désactiver la collecte de advertiser-id, ajoutez les éléments suivants à votre fichier AndroidManifest.xml :

<application>
  ...
  <meta-data android:name="com.facebook.sdk.AdvertiserIDCollectionEnabled"
           android:value="false"/>
  ...
</application>

Dans certains cas, vous pouvez souhaiter différer la collecte de advertiser_id, par exemple pour obtenir le consentement de l’utilisateur ou de l’utilisatrice ou remplir des obligations légales, au lieu de la désactiver. Pour ce faire, appelez la méthode setAdvertiserIDCollectionEnabled() de la classe FacebookSDK et définissez-la sur true pour activer à nouveau la collecte de advertiser_id après obtention du consentement de l’utilisateur ou de l’utilisatrice.

setAdvertiserIDCollectionEnabled(true);

Pour suspendre la collecte pour quelque raison que ce soit, définissez la méthode setAdvertiserIDCollectionEnabled() sur false.

setAdvertiserIDCollectionEnabled(false);

Consigner manuellement les évènements

Créez un objet AppEventsLogger en utilisant les méthodes d’assistant pour consigner vos évènements, lorsque l’Activity dans laquelle se trouve votre méthode est this.

AppEventsLogger logger = AppEventsLogger.newLogger(this);

Vous pouvez consigner votre évènement dans le logger, lorsque AppEventConstants.EVENT_NAME_X est l’une des constantes figurant dans le Tableau d’évènements standard ou provient d’un code fourni par le Générateur de code.

logger.logEvent(AppEventsConstants.EVENT_NAME_X);

Vous pouvez également préciser un ensemble de paramètres dans un Bundle et une propriété valueToSum correspondant à un nombre arbitraire qui peut représenter n’importe quelle valeur (par exemple, un prix ou une quantité). Une fois consignées, toutes les propriétés valueToSum sont additionnées dans le rapport. Par exemple, si 10 personnes ont acheté chacune un article à 10 $ (transféré à valueToSum), ces achats seront cumulés et atteindront la somme de 100 $.

Notez que valueToSum et parameters sont facultatifs.

Bundle params = new Bundle();
params.putString(AppEventsConstants.EVENT_PARAM_CURRENCY, "USD");
params.putString(AppEventsConstants.EVENT_PARAM_CONTENT_TYPE, "product");
params.putString(AppEventsConstants.EVENT_PARAM_CONTENT, "[{\"id\": \"1234\", \"quantity\": 2}, {\"id\": \"5678\", \"quantity\": 1}]");

logger.logEvent(AppEventsConstants.EVENT_NAME_PURCHASE,
                54.23,
                params);
Bundle params = new Bundle();
params.putString(AppEventsConstants.EVENT_PARAM_CURRENCY, "USD");
params.putString(AppEventsConstants.EVENT_PARAM_CONTENT_TYPE, "product");
params.putString(AppEventsConstants.EVENT_PARAM_CONTENT_ID, "HDFU-8452");

logger.logEvent(AppEventsConstants.EVENT_NAME_ADDED_TO_CART,
                54.23,
                params);

Pour enregistrer un évènement personnalisé, il suffit de passer le nom de l’évènement sous forme de chaîne. Cette fonction suppose que le logger est une instance d’AppEventsLogger et a été créé à l’aide de l’appel AppEventsLogger.newLogger().

public void logBattleTheMonsterEvent () {
    logger.logEvent("BattleTheMonster");
}

Paramètres d’évènement

Chacun de ces évènements peut être consigné avec valueToSum et un ensemble de 25 paramètres maximum. Ces derniers passent par un Bundle, dans lequel la clé conserve le nom du paramètre et sa valeur, à savoir une chaîne (String) ou une int. Si vous indiquez un autre type de valeur qui n’est pas conforme, tel que boolean, le SDK consigne un avertissement dans LogginBehavior.APP_EVENT.

Consultez le guide de référence des paramètres d’évènements standard pour les paramètres généralement utilisés avec des évènements standards. Ces paramètres sont destinés à servir de guide, mais vous pouvez également fournir vos propres paramètres. Votre application doit consigner les paramètres que vous souhaitez voir répartis dans les statistiques.

N’utilisez pas « évènement » ou « event » comme nom de paramètre. Les paramètres personnalisés nommés ainsi ne seront pas consignés. Utilisez un autre nom ou ajoutez-y un préfixe ou un suffixe (par exemple my_custom_event).

Tester la consignation d’un évènement

L’Assistant publicitaire des apps vous permet de tester les évènements dans votre application pour vous assurer que cette dernière les envoie à Facebook.

  1. Ouvrez l’Assistant publicitaire des apps.
  2. Dans Sélectionner une application, choisissez votre application, puis Envoyer.
  3. Faites défiler l’écran jusqu’au bas de la page et choisissez Tester App Events.
  4. Lancez votre application et envoyez un évènement. L’évènement apparaît sur la page Web.

Activation des journaux de débogage

Activez les journaux de débogage pour vérifier l’utilisation d’App Event côté client. Les journaux de débogage contiennent les demandes et les réponses détaillées au format JSON. Activez les journaux de débogage en ajoutant le code suivant après avoir initialisé le SDK Facebook pour Android :

FacebookSdk.setIsDebugEnabled(true);
FacebookSdk.addLoggingBehavior(LoggingBehavior.APP_EVENTS);

Cette opération est uniquement destinée au débogage. Veuillez désactiver les journaux de débogage avant de déployer votre application pour le public.

En savoir plus

Pour plus d’informations et de conseils utiles sur App Events, consultez les ressources suivantes :

Exemples d’applications

Nous avons créé des exemples pour les différents types d’applications afin de vous montrer comment utiliser les évènements d’application. Chaque exemple fournit une répartition écran par écran des différents évènements ainsi que des exemples de code. Notez que ces exemples sont un point de départ pour votre application et que vous devez donc les personnaliser.