导入 iOS 归因数据

归因导入自 AppMetrica SDK 5.2.0 起在 iOS 可用。

要设置导入,请在客户端调用归因检索方法,然后在AppMetrica SDK中调用AppMetrica / AMAAppMetrica类的reportExternalAttribution归因发送方法。

AppsFlyer

要将 AppsFlyer 的归因集成到你的项目中,请确保为 SwiftUI 项目添加了 AppDelegate 的支持。

  1. 以常规方式初始化 AppsFlyer。
  2. 使用方法 onConversionDataSuccess 来获取归因数据。
  3. 设置归因数据发送(reportExternalAttribution 方法),用于AppMetrica SDK。
import AppMetricaCore
import AppsFlyerLib

extension AppDelegate: AppsFlyerLibDelegate {
    func onConversionDataSuccess(_ installData: [AnyHashable: Any]) {
        AppMetrica.reportExternalAttribution(installData, from: .appsflyer)
    }
}
#import <AppMetricaCore/AppMetricaCore.h>
#import <AppsFlyerLib/AppsFlyerLib.h>

@interface AppDelegate ()
@end

@implementation AppDelegate

- (void)onConversionDataSuccess:(NSDictionary *)installData {
    [AMAAppMetrica reportExternalAttribution:installData
                                      source:kAMAAttributionSourceAppsflyer
                                   onFailure:nil];
}

@end

Adjust

要将 Adjust 的归因集成到你的项目中,请确保为 SwiftUI 项目添加了 AppDelegate 的支持。

  1. 初始化 按常规方式调整。
  2. Adjust 使用 ADJAttribution 对象来处理归因数据。 将其转换为字典,使用dictionary()方法,然后传递给AppMetrica。
  3. 设置归因数据发送(reportExternalAttribution 方法),用于AppMetrica SDK。
import AppMetricaCore
import Adjust

extension AppDelegate: AdjustDelegate {
    func adjustAttributionChanged(_ attribution: ADJAttribution?) {
        if let attribution = attribution?.dictionary() {
            AppMetrica.reportExternalAttribution(attribution, from: .adjust)
        }
    }
}
#import <AppMetricaCore/AppMetricaCore.h>
#import <Adjust/Adjust.h>

@interface AppDelegate () <AdjustDelegate>
@end

@implementation AppDelegate

- (void)adjustAttributionChanged:(ADJAttribution *)attribution {
    NSDictionary *attributionDictionary = [attribution dictionary];
    if (attributionDictionary != nil) {
        [AMAAppMetrica reportExternalAttribution:attributionDictionary
                                          source:kAMAAttributionSourceAdjust
                                       onFailure:nil];
    }
}

@end

Kochava

对于Kochava,请在回调中使用其归因搜索方法,通过调用单例的 rawDictionary 属性来获取 attribution.retrieveResult 方法返回的结果。

  1. 以常规方式初始化 Kochava。
  2. Kochava 提供了通过回调实现的自有归因检索机制。 调用 rawDictionary 属性,在 result 中,来自 attribution.retrieveResult 方法。 将生成的字典发送到AppMetrica。
  3. 设置归因数据发送(reportExternalAttribution 方法),用于AppMetrica SDK。
import AppMetricaCore
import KochavaNetworking
import KochavaMeasurement
Measurement.shared.attribution.retrieveResult { result in
    if let attribution = result.rawDictionary {
        AppMetrica.reportExternalAttribution(attribution, from: .kochava)
    }
}

#import <AppMetricaCore/AppMetricaCore.h>
@import KochavaNetworking;
@import KochavaMeasurement;
[KVAMeasurement.shared.attribution retrieveResultWithClosureDidComplete:^(KVAMeasurement_Attribution_Result * _Nonnull result) {
    NSDictionary *attributionDictionary = result.rawDictionary;
    if (attributionDictionary) {
        [AMAAppMetrica reportExternalAttribution:attributionDictionary
                                          source:kAMAAttributionSourceKochava
                                       onFailure:nil];
    }
}];

Tenjin

  1. 以常规方式初始化 Tenjin。
  2. 获取 TenjinSDK 实例(使用您的 API 键),然后调用 getAttributionInfo(_:)。
  3. 设置归因数据发送(reportExternalAttribution 方法),用于AppMetrica SDK。
import AppMetricaCore
import TenjinSDK
TenjinSDK.getInstance("<SDK_KEY>").getAttributionInfo { (attribution: [AnyHashable : Any]?, error: Error?) in
    if let attribution = attribution {
        AppMetrica.reportExternalAttribution(attribution, from: .tenjin)
    }
}
#import <AppMetricaCore/AppMetricaCore.h>
#import <TenjinSDK/TenjinSDK.h>
[[TenjinSDK getInstance:@"<SDK_KEY>"] getAttributionInfo:^(NSDictionary *attribution, NSError *error) {
    if (attribution) {
        [AMAAppMetrica reportExternalAttribution:attribution
                                          source:kAMAAttributionSourceTenjin
                                       onFailure:nil];
    }
}];

Airbridge

  1. 以常规方式初始化 Airbridge。
  2. 设置 attributionCallback 属性,用于从 ABSetting AirBridge.setting() 获取的对象。 将归属字典作为参数传递。
  3. 设置归因数据发送(reportExternalAttribution 方法),用于AppMetrica SDK。
import AppMetricaCore
import AirBridge
AirBridge.setting().attributionCallback = { (attribution: [String : String]) in
    AppMetrica.reportExternalAttribution(attribution, from: .airbridge)
}
#import <AppMetricaCore/AppMetricaCore.h>
#import <AirBridge/AirBridge.h>
[AirBridge.setting setAttributionCallback:^(NSDictionary<NSString *,NSString *> * _Nonnull attribution) {
    [AMAAppMetrica reportExternalAttribution:attribution
                                      source:kAMAAttributionSourceAirbridge
                                   onFailure:nil];
}];

Singular

  1. 初始化 以常规方式单数形式。
  2. 使用您的 API 密钥和密钥初始化 SingularConfig。
  3. 为归属数据处理分配一个回调,名称为deviceAttributionCallback。
  4. 设置归因数据的发送(reportExternalAttribution 方法)在 AppMetrica SDK 中。
import AppMetricaCore
import Singular
if let singularConfig = SingularConfig(apiKey: "API_KEY", andSecret: "SECRET") {
    singularConfig.deviceAttributionCallback = { (attribution: [AnyHashable : Any]?) in
        if let attribution = attribution {
            AppMetrica.reportExternalAttribution(attribution, from: .singular)
        }
    }
}
#import <AppMetricaCore/AppMetricaCore.h>
#import <Singular/Singular.h>
SingularConfig *singularConfig = [[SingularConfig alloc] initWithApiKey:@"API_KEY" andSecret:@"SECRET"];
singularConfig.deviceAttributionCallback = ^(NSDictionary *attribution) {
    if (attribution) {
        [AMAAppMetrica reportExternalAttribution:attribution
                                          source:kAMAAttributionSourceSingular
                                       onFailure:nil];
    }
};

如果您没有找到所需答案,可以通过反馈表单提交您的问题。 请尽可能详细地描述问题。 如果可能,请附上截图。

联系支持 为文档提出改进建议