Данные о конверсиях

В этом руководстве вы узнаете, как получить данные о конверсиях с помощью SDK для iOS, а также ознакомитесь с примерами использования.

Прежде чем начать

Для получения данных о конверсиях необходимо интегрировать SDK.

Получение данные о конверсиях через 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 реализуется в AppsFlyerLibDelegate.
Метод onConversionDataSuccess вызывается, когда:

  • Пользователь открыл приложение.
  • Пользователь перевел приложение в фоновый режим.

При вызове onConversionDataSuccess возвращает NSDictionary (называется installData в данном примере), который содержит данные атрибуции для этой установки. installData кешируется при первом вызове onConversionDataSuccess и будут идентичны при последующих вызовах.

onConversionDataFail

onConversionDataFail реализуется в AppsFlyerLibDelegate.
Если по какой-либо причине SDK не может получить данные о конверсиях, вызывается onConversionDataFail is invoked.

Доступ к данным атрибуции

Тип конверсии можно узнать, проверив значение af_status в полезной нагрузке onConversionDataSuccess. Значение может быть таким:

  • Organic
  • Non-organic

Пример

Пример реализации:

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

Ссылка на Github

Отложенный диплинкинг (устаревший метод)

Когда приложение открывается с помощью отложенного диплинкинга, полезная нагрузка onConversionDataSuccessвозвращает данные диплинкинга, а также данные атрибуции.