简介:SKAdNetwork 和 SKAN
Singular 的 iOS SDK 简化了 SKAdNetwork 集成,支持 SKAN 4.0 功能,如多重回传、分层源 ID 和粗粒度转换值。它基于 Singular 的开源 SKAN 标准,可确保轻松设置并与广告网络兼容。有关设置详情,请参阅Singular 的《SKAdNetwork 指南》。
支持 SKAdNetwork 跟踪
提示:使用 Singular SDK 时,SKAdNetwork 跟踪功能默认已启用。
要禁用或关闭对 SKAdNetwork 的支持:
- 在构建 SingularConfig 对象时,将skAdNetworkEnabled配置方法设置为FALSE 。
处理 AppTrackingTransparency (ATT)
对于 iOS 14.5 以上版本(包括 iOS 18),在访问 IDFA 进行跟踪之前,请使用ATTrackingManager 征得用户同意。Singular 的 iOS SDK(v12.x)支持 ATT,允许在用户同意之前进行初始化,并将事件延迟到用户同意或超时为止。这确保符合苹果公司的隐私规则,并与 SKAdNetwork (SKAN) 4.0 兼容。
实施
-
添加 ATT 框架:
- 在 Xcode 项目中包含AppTrackingTransparency 。
- 用NSUserTrackingUsageDescription 更新Info.plist (例如,"本应用程序使用跟踪功能个性化广告")。
-
请求 ATT 同意:
- 根据您的用户体验策略,在应用程序启动时或上架后提示同意。
- 使用 Singular 的 SDK 处理同意前的初始化。
-
配置 Singular SDK:
- 在构建 waitForTrackingAuthorizationWithTimeoutInterval配置方法,直到 ATT 同意解决或超时(如 30 秒)到期。
最佳实践
- 提示定时:在应用程序启动时请求 ATT 同意,以最大限度地提高 IDFA 可用性,或推迟到上架后再请求 ATT 同意,以改善用户上下文。对这两种方式进行测试,以平衡同意率和用户体验。
- 超时:将waitForTrackingAuthorizationWithTimeoutInterval 设置为 30-300 秒。超时后,Singular 继续使用 SKAN 4.0 归属(无 IDFA)。
- SKAN 4.0 集成:确保转换值更新与 ATT 同意保持一致,以优化 SKAN 回传(例如,使用 Singular 的仪表板将事件映射到 0-63 值)。
- 错误处理:检查ATTrackingManager.trackingAuthorizationStatus 的restricted (如家长控制)或notDetermined 状态,并记录分析日志。
手动转换值处理
管理模式
默认情况下,SKAdNetwork 实现直接从 Singular 服务器端管理转换值。
这允许最大限度地提高灵活性,因为您可以通过 Singular 平台设置和更改转换值,而无需修改客户端代码。
这种服务器端管理模式还有助于您处理SKAdNetwork 定时器。SKAdNetwork 允许您在注册 SKAdNetwork 后 24 小时内更新转换值。任何更新转换值的调用都会将计时器延长 24 小时。因此,在选择转换事件时,您必须确保事件在该更新窗口内发生。在托管模式下,您可以随时更改转换事件配置,而无需发布应用程序的新版本。
手动模式
如果您想自行更新转换值:
- 设置 withManualSkanConversionManagement配置方法。
- 然后,在应用程序中需要更新转换值的地方使用 skanUpdateConversionValue方法来更新转换值。
- 或者,要手动更新 SKAdNetwork 4.0 转换值,请使用 skanUpdateConversionValues方法手动更新 SKAdNetwork 4.0 转换值。
注意: 如果未将 SDK 设置为初始化时手动更新,则skanUpdateConversionValue方法将不起作用。
检索转换值
要获取当前转换值,请使用 skanGetConversionValue方法。此方法在托管模式和手动模式下均有效。