广告平台对接iOS集成指引

注意:此文档是针对使用了 渠道统计 功能中的 广告平台渠道 报表统计功能而提供的补充性文档

  • 首次集成SDK的,先按照iOS集成指南或者 后台【应用集成】->【iOS集成】文档集成完毕

  • 开启开关:进入应用后台,找到:“iOS集成”->“iOS应用配置”->“广告平台对接”,勾选并保存

一、相关代码

针对广告平台,为了精准地匹配到渠道,需要获取设备广告标识符(IDFA),因此需要添加额外的代码。

特别说明:
Apple 正式宣布 “从iOS 14.5、iPadOS 14.5和tvOS 14.5开始,您需要通过AppTrackingTransparency框架获得用户的许可,以跟踪他们或访问其设备的广告标识符”。官方说明

适配IDFA隐私新规,在新规正式推出后,请修改为以下集成方式

参考官方文档

1、引入头文件
在初始化方法所在文件,一般都在AppDelegate中

Object-C
Swift
#import <AdSupport/AdSupport.h>
#if defined(__IPHONE_14_0)
#import <AppTrackingTransparency/AppTrackingTransparency.h>//适配iOS14
#endif
import AdSupport
#if swift(>=5)
import AppTrackingTransparency//适配iOS14
#endif

2、在Info.plist文件中添加IDFA的权限申请描述(适配iOS14,必须添加,否则在iOS14系统中会崩溃)

<key>NSUserTrackingUsageDescription</key>
<string>为了您可以精准获取到优质推荐内容,需要您允许使用该权限</string>

3、初始化代码
替换掉原先的初始化方法[OpenInstallSDK initWithDelegate:self];,使用新的API接口:

Object-C
Swift
//如出现编译不通过,可开启注释
//#if defined(__IPHONE_14_0)
    if (@available(iOS 14, *)) {
        [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
            NSString *idfaStr = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
            [OpenInstallSDK initWithDelegate:self advertisingId:idfaStr];//不管用户是否授权,都要初始化
        }];
    }else{
        NSString *idfaStr = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
        [OpenInstallSDK initWithDelegate:self advertisingId:idfaStr];
    }
//#else
//    NSString *idfaStr = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
//    [OpenInstallSDK initWithDelegate:self advertisingId:idfaStr];
//#endif
//如出现编译不通过,可开启注释
//#if swift(>=5)
  if #available(iOS 14.0, *) {
      ATTrackingManager.requestTrackingAuthorization { (status) in
          let idfaStr = ASIdentifierManager.shared().advertisingIdentifier.uuidString
          OpenInstallSDK.initWith(self, advertisingId: idfaStr);//不管用户是否授权,都要进行初始化
      }
  }else{
        let idfaStr = ASIdentifierManager.shared().advertisingIdentifier.uuidString
        OpenInstallSDK.initWith(self, advertisingId: idfaStr);
  }
//#else
//    let idfaStr = ASIdentifierManager.shared().advertisingIdentifier.uuidString
//    OpenInstallSDK.initWith(self, advertisingId: idfaStr);
//#endif

  • 少数第三方平台需要手动导入 AdSupport.framework 库,不然编译时会报错

二、上传IPA包,检查配置

  • 广告代码集成完毕后,需要导出安装包上传openinstall后台,openinstall会自动检查所有的应用配置工作

红色提示表明,当前选择的IPA包集成的SDK版本过低,且未检测到AdSupport.framework库

三、App Store上架指引

在App中获取了IDFA标识符,如果应用本身不包含广告的,提交上架App Store时需要做如下配置,请勾选2、3、4这三项:(避免审核被拒

在苹果上架后台,“App隐私”一项中的产品页,根据实际情况,正确勾选,即用户ID(标识符)所使用到的场景(必须注明哪些数据类型会追踪用户)