En bref : mesurez la qualité de vos utilisateurs tout au long de leur parcours en enregistrant ces événements in-app suggérés pour votre app de divertissement .
Divertissement
En raison de la demande croissante de contenu à la demande de la part des utilisateurs, le marché des apps de divertissement est devenu très compétitif. Les événements typiques que nous suggérons d'enregistrer sont les abonnements des utilisateurs, la diffusion de contenu en streaming, ainsi que le téléchargement et l'enregistrement de contenu.
L'enregistrement de ces évènements peut vous aider à déterminer :
- Quels contenus les utilisateurs consomment
- Performance des campagnes (en fonction de la demande des utilisateurs)
- Engagement des utilisateurs et utilisation faite
Ces événements sont également pertinents pour les apps de divertissement qui fonctionnent sur les téléviseurs intelligents suivants :
- Android Smart TV
- Apple TV (tvOS)
- Amazon Fire TV
Important !
- Veillez à lire les instructions à l'attention des marketeurs pour implémenter les événements in-app.
- Pour simplifier l'implémentation, téléchargez un fichier CSV contenant tous les événements in-app de base décrits dans cet article, puis modifiez les événements en fonction des besoins de votre entreprise. Partagez ensuite le fichier avec votre développeur.
- Pour chaque événement recommandé que contient cet article, vous trouverez des extraits de code pour les développeurs iOS, Android et Unity.
- Si votre développeur a besoin d'instructions détaillées, elles se trouvent dans le hub des développeurs AppsFlyer.
Pour plus d'informations sur l'enregistrement des événements in-app, consultez le guide des événements in-app riches.
Structures recommandées pour les événements prédéfinis
La section suivante fournit une liste des structures d'événements typiques du secteur du divertissement. Chaque structure donne un nom d'événement prédéfini, ainsi que des suggestions de paramètres d'événement à appliquer. Veuillez noter que les événements in-app peuvent inclure tous les paramètres d'événement qui correspondent à vos besoins.
Inscription terminée (af_complete_registration)
Objectif
Découvrir combien d'utilisateurs ont installé l'app et sont allés au bout du processus d'inscription, et quelles méthodes d'inscription vos utilisateurs privilégient.
Déclencheur
Lorsque l'utilisateur termine le processus d'inscription
Paramètres d'événement
Nom | Description | Exemple de valeur |
---|---|---|
af_registration_method | La méthode que choisit l'utilisateur pour s'inscrire | Facebook, Google, email |
Exemples de code
Map<String, Object> eventValue = new HashMap<String, Object>();
eventValue.put(AFInAppEventParameterName.REGSITRATION_METHOD, "Facebook");
AppsFlyerLib.getInstance().logEvent(getApplicationContext(), AFInAppEventType.COMPLETE_REGISTRATION, eventValue);
[[AppsFlyerLib shared] logEvent:AFEventCompleteRegistration
withValues: @{
AFEventParamRegistrationMethod: @"Facebook"
}];
AppsFlyerLib.shared().logEvent(AFEventCompleteRegistration,
withValues: [
AFEventParamRegistrationMethod: "Facebook"
]);
Dictionary<string, string> CompleteRegistrationEvent = new Dictionary<string, string>();
CompleteRegistrationEvent.Add("af_registration_method", "Facebook");
AppsFlyer.sendEvent("af_complete_registration", CompleteRegistrationEvent);
Connexion (af_login)
Objectif
Comprendre la rétention de vos utilisateurs inscrits
Déclencheur
Lorsque l'utilisateur se connecte avec succès
Paramètres d'événement
Peut être envoyé sans paramètres supplémentaires
Exemples de code
AppsFlyerLib.getInstance().logEvent(getApplicationContext(), AFInAppEventType.LOGIN, null);
[[AppsFlyerLib shared] logEvent:AFEventLogin withValues: nil];
AppsFlyerLib.shared().logEvent(AFEventLogin, withValues: nil);
AppsFlyer.sendEvent("af_login", null);
Début de l'essai (af_start_trial)
Objectif
De nombreux services de streaming proposent aux utilisateurs une période d'essai leur permettant de découvrir les fonctionnalités premium. Cet évènement peut vous aider à :
- Voir combien d'utilisateurs s'inscrivent à une période d'essai
- Si l'essai fait partie d'une promotion ou d'une collaboration avec un partenaire
- Quelle promotion a incité l'utilisateur à activer la période d'essai
Déclencheur
Lorsque l'utilisateur s'inscrit et active la période d'essai
Paramètres d'événement
Nom | Description | Exemple de valeur |
---|---|---|
trial_method | Méthode pour activer l'essai | Offert avec un nouveau téléphone, offert avec un opérateur, promotion, code promo |
trial_method_identifier |
Identifiant de la méthode d'essai |
Nom de l'opérateur (ex : Vodafone) Nom du partenaire (ex : Facebook) Code promotionnel (ex : TRA123) |
Remarque
Si vous mappez cet événement à l'événement Facebook StartTrial et que vous souhaitez associer les revenus, utilisez le paramètre af_price au lieu du paramètre af_revenue.
Exemples de code
Map<String, Object> eventValue = new HashMap<String, Object>();
eventValue.put("trial_method", "coupon code");
eventValue.put("trial_method_identifier", "TRA123");
AppsFlyerLib.getInstance().logEvent(getApplicationContext(), AFInAppEventType.START_TRIAL, eventValue);
[[AppsFlyerLib shared] logEvent:AFEventStartTrial
withValues: @{
@"trial_method": @"coupon code",
@"trial_method_identifier": @"TRA123"
}]
AppsFlyerLib.shared().logEvent(AFEventStartTrial,
withValues: [
"trial_method": "coupon code",
"trial_method_identifier": "TRA123"
]);
Dictionary<string, string> SubscriptionTrial = new Dictionary<string, string>();
SubscriptionTrial.Add("trial_method ", "coupon code");
SubscriptionTrial.Add("trial_method_identifier", "TRA123");
AppsFlyer.sendEvent("af_start_trial", SubscriptionTrial);
Abonnement (af_subscribe)
Objectif
L'abonnement constitue le cœur des services de streaming. Cet évènement peut vous aider à :
- Voir quelles campagnes produisent des utilisateurs qui s'inscrivent
- Comparer le nombre d'utilisateurs en période d'essai et le nombre d'utilisateurs abonnés
- Déterminer les revenus générés par les abonnements et les attribuer aux campagnes et aux sources média
Déclencheur
- Lorsque l'utilisateur s'inscrit avec succès
- Lorsqu'un abonnement est renouvelé
Reportez-vous à notre Guide de suivi des abonnements pour en savoir plus.
Paramètres d'événement
Nom | Description | Exemple de valeur |
---|---|---|
new_subscription | Qu'il s'agisse d'un nouvel abonnement ou d'un renouvellement | true / false |
af_coupon_code | Le code promotionnel, s'il est utilisé lors de la soumission de l'abonnement | 3MonthsSubscription |
coupon_code_value | Le montant déduit du prix initial grâce au code de réduction | 10% |
af_revenue | Le revenu associé à l'abonnement | 5.95 |
af_currency | La devise du paiement pour l'abonnement | USD |
subscription_method | La méthode de paiement utilisée pour l'abonnement | carte de crédit, portefeuille électronique, PayPal |
expiration_date | La date d'expiration de l'abonnement | 2018/07/18 |
Exemples de code
Map<String, Object> eventValue = new HashMap<String, Object>();
eventValue.put("new_subscription", true);
eventValue.put(AFInAppEventParameterName.COUPON_CODE, "3MonthsSubscription");
eventValue.put("coupon_code_value", "10%");
eventValue.put(AFInAppEventParameterName.REVENUE, 5.95);
eventValue.put(AFInAppEventParameterName.CURRENCY, "USD");
eventValue.put("subscription_method", "");
eventValue.put("expiration_date", "2018/07/18");
AppsFlyerLib.getInstance().logEvent(getApplicationContext(), AFInAppEventType.SUBSCRIBE, eventValue);
[[AppsFlyerLib shared] logEvent:AFEventSubscribe
withValues: @{
@"new_subscription": @TRUE,
AFEventParamCouponCode: @"3MonthsSubscription",
@"coupon_code_value": @"10%",
AFEventParamRevenue: @5.95,
AFEventParamCurrency: @"USD",
@"subscription_method": @"",
@"expiration_date": @"2018/07/18"
}];
AppsFlyerLib.shared().logEvent(AFEventSubscribe,
withValues: [
"new_subscription": true,
AFEventParamCouponCode: "3MonthsSubscription",
"coupon_code_value": "10%",
AFEventParamRevenue: 5.95,
AFEventParamCurrency: "USD",
"subscription_method": "",
"expiration_date": "2018/07/18"
]);
Dictionary<string, string> Subscription = new Dictionary<string, string>();
Subscription.Add("new_subscription", "true");
Subscription.Add("af_coupon_code", "3MonthsSubscription");
Subscription.Add("coupon_code_value", "10%");
Subscription.Add("af_revenue", "5.95");
Subscription.Add("af_currency", "USD");
Subscription.Add("subscription_method", "");
Subscription.Add("expiration_date", "2018/07/18");
AppsFlyer.sendEvent("af_subscribe", Subscription);
Structures recommandées pour les événements personnalisés
La section suivante fournit une liste de structures d'événements qui comprennent des noms d'événements personnalisés et les suggestions de paramètres d'événement à utiliser. Veuillez noter que les événements in-app peuvent inclure tous les paramètres d'événement qui correspondent à vos besoins.
Lecture média (media_play)
Objectif
Enregistrer les événements dans lesquels les utilisateurs lisent les médias que vous proposez. Ces médias peuvent être des vidéos, de la musique, des séries TV, des émissions de radio, etc.
Enregistrer cet événement peut vous permettre de déterminer :
- Consommation de médias par type et contenu
- Les langues des contenus en streaming les plus populaires
- La durée minimum, maximum et moyenne des contenus en streaming
Déclencheur
Après un temps prédéfini de lecture en streaming d'un contenu, 2 minutes par exemple.
Paramètres d'événement
Nom | Description | Exemple de valeur |
---|---|---|
af_content_type | Type de contenu regardé en streaming | série TV, musique |
af_content_id | ID du contenu regardé en streaming | 092, E34 |
af_content | Le titre du contenu, par ex. le nom de la chanson ou le titre et l'épisode d'une série TV | Titre du contenu |
media_duration | Temps de lecture | 5 |
language | Langue du contenu | en-us, fr, es |
Exemples de code
Map<String, Object> eventValue = new HashMap<String, Object>();
eventValue.put(AFInAppEventParameterName.CONTENT_TYPE, "tv show");
eventValue.put(AFInAppEventParameterName.CONTENT_ID, "E34");
eventValue.put(AFInAppEventParameterName.CONTENT, "My Show");
eventValue.put("media_duration", 5);
eventValue.put("language", "en-us");
AppsFlyerLib.getInstance().logEvent(getApplicationContext(), "media_play", eventValue);
[[AppsFlyerLib shared] logEvent:@"media_play"
withValues: @{
AFEventParamContentType: @"tv show",
AFEventParamContentId: @"E34",
AFEventParamContent: @"My Show",
@"duration": @5,
@"langague": @"en-us"
}];
AppsFlyerLib.shared().logEvent("media_play",
withValues: [
AFEventParamContentType: "tv show",
AFEventParamContentId: "E34",
AFEventParamContent: "My Show",
"media_duration": 5,
"language": "en-us"
]);
Dictionary<string, string> MediaPlay = new Dictionary<string, string>();
MediaPlay.Add("af_content_type", "tv show");
MediaPlay.Add("af_content_id", "E34");
MediaPlay.Add("af_content", "My show");
MediaPlay.Add("media_duration", "5");
MediaPlay.Add("language", "en-us");
AppsFlyer.sendEvent("media_play", MediaPlay);
Minutes de média (media_minutes)
Objectif
Les minutes de média représentent la durée pendant laquelle un utilisateur a consommé un certain contenu. Après l'indicateur de revenu, il s'agit de la métrique la plus importante du secteur du streaming. Cet indicateur est important car il vous permet d'estimer l'utilisation du service par les utilisateurs. Il vous permet également de déterminer le taux d'utilisation global du service et le contenu le plus populaire. Cet évènement peut vous aider à :
- Découvrez quels utilisateurs utilisent le plus votre service
- Déterminer quels types de média et de contenu sont populaires
Déclencheur
L'une des opérations suivantes :
- Voir lorsqu'un utilisateur termine le streaming d'un élément de média
- Voir lorsqu'un utilisateur quitte le streaming d'un élément de média
Paramètres d'événement
Nom | Description | Exemple de valeur |
---|---|---|
minutes_consumed | Temps réel d'exécution du média par l'utilisateur | 3 |
af_content_type | Type de contenu regardé en streaming | série TV, musique |
af_content_id | ID du contenu regardé en streaming | 092, E34 |
af_content | Titre du contenu, par ex. le nom de la chanson, le titre et l'épisode d'une série | Titre du contenu |
media_duration | Temps de lecture | 5 |
language | Langue du contenu | en-us, fr, es |
Exemples de code
Map<String, Object> eventValue = new HashMap<String, Object>();
eventValue.put(AFInAppEventParameterName.CONTENT_TYPE, "tv show");
eventValue.put(AFInAppEventParameterName.CONTENT_ID, "E34");
eventValue.put(AFInAppEventParameterName.CONTENT, "My Show");
eventValue.put("media_duration", 5);
eventValue.put("language", "en-us");
AppsFlyerLib.getInstance().logEvent(getApplicationContext(),"media_minutes", eventValue);
[[AppsFlyerLib shared] logEvent:@"media_minutes"
withValues: @{
@"minutes_consumed": @3,
AFEventParamContentType: @"tv show",
AFEventParamContentId: @"E34",
AFEventParamContent: @"My Show",
@"duration": @5,
@"langague": @"en-us"
}];
AppsFlyerLib.shared().logEvent("media_minutes", withValues: [
"minutes_consumed": 3,
AFEventParamContentType: "tv show",
AFEventParamContentId: "E34",
AFEventParamContent: "My Show",
"media_duration": 5,
"language": "en-us"
]);
Dictionary<string, string> MediaMinutes =
new Dictionary<string, string>();
MediaMinutes.Add("minutes_consumed", "3");
MediaMinutes.Add("af_content_type", "tv show");
MediaMinutes.Add("af_content_id", "E34");
MediaMinutes.Add("af_content", "My show");
MediaMinutes.Add("media_duration", "5");
MediaMinutes.Add("language", "en-us");
AppsFlyer.sendEvent("media_minutes", MediaMinutes);
Média téléchargé (media_downloaded)
Objectif
Déterminer les préférences des utilisateurs en enregistrant la lecture et le téléchargement des médias et en comparant les deux. Vous pouvez découvrir ce que les utilisateurs de médias préfèrent lire en streaming et les médias qu'ils préfèrent télécharger.
Déclencheur
Quand un utilisateur commence à télécharger un média
Paramètres d'événement
Nom | Description | Exemple de valeur |
---|---|---|
af_content_type | Type de contenu | série TV, musique |
af_content_id | ID de contenu | 092, E34 |
af_content | Titre du contenu, par ex. le nom de la chanson ou le titre et l'épisode d'une série TV | Titre du contenu |
media_duration | Temps de lecture | 5 |
language | Langue du contenu | en-us, fr, es |
Exemples de code
Map<String, Object> eventValue = new HashMap<String, Object>();
eventValue.put(AFInAppEventParameterName.CONTENT_TYPE, "tv show");
eventValue.put(AFInAppEventParameterName.CONTENT_ID, "E34");
eventValue.put(AFInAppEventParameterName.CONTENT, "My Show");
eventValue.put("media_duration", 5);
eventValue.put("language", "en-us");
AppsFlyerLib.getInstance().logEvent(getApplicationContext(), "media_downloaded", eventValue);
[[AppsFlyerLib shared] logEvent:@"media_downloaded"
withValues: @{
@"minutes_consumed": @3,
AFEventParamContentType: @"tv show",
AFEventParamContentId: @"E34",
AFEventParamContent: @"My Show",
@"duration": @5,
@"langague": @"en-us"
}];
AppsFlyerLib.shared().logEvent("media_downloaded",
withValues: [
"minutes_consumed": 3,
AFEventParamContentType: "tv show",
AFEventParamContentId: "E34",
AFEventParamContent: "My Show",
"media_duration": 5,
"language": "en-us"
]);
Dictionary<string, string> MediaDownloaded = new Dictionary<string, string>();
MediaDownloaded.Add("minutes_consumed", "3");
MediaDownloaded.Add("af_content_type", "tv show");
MediaDownloaded.Add("af_content_id", "E34");
MediaDownloaded.Add("af_content", "My show");
MediaDownloaded.Add("media_duration", "5");
MediaDownloaded.Add("language", "en-us");
AppsFlyer.sendEvent("media_downloaded", MediaDownloaded);
Media enregistré (media_saved)
Objectif
Mettre en évidence les préférences des utilisateurs
Déclencheur
Chaque fois qu'un média est enregistré sur l'appareil de l'utilisateur
Paramètres d'événement
Nom | Description | Exemple de valeur |
---|---|---|
af_content_type | Type de contenu | série TV, musique |
af_content_id | ID de contenu | 092, E34 |
af_content | Titre du contenu, par ex. le nom de la chanson, le titre et l'épisode d'une série | Titre du contenu |
media_duration | Temps de lecture | 5 |
language | Langue du contenu | en-us, fr, es |
Exemples de code
Map<String, Object> eventValue = new HashMap<String, Object>();
eventValue.put(AFInAppEventParameterName.CONTENT_TYPE, "tv show");
eventValue.put(AFInAppEventParameterName.CONTENT_ID, "E34");
eventValue.put(AFInAppEventParameterName.CONTENT, "My Show");
eventValue.put("media_duration", 5);
eventValue.put("language", "en-us");
AppsFlyerLib.getInstance().logEvent(getApplicationContext(), "media_saved", eventValue);
[[AppsFlyerLib shared] logEvent:@"media_saved"
withValues: @{
@"minutes_consumed": @3,
AFEventParamContentType: @"tv show",
AFEventParamContentId: @"E34",
AFEventParamContent: @"My Show",
@"duration": @5,
@"langague": @"en-us"
}];
AppsFlyerLib.shared().logEvent("media_saved",
withValues: [
"minutes_consumed": 3,
AFEventParamContentType: "tv show",
AFEventParamContentId: "E34",
AFEventParamContent: "My Show",
"media_duration": 5,
"language": "en-us"]);
Dictionary<string, string> MediaSaved = new Dictionary<string, string>();
MediaSaved.Add("minutes_consumed", "3");
MediaSaved.Add("af_content_type", "tv show");
MediaSaved.Add("af_content_id", "E34");
MediaSaved.Add("af_content", "My show");
MediaSaved.Add("media_duration", "5");
MediaSaed.Add("language", "en-us");
AppsFlyer.sendEvent("media_saved", MediaSaved);