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工程配置里则如下: