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)
        }
    }
}

Lien github

Deep linking différé (méthode héritée)

Lorsque l'app est ouverte via le deep linking différé, la charge utile de onConversionDataSuccessrenvoie les données du deep linking, accompagnées des données d'attribution.