En bref : Instructions pour configurer l'envoi d'événements signalés via le SDK Firebase à AppsFlyer dans votre app.
Configurer des événements dans l'app
Cette section explique comment configurer et créer des événements dans l'app avec Google Tag Manager (GTM).
Lorsque l'événement est envoyé, GTM vérifie s'il existe une balise configurée pour traiter cet événement à l'aide du déclencheur d'événement. Le déclencheur d'événement est défini pour déclencher la balise chaque fois qu'un événement spécifique est envoyé. Si un événement spécifique est envoyé et qu'il a un déclencheur correspondant, la balise est activée. Lorsque la balise est activée, Google Tag Manager collecte toutes les données de l'événement. Ces données comprennent l'identifiant AppsFlyer, le nom de l'événement et les paramètres de l'événement. Après avoir collecté toutes les données, Google Tag Manager envoie l'événement à AppsFlyer.
Création de variables d'événement pour le revenu et le prix
Android
- Dans la classe MainActivity, créez une variable qui contiendra l'identifiant de l'appareil AppsFlyer :
public static String appsFlyerID;
- De retour dans la classe MainActivity, dans la méthode
onCreate
et aprèssuper.onCreate
, transmettez l'ID AppsFlyer à la variable :appsFlyerID = AppsFlyerLib.getInstance().getAppsFlyerUID(this);
- Dans la classe MainActivity, créez une variable qui contiendra l'identifiant de l'appareil AppsFlyer :
var appsFlyerID: String? = null
- De retour dans la classe MainActivity, dans la méthode
onCreate
et aprèssuper.onCreate
, transmettez la valeur de l'ID AppsFlyer à la variable :override fun onCreate(savedInstanceState: Bundle?) { ... appsFlyerID = AppsFlyerLib.getInstance().getAppsFlyerUID(this) }
iOS
Pour iOS, les paramètres sont disponibles dans l'app. Vous pouvez les récupérer via l'instance AppsFlyerTracker.
- AppsFlyer Device ID -
[AppsFlyerTracker sharedTracker].getAppsFlyerUID
- Apple App ID -
[AppsFlyerTracker sharedTracker].appleAppID
- AppsFlyer Device ID -
AppsFlyerTracker.shared().getAppsFlyerUID()
- Apple App ID -
AppsFlyerTracker.shared().appleAppID
Ajouter des événements dans l'app
La première étape consiste à configurer l'événement dans l'app. L'événement est envoyé en utilisant Firebase Event Logging. Dans l'événement, vous spécifiez l'ID AppsFlyer, le nom de l'événement et les paramètres de l'événement. L'ID d’AppsFlyer est récupéré à partir de la variable créée lors de l'étape de configuration.
Google Tag Manager utilise les événements Firebase Analytics pour déclencher des événements de balises. Chaque fois qu'un évènement est envoyé à Firebase, Tag Manager reconnaît l'événement et l'envoie également à AppsFlyer.
Android
- Dans l'activité souhaitée, ajoutez la déclaration d'importation pour Firebase :
import com.google.firebase.analytics.FirebaseAnalytics;
- Ajoutez le code suivant pour qu'il soit exécuté chaque fois qu'un événement d'achat se produit :
Bundle bundle = new Bundle(); // notice "af_id", this is the name of the event parameter // for AppsFlyer ID that we created in the previous step bundle.putString("af_id", appsFlyerID); bundle.putString("af_revenue", "200"); bundle.putString("af_price", "250"); mFirebaseAnalytics.logEvent("af_purchase", bundle);
- Dans l'activité souhaitée, ajoutez la déclaration d'importation pour Firebase :
import com.google.firebase.analytics.FirebaseAnalytics
- Ajoutez le code suivant pour qu'il soit exécuté chaque fois qu'un événement d'achat se produit :
val bundle = Bundle() // notice "af_id", this is the name of the event parameter // for AppsFlyer ID that we created in the previous step bundle.putString("af_id", appsFlyerID) bundle.putString("af_revenue", "200") bundle.putString("af_price", "250") FirebaseAnalytics.getInstance(this).logEvent("af_purchase", bundle)
iOS
- Dans la vue où l'événement est envoyé, ajoutez
@import Firebase
- Ajoutez le code suivant pour qu'il soit exécuté chaque fois qu'un événement d'achat se produit :
NSString *id_prefix = @"id";
NSString *apple_app_id = [id_prefix stringByAppendingString:[AppsFlyerTracker sharedTracker].appleAppID];
[FIRAnalytics logEventWithName:@"af_purchase" parameters:@{ @"apple_app_id": apple_app_id, @"af_id": [AppsFlyerTracker sharedTracker].getAppsFlyerUID, @"af_revenue": @250, @"af_price": @375 }];
- Dans la vue où l'événement est envoyé, ajoutez
import Firebase
- Ajoutez le code suivant pour qu'il soit exécuté chaque fois qu'un événement d'achat se produit :
Analytics.logEvent("af_purchase", parameters: [ "apple_app_id": "id" + AppsFlyerTracker.shared().appleAppID, "af_id": AppsFlyerTracker.shared().getAppsFlyerUID(), "af_revenue": 250, "af_price": 375 ]);
Envoi d'événements d'installation à Firebase
Vous pouvez également envoyer des événements d'installation à Firebase avec toutes les données relatives à l'installation.
Android
Pour envoyer des événements d'installation à Firebase dans Android, vous pouvez utiliser l'objet conversionData
.
Création de la méthode d'envoi de l'événement
Ajoutez la méthode suivante dans la classe AFApplication
, juste en dessous de la méthode onCreate
:
public void sendInstallToFirebase(Map<String, String> conversionData){
mFirebaseAnalytics = FirebaseAnalytics.getInstance(this);
Bundle bundle = new Bundle();
bundle.putString("install_time", conversionData.get("install_time") == null ? String.valueOf(new Date().getTime()) : conversionData.get("install_time"));
bundle.putString("click_time", conversionData.get("click_time"));
bundle.putString("media_source", conversionData.get("media_source") == null ? "organic": conversionData.get("media_source"));
bundle.putString("campaign", conversionData.get("campaign") == null ? "organic": conversionData.get("campaign"));
bundle.putString("install_type", conversionData.get("af_status"));
mFirebaseAnalytics.logEvent("install", bundle);
}
Cette méthode accepte un objet conversionData
. La méthode vérifie si l'heure d'installation, la source média et la campagne sont nulles, et, le cas échéant, définit l'heure d'installation à l'heure actuelle et la source média ainsi que la campagne comme étant organiques. Sinon, elle prend les données de l'objet conversionData
et les envoie à Firebase.
Envoi de l'événement d'installation
Ajoutez le code suivant dans la méthode onConversionDataSuccess
:
if(conversionData.get("is_first_launch").equals("true")){
sendInstallToFirebase(conversionData);
}
Ce code vérifie si l'app est lancée pour la première fois. Si c'est le cas, il appelle la méthode sendInstallToFirebase
.
Pour envoyer des événements d'installation à Firebase dans Android, vous pouvez utiliser l'objet conversionData
.
Création de la méthode d'envoi de l'événement
Ajoutez la méthode suivante dans la classe AFApplication
, juste en dessous de la méthode onCreate
:
fun sendInstallToFirebase(conversionData: Map<String, Any>) {
val bundle = Bundle()
bundle.putString("install_time", conversionData["install_time"]?.toString() ?: Date().time.toString())
bundle.putString("click_time", conversionData["click_time"]?.toString())
bundle.putString("media_source", conversionData["media_source"]?.toString() ?: "organic")
bundle.putString("campaign", conversionData["campaign"]?.toString() ?: "organic")
bundle.putString("install_type", conversionData["af_status"]?.toString())
FirebaseAnalytics.getInstance(this).logEvent("install", bundle)
}
Cette méthode accepte un objet conversionData
. La méthode vérifie si l'heure d'installation, la source média et la campagne sont nulles, et, le cas échéant, définit l'heure d'installation à l'heure actuelle et la source média ainsi que la campagne comme étant organiques. Sinon, elle prend les données de l'objet conversionData
et les envoie à Firebase.
Envoi de l'événement d'installation
Ajoutez le code suivant dans la méthode onConversionDataSuccess
:
if(conversionData?.get("is_first_launch") == true){
sendInstallToFirebase(conversionData);
}
Ce code vérifie si l'app est lancée pour la première fois. Si c'est le cas, il appelle la méthode sendInstallToFirebase
.
Remarque : À partir du SDK V5, onConversionDataSuccess
est le nom de la méthode d'obtention des données de conversion. Si vous utilisez une version du SDK inférieure à la version 5.0.0, le nom de la méthode est onInstallConversionDataLoaded
. Nous vous recommandons une mise à niveau vers le SDK 5.0.0. Pour en savoir plus, cliquez ici.
iOS
Création de la méthode d'envoi de l'événement
Dans AppDelegate.m, ajoutez la méthode suivante à la fin du fichier :
- (void)sendInstallToFirebase:(NSDictionary *)installData{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd/MM/yyyy HH:mm:ss"];
NSDate *date = [NSDate date];
NSString *newDate = [dateFormatter stringFromDate:date];
if([[installData objectForKey: @"af_status"] isEqual: @"Organic"]){
[FIRAnalytics logEventWithName:@"install"
parameters:@{
@"install_time": newDate,
@"media_source": @"organic",
@"campaign": @"organic"
}];
}
else {
[FIRAnalytics logEventWithName:@"install"
parameters:@{
@"install_time": [installData objectForKey: @"install_time"],
@"click_time": [installData objectForKey: @"click_time"],
@"install_type": [installData objectForKey: @"af_status"],
@"media_source": [installData objectForKey: @"media_source"],
@"campaign": [installData objectForKey: @"campaign"]
}];
}
}
Cette méthode reçoit l'objet installData
et vérifie si l'installation est organique ou non. Si elle est organique, elle définit l'heure d'installation à l'heure actuelle ainsi que la source média, la campagne et le type d'installation comme étant organiques.
Si l'installation n'est pas organique, la méthode récupère les données d'installation non organiques correspondantes.
Une fois les paramètres définis, la méthode envoie l'événement d'installation à Firebase.
Envoi de l'événement d'installation
Dans AppDelegate.m, dans la méthode didFinishLaunchingWithOptions
, ajoutez [FIRApp configure]
Dans AppDelegate.m, dans la méthode onConversionDataSuccess
, ajoutez le code suivant à la fin de la méthode :
if([installData objectForKey:@"is_first_launch"]){
[self sendInstallToFirebase: installData];
}
L'extrait de code ci-dessus vérifie si l'app est lancée pour la première fois. Si c'est le cas, il appelle la méthode sendInstallToFirebase
.
Dans AppDelegate.swift, ajoutez la méthode suivante à la fin du fichier :
func sendInstallToFirebase(_ installData: [AnyHashable : Any]!){
let date = Date()
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd/MM/yyyy hh:mm:ss"
let _newDate: String = dateFormatter.string(from: date)
if(installData["af_status"] as? String == "Organic"){
Analytics.logEvent("install", parameters: [
"install_time": _newDate,
"media_source": "organic",
"campaign": "organic"
]);
} else {
Analytics.logEvent("install", parameters: [
"install_time": installData["install_time"],
"click_time": installData["click_time"],
"media_source": installData["media_source"],
"campaign": installData["campaign"],
"install_type": installData["af_status"]
]);
}
}
Remarque : À partir du SDK V5, onConversionDataSuccess
est le nom de la méthode d'obtention des données de conversion. Si vous utilisez une version du SDK inférieure à la version 5.0.0, le nom de la méthode est onConversionDataReceived
. Nous vous recommandons une mise à niveau vers le SDK 5.0.0. Pour en savoir plus, cliquez ici.
Cette méthode accepte l'objet installData
et vérifie si l'installation est organique. Si elle est organique, elle définit l'heure d'installation à l'heure actuelle ainsi que la source média, la campagne et le type d'installation comme étant organiques.
Si l'installation n'est pas organique, la méthode récupère les données d'installation non organiques correspondantes.
Une fois les paramètres définis, la méthode envoie l'événement d'installation à Firebase.
Envoi de l'événement d'installation
Dans AppDelegate.swift, dans la méthode didFinishLaunchingWithOptions
, ajoutez FirebaseApp.configure();
Dans AppDelegate.swift, dans la méthode onConversionDataSuccess
, ajoutez le code suivant à la fin de la méthode :
if let is_first_launch = data["is_first_launch"] , let launch_code = is_first_launch as? Int {
if(launch_code == 1){
print("First Launch")
sendInstallToFirebase(installData)
} else {
print("Not First Launch")
}
}
Remarque : À partir du SDK V5, onConversionDataSuccess
est le nom de la méthode d'obtention des données de conversion. Si vous utilisez une version du SDK inférieure à la version 5.0.0, le nom de la méthode est onConversionDataReceived
. Nous vous recommandons une mise à niveau vers le SDK 5.0.0. Pour en savoir plus, cliquez ici.
L'extrait de code ci-dessus vérifie si l'app est lancée pour la première fois. Si c'est le cas, il appelle la méthode sendInstallToFirebase
.
Avertissement
Certaines sources média n'autorisent pas le partage de leurs données avec des plateformes et services tiers. Si vous travaillez avec des partenaires tels que Meta Ads, Twitter, Snap, Pinterest, etc., qui imposent des restrictions sur le partage de leurs données avec des plateformes et services tiers, assurez-vous de suivre leurs directives et de supprimer toute donnée soumise à ces restrictions.