iOS14适配说明

ATT授权 & SKAdNetwork

以往广告归因依赖于IDFA。从iOS 14开始,只有在获得用户明确许可的前提下,应用才可以访问用户的IDFA数据并向用户投放定向广告。在应用程序调用 App Tracking Transparency 框架向最终用户提出应用程序跟踪授权请求之前,IDFA将不可用。如果某个应用未提出此请求,则读取到的IDFA将返回全为0的字符串,这个可能会导致广告收入降低。 ATT(App Tracking Transparency), 适用于请求用户权限,访问与应用相关的数据已跟踪用户或设备。在iOS14.5以后(之前不做配置也能正常获取IDFA)想要依旧能使用IDFA,建议开发者在初始化聚合SDK之前获取ATT授权,以便允许用户授权跟踪权限。 首先,需要在App层级的info.plist里添加ATT权限描述:

<key>NSUserTrackingUsageDescription</key>
<string>ATT权限使用说明,需要开发者自行设置描述</string>

其次,在代码层面请求授权,建议最好在聚合SDK初始化之前请求授权。

#import <AppTrackingTransparency/AppTrackingTransparency.h>
[ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) 
{
//to do something,like sdk init.
}];

以上配置好之后,在APP启动后会出现如下ATT授权对话框, 点击"允许跟踪"将会使APP正常获取到IDFA:

输入图片说明

当IDFA未获取到时,使用Apple的转化跟踪SKAdNetwork来获取归因。SKAdNetwork是 Apple 针对iOS14的归因解决方案,可在保护用户隐私的同时完成广告归因。要启用此功能,开发者需要在info.plist中添加SKAdNetworkItems。开发者可根据三方Adn的具体情况添加对应平台的SKAdNetwork标识符。

<key>SKAdNetworkItems</key>
<array>
<dict>

<key>SKAdNetworkIdentifier</key>

<string>Adn SKAdNetworkIdentifier</string>

</dict>

</array>

三方Adn

目前聚合SDK支持的的平台已知的SKAdNetwork标识符如下:

ADN SKAdNetworkIdentifier
CSJ 238da6jt44.skadnetwork(国内) 22mmun2rn5.skadnetwork(海外) x2jnk7ly8j.skadnetwork(兜底)
Admob cstr6suwn9.skadnetwork
UnityAds 4dzt52r2t5.skadnetwork bvpn9ufa9b.skadnetwork
Sigmob 8922NB4GD.skadnetwork
GDT f7s53z58qe.skadnetwork
BaiduMob -
Mintegral kbd757ywx3.skadnetwork
ks -

注意:三方ADN SKAdNetworkIdentifier请务必以其官方文档为准 eg: 当前媒体A使用聚合SDK集成了CSJ,Admob两家ADN,则需要在info.plst做如下配置:

<array>

<dict>

<key>SKAdNetworkIdentifier</key>

<string>238da6jt44.skadnetwork</string>

</dict>

<dict>

<key>SKAdNetworkIdentifier</key>

<string>22mmun2rn5.skadnetwork</string>

</dict>

<dict>

<key>SKAdNetworkIdentifier</key>

<string>cstr6suwn9.skadnetwork</string>

</dict>

</array>

在Xcode工程配置里则如下:

输入图片说明