React Native SDK - 支持 SKAdNetwork

文件

简介: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 兼容。

实施

  1. 添加 ATT 框架:

    • 在 Xcode 项目中包含AppTrackingTransparency
    • NSUserTrackingUsageDescription 更新Info.plist (例如,"本应用程序使用跟踪功能个性化广告")。
  2. 请求 ATT 同意:

    • 根据您的用户体验策略,在应用程序启动时或上架后提示同意。
    • 使用 Singular 的 SDK 处理同意前的初始化。
  3. 配置 Singular SDK:

最佳实践

  • 提示定时:在应用程序启动时请求 ATT 同意,以最大限度地提高 IDFA 可用性,或推迟到上架后再请求 ATT 同意,以改善用户上下文。对这两种方式进行测试,以平衡同意率和用户体验。
  • 超时:将waitForTrackingAuthorizationWithTimeoutInterval 设置为 30-300 秒。超时后,Singular 继续使用 SKAN 4.0 归属(无 IDFA)。
  • SKAN 4.0 集成:确保转换值更新与 ATT 同意保持一致,以优化 SKAN 回传(例如,使用 Singular 的仪表板将事件映射到 0-63 值)。
  • 错误处理:检查ATTrackingManager.trackingAuthorizationStatusrestricted (如家长控制)或notDetermined 状态,并记录分析日志。

手动转换值处理

管理模式

默认情况下,SKAdNetwork 实现直接从 Singular 服务器端管理转换值。

这允许最大限度地提高灵活性,因为您可以通过 Singular 平台设置和更改转换值,而无需修改客户端代码。

这种服务器端管理模式还有助于您处理SKAdNetwork 定时器。SKAdNetwork 允许您在注册 SKAdNetwork 后 24 小时内更新转换值。任何更新转换值的调用都会将计时器延长 24 小时。因此,在选择转换事件时,您必须确保事件在该更新窗口内发生。在托管模式下,您可以随时更改转换事件配置,而无需发布应用程序的新版本。

手动模式

如果您想自行更新转换值:

注意: 如果未将 SDK 设置为初始化时手动更新,则skanUpdateConversionValue方法将不起作用。

检索转换值

要获取当前转换值,请使用 skanGetConversionValue方法。此方法在托管模式和手动模式下均有效。