Datos de conversión
En esta guía aprenderás a obtener los datos de conversión con el SDK de iOS, así como ejemplos de uso.
Antes de comenzar
Para obtener datos de conversión, primero debes integrar el SDK.
Obtener datos de conversión en el SDK de 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
se implementa en AppsFlyerLibDelegate
.
El método onConversionDataSuccess
se invoca siempre que:
- Un usuario abre la aplicación.
- Un usuario mueve la aplicación al primer plano.
Cuando se invoca, onConversionDataSuccess
devuelve un NSDictionary
(llamado installData
en el ejemplo) que contiene datos de atribución para esa instalación. installData
se almacena en caché la primera vez que onConversionDataSuccess
se llama y serán idénticos en llamadas consecutivas.
onConversionDataFail
onConversionDataFail
se implementa en AppsFlyerLibDelegate
.
Si por alguna razón el SDK no logra obtener los datos de conversión, onConversionDataFail
is invoked.
Acceso a los datos de atribución
Puedes obtener el tipo de conversión comprobando el valor de af_status
en la carga útil de onConversionDataSuccess
. Puede ser uno de los siguientes valores:
Organic
Non-organic
Ejemplo
A continuación se muestra un ejemplo de implementación:
#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)
}
}
}
Deferred Deep Linking (método heredado)
Cuando la aplicación se abre a través de enlaces profundos diferidos, la carga útil de onConversionDataSuccess
devuelve datos de enlaces profundos, así como datos de atribución.
- La práctica recomendada es implementar los enlaces profundos con enlaces profundos unificados (UDL).
- Para clientes existentes y referencia, aquí está nuestra guía heredada de enlaces profundos para iOS, usando
onConversionDataSuccess
.
Actualizado hace 23 días