广告平台对接iOS集成指引

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

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

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

一、相关代码

针对广告平台,为了精准地匹配到渠道,需要获取设备广告标识符(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>请允许,以获取和使用您的IDFA</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];
#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);
#endif

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

二、上传IPA包,检查配置

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

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

三、App Store上架指引

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