En bref : envoyer des données aux SDK Adobe Launch et SDK AppsFlyer via l’extension du SDK AppsFlyer Adobe Launch.
Introduction
Le SDK Adobe Launch fait partie intégrante d'Adobe Experience Platform. Adobe Experience Platform aide les entreprises à rassembler, consolider et analyser les données provenant de plusieurs applications et plateformes. Il permet aux chefs d'entreprise et aux développeurs de mieux comprendre le comportement des clients afin d'optimiser leur expérience et améliorer le contenu. Si votre application exploite à la fois le SDK Adobe Launch et le SDK AppsFlyer, vous pouvez envoyer des données aux deux via l'extension SDK AppsFlyer Adobe Launch. Cela simplifie l’ensemble de votre processus de développement et permet d'obtenir une base de code plus simple et plus facile à maintenir.
Remarque
Si vous utilisez l'extension Adobe Launch, l’intégration standard d'Adobe Analytics n'est pas nécessaire.
Conditions techniques
Quelques éléments sont nécessaires avant d'intégrer l’extension SDK AppsFlyer Adobe.
Récupérer votre clé dev
- Dans le tableau de bord de votre app, cliquez sur Réglages de l'app dans Configuration dans le menu de gauche.
- Dans Installation du SDK, copiez votre clé dev.
Obtenir votre ID d'app
- Pour Android - l’ID d’app est le nom du package, par exemple example.com.app.
- Pour iOS - l'ID d’app est l'identifiant iTunes de l'application sans le préfixe id, par exemple 123456748.
Étape 1 : Configuration d'Adobe Launch
Suivez les instructions ici pour configurer Adobe Launch.
1.1 Création d'une nouvelle propriété dans Adobe Launch
1.2 Installation des extensions Adobe Launch requises
Installez les extensions suivantes dans Adobe Launch :
- Adobe Analytics - connecte les données enregistrées par le SDK au module Adobe Analytics.
- Extension SDK AppsFlyer - envoie des données et des événements à la fois à Adobe et à AppsFlyer en utilisant le SDK Adobe Launch.
- Adobe Profile - permet au SDK de stocker des données dans un profil du côté client.
- Adobe Mobile Core - permet de configurer le SDK mobile et donne accès aux événements et conditions du cycle de vie par défaut.
Installation de l'extension Adobe Analytics
- Connectez-vous à Adobe Analytics.
- Créez une suite de rapports.
- Reconnectez-vous à Adobe Launch.
- Dans la liste des propriétés, cliquez sur la propriété que vous venez de créer.
- Cliquez sur Extensions.
- Recherchez et installez Adobe Analytics.
- Dans Suites de rapportsindiquez la suite de rapports que vous avez créée à l'étape 2.
- Cliquez sur Enregistrer.
Installation de l'extension du SDK AppsFlyer
- Sélectionnez à nouveau Extensions.
- Recherchez et installez Extension SDK AppsFlyer.
- Sous ID d’app iOS AppsFlyer,indiquez l'identifiant de l'app iOS que vous avez obtenu à l'étape Conditions techniques.
- Dans Clé dev AppsFlyer indiquez la clé dév que vous avez obtenue à l'étape des Conditions techniques.
- Activez Envoyer les données d'attribution à Adobe Analytics. Notez qu'il existe certaines restrictions concernant le partage des données relatives aux utilisateurs avec des plateformes d'analyse tierces.
- Cliquez sur Enregistrer.
Installer le profil et l'extension Mobile Core
- Sélectionnez à nouveau Extensions.
- Recherchez et installez Profile.
- Recherchez et installez Mobile Core.
- Lors de l'installation de Mobile Core, il suffit de sauvegarder l'extension telle quelle. Il n'est pas nécessaire de spécifier le serveur Experience Cloud.
Étape 2 : Mise en œuvre de l'extension SDK Adobe AppsFlyer
Suivez les instructions de cette section pour installer l'extension SDK Adobe dans votre application.
2.1 Ajouter le SDK à l'application
- Dans votre propriété Adobe, sélectionnez Environnements.
- Sélectionnez l'environnement pour lequel vous souhaitez déployer le SDK.
- Dans la partie droite, cochez sur l’icône.
- Copiez les extraits de code dans la fenêtre qui s'ouvre et suivez les instructions. Si c'est vous qui configurez Adobe, envoyez ces extraits de code à votre développeur d'applications.
2.2 Publication de l'environnement
Pour compléter la mise en œuvre du SDK, vous devez publier l'environnement dans une bibliothèque.
- Dans votre propriété Adobe, sélectionnez Publication.
- Cliquez sur Ajouter une nouvelle bibliothèque.
- Donnez-lui un nom et, dans Environnement, sélectionnez Développement.
- Cliquez sur Enregistrer et monter pour le développement.
- Une fois la compilation terminée, dans Développementcliquez sur les trois points situés à côté de la bibliothèque, puis sélectionnez Envoyer pour approbation.
- Dans Envoyécliquez sur les trois points à côté de la bibliothèque et sélectionnez Monter pour le test.
- Une fois la compilation terminée, cliquez sur les trois points situés à côté de la bibliothèque et sélectionnez Approuver la publication.
- Dans Approuvercliquez sur les trois points à côté de la bibliothèque et sélectionnez Monter et publier en production.
2.3 Ajout d'un référent d'installation Android à votre app
Le référent d'installation Android améliore la précision de l'attribution, protège contre les installations frauduleuses, et autres. Il est pris en charge par le SDK Android AppsFlyer version 4.8.6.
Remarque
Google a rendu le BroadcastReceiver obsolète en mars 2020.
- Cette modification n'affecte pas l'app.
- Le BroadcastReceiver peut malgré tout vous être encore utile pour l'attribution hors store. Renseignez-vous auprès du store dans lequel l'app est répertoriée pour vous en assurer.
- L'implémentation du référent d'installation est désormais obligatoire.
Il existe deux façons d'ajouter le référent d'installation à votre app :
- En utilisant Gradle (recommandé)
- Ajout manuel du référent d'installation
Ajoutez le référent d'installation Android en tant que dépendance. Vous pouvez trouver la dernière version ici.
-
dependencies { //make sure to use the latest SDK version: https://mvnrepository.com/artifact/com.appsflyer/af-android-sdk implementation 'com.appsflyer:af-android-sdk:5.+' implementation 'com.android.installreferrer:installreferrer:1.1' }
- Synchronisez le projet pour récupérer les dépendances. Voir la capture d'écran suivante :
Si vous utilisez ProGuard et souhaitez utiliser la nouvelle API référent d’installation Google, vous devez définir la règle ProGuard suivante : -dontwarn com.android.installreferrer
- Téléchargez le fichier Référent d’installation
- Ajoutez-le au projet
- Ajoutez l'autorisation suivante au manifeste :
com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE
2.4 Définir les autorisations requises
L'ajout d'autorisations permet d'augmenter le taux d'attribution de modélisation probabiliste. Cela permet au SDK d'envoyer plus de données,comme les données de réseau Wi-Fi ou d'opérateurs. Vous pouvez trouver ces données dans les rapports de données brutes et les utiliser pour l'analyse et l'optimisation des campagnes.
Ajouter les autorisations requises
- Ajoutez les autorisations suivantes à AndroidManifest.xml :
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- Optional : --> <uses-permission android:name="android.permission.READ_PHONE_STATE" />
Utilisation de l'extension SDK Adobe
Vous pouvez maintenant commencer à utiliser l'extension SDK Adobe pour envoyer des données à Adobe et à AppsFlyer.
Remarque
Actuellement, l'extension SDK Adobe Launch permet uniquement d'obtenir des données de conversion et d'envoyer des événements. Cependant, lorsque vous ajoutez l'extension SDK Adobe Launch à votre app, le SDK AppsFlyer est également ajouté. Toute fonctionnalité actuellement absente de l'extension SDK Adobe peut donc être implémentée à l'aide du SDK AppsFlyer.
Envoyer les événements
Les événements in-app permettent une analyse de ce qui se passe dans votre application. Nous vous recommandons de prendre le temps de définir les évènements que vous voulez enregistrer. L'enregistrement des évènements in-app vous permet de mesurer les KPI tels que le ROI (retour sur investissement) et la LTV (durée lifetime).
L'extension de SDK Adobe Launch vous permet d'envoyer des données d'événements in-app autant à Adobe qu’à AppsFlyer. Vous pouvez ensuite utiliser Adobe Analytics pour analyser le comportement des utilisateurs, et AppsFlyer pour analyser le ROI et la LTV.
final Map<String,String> eventMap = new HashMap<>();
eventMap.put("currency", "USD");
eventMap.put("revenue", "200");
eventMap.put("freehand", "param");
MobileCore.trackAction("af_purchase", eventMap);
[ACPCore trackAction:@"af_purchase data:@{@"revenue":@"200",@"currency":@"USD"];
L'envoi des événements, comme stipulé dans le code ci-dessus, génère dans le tableau de bord AppsFlyer un événement nommé af_purchase, ayant un revenu de 200 USD. Cet événement est également envoyé à Adobe Analytics, où il s’affiche.
Toutes les données de conversion envoyées avec les événements portent le préfixe appsflyer. Voir le tableau suivant pour exemples :
Variables de données de conversion avec préfixes |
---|
appsflyer.af_click_lookback |
appsflyer.install_time |
appsflyer.cost_cents_USD |
appsflyer.media_source |
appsflyer.af_adset |
appsflyer.click_time |
appsflyer.orig_cost |
appsflyer.campaign |
Les données de conversion sont utilisées dans l'application que vous créez dans Adobe Mobile Services. D'autres paramètres peuvent apparaître dans les données de conversion. Pour en savoir plus, cliquez ici.
Obtenir des données pour le deep linking et le deep linking différé.
Le deep linking et le deep linking différé vous aident à améliorer l'expérience de l'utilisateur. Ils vous permettent d'ouvrir l'app dans le cadre d'activités spécifiques, et de personnaliser le contenu en fonction des données de la campagne.
Pour obtenir les données du deep linking, vous devez utiliser les rappels d'extension.
Dans la classe d'application globale, implémentez le code suivant :
AppsFlyerAdobeExtension.registerAppsFlyerExtensionCallbacks(new AppsFlyerExtensionCallbacksListener() {
@Override
public void onCallbackReceived(Map<String, String> callback) {
Log.d(AppsFlyerLibCore.LOG_TAG, callback.toString());
if(callback.get("callback_type").equals("onConversionDataReceived")){
// conversion data returned
if(callback.get("is_first_launch").equals("true")){
String af_status = callback.get("af_status");
if(af_status.equals("Non-organic")){
Log.d(AppsFlyerLibCore.LOG_TAG, "this is first launch and a non organic install!");
}
}
} else if(callback.get("callback_type").equals("onAppOpenAttribution")){
// direct deeplink - redirect user
Log.d(AppsFlyerLibCore.LOG_TAG, callback.toString());
}
}
@Override
public void onCallbackError(String errorMessage) {
Log.d("TAG", errorMessage);
}
});
Dans AppDelegate.m, implémentez le code suivant :
[AppsFlyerAdobeExtension registerCallbacks:^(NSDictionary *dictionary) {
NSLog(@"[AppsFlyerAdobeExtension] Received callback: %@", dictionary);
if([[dictionary objectForKey:@"callback_type"] isEqualToString:@"onConversionDataReceived"]){
if([[dictionary objectForKey:@"is_first_launch"] boolValue] == YES){
NSString* af_status = [dictionary objectForKey:@"af_status"];
if([af_status isEqualToString:@"Non-organic"]){
NSLog(@"this is first launch and a non organic install!");
}
}
} else if([[dictionary objectForKey:@"callback_type"] isEqualToString:@"onAppOpenAttribution"]) {
NSLog(@"onAppOpenAttribution Received");
}
}];
[AppsFlyerAdobeExtension callbacksErrorHandler:^(NSError *error) {
NSLog(@"[AppsFlyerAdobeExtension] Error recieving callback: %@" , error);
}];
Connecter les données de conversion d'AppsFlyer
Les données de conversion sont envoyées avec les événements à la plateforme Adobe. Ces variables vous permettent d'appliquer une logique et des règles aux dimensions, aux mesures ou aux filtres des rapports.
- Connectez-vous à vos Services Adobe Mobile.
- Sélectionnez l'application concernée et ouvrez la page Gérer les variables et les métriques.
- Sélectionnez l’onglet Variables personnalisées et configurez les variables pour mapper les données du SDK AppsFlyer au système Adobe.
- Saisissez un nom adéquat pour chaque variable personnalisée.
- Sélectionnez ou saisissez les données de conversion AppsFlyer mappées et choisissez votre échelle de persistance.
Voir le tableau suivant pour l'affectation des variables de contexte AppsFlyer :
Nom recommandé pour le mappage |
Données de conversion |
---|---|
Fenêtre rétrospective AppsFlyer |
appsflyer.af_click_lookback |
Heure d'installation pour AppsFlyer |
appsflyer.install_time |
Coûts AppsFlyer (Cents US) |
appsflyer.cost_cents_USD |
Source média AppsFlyer |
appsflyer.media_source |
Adset AppsFlyer |
appsflyer.af_adset |
AppsFlyer (Clic DB) |
appsflyer.click_time |
Coût initial AppsFlyer |
appsflyer.orig_cost |
Campagne AppsFlyer |
appsflyer.campaign |
Utilisation des données de conversion mappées par AppsFlyer pour l'analyse
Toutes les données provenant du SDK sont disponibles dans la suite de rapports Adobe Analytics connectée à l'application.
Vous pouvez utiliser les données, dimensions et métriques associées dans vos rapports et tableaux de bord Adobe Analytics. Ces données sont également disponibles dans le tableau de bord AppsFlyer pour l'attribution et l'analyse des événements in-app.