Données de conversion
Dans ce guide, vous apprendrez à obtenir des données de conversion à l'aide du SDK iOS, et vous aurez accès à des exemples d'utilisation .
Avant de commencer
Pour obtenir des données de conversion, vous devez d'abord intégrer le SDK.
Obtenir des données de conversion dans le SDK iOS
#import "AppDelegate.h"
#import <AppsFlyerLib/AppsFlyerLib.h>
@interface AppDelegate ()
@end
@implementation AppDelegate
// ...
-(void)onConversionDataSuccess:(NSDictionary*) installData {
// Invoked when conversion data resolution succeeds
}
-(void)onConversionDataFail:(NSError *) error {
// Invoked when conversion data resolution fails
NSLog(@"%@",error);
}
// ...
@end
import UIKit
import AppsFlyerLib
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
// ..
}
extension AppDelegate: AppsFlyerLibDelegate {
func onConversionDataSuccess(_ installData: [AnyHashable: Any]) {
// Invoked when conversion data resolution succeeds
}
func onConversionDataFail(_ error: Error!) {
// Invoked when conversion data resolution fails
}
}
onConversionDataSuccess
onConversionDataSuccess
est implémenté dans AppsFlyerLibDelegate
.
La méthode onConversionDataSuccess
est invoquée à chaque fois que :
- Un utilisateur a ouvert l'app
- Un utilisateur fait passer l'app au premier plan
Lorsqu'il est invoqué, onConversionDataSuccess
renvoie un NSDictionary
(appelé installData
dans cet exemple) qui contient les données de conversion pour cette installation. installData
est mis en cache la première fois que onConversionDataSuccess
est appelé et sera identique lors des appels suivants.
onConversionDataFail
onConversionDataFail
est implémenté dans AppsFlyerLibDelegate
.
Si, pour une raison x ou y le SDK ne peut pas récupérer les données de conversion,onConversionDataFail
is invoked.
Accès aux données d'attribution
Vous pouvez connaître le type de conversion en consultant la valeur de af_status
dans la charge utile de onConversionDataSuccess
. Cela peut être l'une des valeurs suivantes :
Organic
Non-organic
Exemple
Voici un exemple d'implémentation :
#import "AppDelegate.h"
#import <AppsFlyerLib/AppsFlyerLib.h>
#import <UserNotifications/UserNotifications.h>
@interface AppDelegate ()
@end
@implementation AppDelegate
// ...
-(void)onConversionDataSuccess:(NSDictionary*) installData {
// Business logic for Non-organic install scenario is invoked
id status = [installData objectForKey:@"af_status"];
if([status isEqualToString:@"Non-organic"]) {
id sourceID = [installData objectForKey:@"media_source"];
id campaign = [installData objectForKey:@"campaign"];
NSLog(@"This is a Non-organic install. Media source: %@ Campaign: %@",sourceID,campaign);
}
else if([status isEqualToString:@"Organic"]) {
// Business logic for Organic install scenario is invoked
NSLog(@"This is an Organic install.");
}
}
-(void)onConversionDataFail:(NSError *) error {
NSLog(@"%@",error);
}
// ...
@end
import UIKit
import AppsFlyerLib
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate, AppsFlyerLibDelegate {
// ...
}
extension AppDelegate: AppsFlyerLibDelegate {
func onConversionDataSuccess(_ installData: [AnyHashable: Any]) {
if let status = installData["af_status"] as? String {
if (status == "Non-organic") {
// Business logic for Non-organic install scenario is invoked
if let sourceID = installData["media_source"],
let campaign = installData["campaign"] {
print("This is a Non-organic install. Media source: \(sourceID) Campaign: \(campaign)")
}
}
else {
// Business logic for organic install scenario is invoked
}
}
}
func onConversionDataFail(_ error: Error!) {
// Logic for when conversion data resolution fails
if let err = error{
print(err)
}
}
}
Deep linking différé (méthode héritée)
Lorsque l'app est ouverte via le deep linking différé, la charge utile de onConversionDataSuccess
renvoie les données du deep linking, accompagnées des données d'attribution.
- La pratique recommandée consiste à implémenter le deep linking avec le deep linking unifié (DLU)
- Pour les clients existants et à titre de référence, voici notre guide du deep linking IOS hérité, utilisant
onConversionDataSuccess
.
Mis(e) à jour il y a 4 mois