SKAdNetworkItems
是苹果提供的用于广告归因的API,它允许开发者在不违反用户隐私的前提下,追踪广告带来的应用安装和转化事件。通过 SKAdNetworkItems
,开发者可以创建广告网络项目,这些项目包含了广告网络的标识符和其他相关信息。
NSUserTrackingUsageDescription
是一个Info.plist文件中的键,用于向用户解释应用为何需要追踪用户数据。当应用尝试使用如 CoreLocation
或 AdSupport
框架进行用户跟踪时,系统会要求开发者提供此描述。
ATTrackingManager
是App Tracking Transparency (ATT) 框架的一部分,用于管理应用的跟踪权限。自iOS 14起,苹果引入了ATT框架,要求应用在追踪用户之前必须获得用户的明确许可。
NSUserTrackingUsageDescription
和 ATTrackingManager
,应用可以更好地遵守苹果的隐私政策,保护用户数据。SKAdNetworkItems
提供了一种新的广告归因方式,使广告主能够更准确地衡量广告效果。SKAdNetworkItems
NSUserDiscoveryUsageDescription
ATTrackingManager
SKAdNetworkItems
进行广告归因。NSUserTrackingUsageDescription
向用户解释用途。ATTrackingManager
请求跟踪权限。原因:用户可能对应用收集和使用个人数据持谨慎态度。
解决方法:
NSUserTrackingUsageDescription
中提供清晰、具体的解释,说明为什么需要跟踪用户数据以及如何使用这些数据。SKAdNetworkItems
设置后,广告归因不准确原因:可能是配置错误或广告网络标识符不正确。
解决方法:
SKAdNetworkItems
中的广告网络标识符与广告网络提供的标识符一致。// Info.plist中添加NSUserTrackingUsageDescription
<key>NSUserTrackingUsageDescription</key>
<string>我们需要追踪您的使用情况,以提供更好的服务。</string>
// 请求跟踪权限
import AppTrackingTransparency
import AdSupport
func requestTrackingAuthorization() {
if #available(iOS 14, *) {
ATTrackingManager.requestTrackingAuthorization(completionHandler: { status in
switch status {
case .authorized:
print("用户授权跟踪")
case .restricted:
print("跟踪受限")
case .notDetermined:
print("未确定")
case .denied:
print("用户拒绝跟踪")
@unknown default:
fatalError()
}
})
}
}
领取专属 10元无门槛券
手把手带您无忧上云