ASA渠道使用指南
一、集成SDK
注意:此文档是针对使用了 渠道统计 功能中的 ASA渠道 报表统计功能而提供的补充性文档
SDK版本要求:SDK>=2.5.6,CocoaPods上对应版本:>=2.5.6,工具Xcode>=12.3
1.首次集成SDK的,先按照iOS集成指南或者 后台【应用集成】->【iOS集成】文档集成完毕,使用ASA渠道时,初始化代码要做调整,参考以下文档
2.代码集成
1).引入头文件
#import <AdServices/AAAttribution.h>
import AdServices
2).调用初始化,传入相关参数
注意:之前集成了openinstall SDK的用户,需要将之前的初始化方法替换掉,否则会导致统计失败
请在用户同意《隐私政策》后再调用初始化方法
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
[self opInit];
/*//同时使用了广告渠道和ASA渠道统计的代码示例
if (@available(iOS 14, *)) {
//权限申请
[ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
[self opInit];
}];
}else{
[self opInit];
}
*/
}
- (void)opInit{
//ASA广告归因
NSMutableDictionary *config = [[NSMutableDictionary alloc]init];
if (@available(iOS 14.3, *)) {
NSError *error;
NSString *token = [AAAttribution attributionTokenWithError:&error];
[config setValue:token forKey:OP_ASA_Token];
}
/*//第三方广告平台统计代码
NSString *idfaStr = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
[config setValue:idfaStr forKey:OP_Idfa_Id];
*/
[OpenInstallSDK initWithDelegate:self adsAttribution:config];
}
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
opInit();
/*//同时使用了广告渠道和ASA渠道统计的代码示例
if #available(iOS 14.0, *) {
//权限申请
ATTrackingManager.requestTrackingAuthorization { (status) in
opInit();
}
}else{
opInit();
}
*/
func opInit(){
//ASA广告归因
var OpConfig:[String:Any] = [String:Any]();
if #available(iOS 14.3, *) {
do {
let token = try AAAttribution.attributionToken();
OpConfig.updateValue(token, forKey: OP_ASA_Token);
} catch {}
}
/*//第三方广告平台统计代码
let idfaStr = ASIdentifierManager.shared().advertisingIdentifier.uuidString
OpConfig.updateValue(token, forKey: OP_Idfa_Id);
*/
OpenInstallSDK.defaultManager()?.reportAdsAttribution(OpConfig);
}
//其它代码...
return true
}
3).获取ASA渠道编号
同H5获取方式一样,通过方法getInstallParmsCompleted
获取channelCode
对应的值即可。
二、获取ASA广告系列ID
登录ASA官方后台苹果ASA官方后台创建广告系列并获取ID
三、创建openinstall开发者平台ASA渠道
1.注册并登录openinstall开发者平台创建
2.填入获取到的ASA广告系列ID
此处可创建一个编号为1234567890
的ASA渠道,用于上架前的测试,看文档后面第六点
四、App Store输入关键字搜索广告并下载安装激活应用
五、查看openinstall开发者平台ASA渠道数据统计
openinstall开发者平台渠道报表中对应的ASA渠道安装数据成功统计即为归因成功,将继续追踪统计用户后续事件行为
六、上架前验证集成情况
1.按照集成文档完成集成操作。
2.在openinstall控制台的【广告统计】-【广告渠道管理】-【ASA渠道】中创建一个广告系列ID为1234567890
的ASA渠道。
3.在【iOS集成】-【iOS调试日志】中配置测试设备的IP并保存,然后通过Xcode或其它工具将应用安装到测试设备运行打开。
4.在【广告统计】-【ASA渠道报表】中观察渠道编号为1234567890
的ASA渠道,若统计到安装量表示ASA集成正确。
或者在【iOS集成】-【iOS调试日志】中观察到以下格式类似的日志也可以判断为调试成功。
日志内容:
iOS-SDK初始化matchType:none,channelCode:1234567890,bindData:{"attribution":true,"campaignId":"1234567890","orgId":"1234567890","adGroupId":"1234567890","keywordId":"12323222","conversionType":"Download","countryOrRegion":"US"},pbFailed:false,channelSticky:false,opid:xxxxxxxxxxxxx,model:iPhone 11,system:16.5,sdk:2.7.0
注意:测试渠道1234567890是苹果返回的测试数据,可能存在延迟,可以在集成代码时,设置debug模式(OP_ASA_isDev为YES),并且在正式版本发布时删除debug相关代码(否则会影响参数还原) ,代码如下。
- (void)opInit{
//...
if (@available(iOS 14.3, *)) {
//...
[config setValue:token forKey:OP_ASA_Token];
#ifdef DEBUG
[config setValue:@(YES) forKey:OP_ASA_isDev];//该配置请不要带入正式环境中
#else
#endif
}
//初始化sdk
[OpenInstallSDK initWithDelegate:self adsAttribution:config];
}
func opInit(){
//...
if #available(iOS 14.3, *) {
do {
let token = try AAAttribution.attributionToken();
OpConfig.updateValue(token, forKey: OP_ASA_Token);
#if DEBUG
OpConfig.updateValue(NSNumber(value: true), forKey: OP_ASA_isDev);//该配置请不要带入正式环境中
#else
#endif
} catch {}
}
OpenInstallSDK.initWith(self, adsAttribution: OpConfig);
}