SKAdNetwork 移动集成

概述

使用 Branch 管理您的广告主 SKAdNetwork 集成,并在 Branch 中显示 SKAdNetwork 数据,需要更新 Branch 操作后台并使用以下两种方法之一更新您的 iOS 应用:

  • 选项 1—使用 Branch SDK 管理对 SKAdNetwork 的所有调用
  • 选项 2—直接与 SKAdNetwork 集成以完全控制发送到 Apple 的内容

📘

哪个 SDKAdNetwork 实施选项更适合您?

要详细了解每种集成方法的优势,请阅读此常见问题解答篇

📘

服务器间 (server-to-server) 以及 TUNE SDK 集成

使用服务器间 (server-to-server) 集成,TUNE SDK,或任何不直接包含 Branch SDK 的集成方案/工具包的所有移动应用必须使用选项 2 或利用另一个第三方 SDK 来将事件发送到 SKAdNetwork

先决条件

操作后台 (Dashboard) 设置

1.与 Apple SKAdnetwork 进行身份验证和集成

🚧

可能需要开发者

验证应用需要访问 Apple 的开发人员工具 App Store Connect,因为 Branch 需要多个 ID 和一个 key 才能完成身份验证并将正确的应用同步到您的 Branch 帐户。

图片图片

要配置 SKAdNetwork 功能,您需要:

  1. 在左侧导航栏中的渠道和链接项下,点击广告
  2. 广告子菜单中,点击 SKAdNetwork
  3. SkAdNetwork 页面上,点击配置选项卡。
  4. 身份验证选项卡上,请提供以下 App Store Connect 信息:
    a. 发行者 ID
    b.密钥 ID
    c.私人密钥
    -选择"Admin"或"App Manager"访问级
  5. 点击Save & Continue
  1. 一旦您的 App Store Connect 帐户通过身份验证(用绿色的对号标记),请确认已同步正确的应用,然后点击集成

📘

App Store Connect 凭证

App Store Connect 凭证用于一次性检查以确认 App 所有权。在“App Integration(应用集成)”步骤完成后,可移除这些凭证(“应用集成”旁出现绿色复选标记)。选择“Reset App Store Credentials(重置 App Store 凭证)”可将凭证删除。只要完成了“应用集成”步骤,SKAdNetwork 集成即已完成且有效。

2.选择加入 Branch SDK 支持

Branch 操作后台 (Dashboard) SKAdNetwork Config 部分,选择 YES 单选按钮,允许 Branch SDK 处理对 SKAdNetwork 的所有调用。

如果您有如下计划,请不要选择加入:

3.为事件分配转化值

  • Branch 操作后台中的 SKAdNetwork Config 部分,选择您希望 Branch 发送到 Apple 进行归因的所有应用事件。
  • 将唯一值分配给每个事件 (Apple 接受的数值在 0 到 63 之间),数值代表的是对您的重要程度,其中 63 表示最重要,0 表示最不重要。Apple 会始终使用最重要的事件,无论接下来是否会追踪重要性较低的事件。

📘

事件映射必须使用顶级事件名称

对于使用 customer_event_alias 的 Branch 事件,Branch SDK 的自动事件映射将不会映射到这些值,因此转化值必须映射到顶级事件名称。

APP 选项 1: 使用 Branch SDK 管理 SKAdNetwork

支持的平台

以下 Branch SDK 版本可自动处理 SKAdNetwork 应用内功能。如果您未在以下平台上集成 Branch,请直接与 SKAdNetwork 集成

集成步骤

  • 将 Branch SDK 更新到支持 SKAdNetwork 的版本
  • 将 Apple 的 StoreKit 框架导入到您的 iOS build

📘

更改转化值

追踪事件时,Branch SDK 始终会调用 updateConversionValue 并使用 Branch 操作后台中映射的值。如果您在操作后台中更改值,Branch SDK 将开始使用新值。

📘

更改 SKAdNetwork 标注的时间窗口

By default, Branch limits updateConversionValue() calls to SKAdNetwork to within 24 hours after first install. Every time updateConversionValue() is called with a value greater than previous, this delays Apple's attribution of the original Install event by a rolling 24 hour timer.

但是,您可以使用以下 SDK 方法修改此时间窗口:
- (void)setSKAdNetworkCalloutMaxTimeSinceInstall:(NSTimeInterval)maxTimeInterval;

📘

Facebook - 广告投放优化要求

Facebook ads delivery optimization requires that SKAdNetwork window not be delayed by more than 24 hours. Our SDK supports a default window of 24 hours.

📘

追踪 SKAdNetwork 和 Branch SDK 之间的不同事件

基于您的 SKAdNetwork 战略,使 Branch SDK 自动执行 SKAdNetwork 应用内集成可能并不能始终奏效。因为 Apple 对转化值施加了限制(共 64 个值,没有 metadata 等),使用您用 Branch SDK 追踪的当前事件的效果可能要弱于通过直接集成 SKAdNetwork 来追踪自定义值。例如,如果收入是您最看重的指标,您可以使用转化值来表示收入 "basket size" 中的差异。

APP 选项 2: 直接与 SKAdNetwork 集成

如果您希望直接管理 SKAdNetwork,而不是通过 Branch SDK,则可以使用这一方式。

集成步骤

  • 操作后台设置中选择不使用 Branch SDK 管理 SKAdNetwork,并完成操作后台设置的剩余部分。
  • 将 Apple 的 StoreKit 框架导入到您的 iOS build

📘

registerAppForAdNetworkAttribution() 只需调用一次

对这一方法的后续调用将不起作用

报告转化

  • 为您要发送给 Apple 的每个应用事件,从 SKAdNetwork 中调用updateConversionValue(),并在 Branch 操作后台中为每个事件使用相同的值。
  • 24 hours after INSTALL, stop calling updateConversionValue() to align with Branch's tracking methodology. Every time updateConversionValue() is called with a value greater than previous, this delays Apple's attribution of the original Install event by a rolling 24 hour timer.

📘

更新 updateConversionValue() 中的值

如果您更改某一事件的转化值,将会存在过渡期,在此期间,应用最新版本的用户将使用新值报告转化,而旧版本的应用将继续使用旧值报告转化(直到他们完成应用更新)。

请记得更新 Branch 操作后台中映射的值,以确保报告与 Branch 中的值一致。

📘

Apple 没有提供可以报告转化的服务器端 API

SKAdNetwork 阻止将用户关联到转化,因此在服务器端追踪事件必须指示应用将转化报告给 SKAdNetwork。由于第一次转化必须发生在安装后的 24 小时内,因此有机会在服务器端追踪事件,但是没有在 24 小时窗口期内再次打开应用的用户,也就无法报告给 Apple。

为了缓解这一风险,始终追踪通常会导致服务器端事件的一系列应用内事件(例如 "add-to-cart" 通常是 "purchase" 之前发生的事件)。他们不能代替您的服务器端事件,但是可以作为评估广告 campaign 表现时的有效代理;而且还可以延迟 Apple 的 24 小时定时器,以提高在追踪服务器端事件后的时间内用户重新打开应用的概率。

问题排查常见问题解答

16 天前更新



SKAdNetwork 移动集成


建议的编辑仅限于 API 参考页

您只能建议对 Markdown 正文内容进行修改,而不能建议对 API 说明进行修改。