SKAdNetwork

SKAdNetwork 归因如何经由 CloudX 面向需求合作伙伴流转

SKAdNetwork 是 Apple 保护隐私的框架,用于将应用安装归因于广告。对于配置为接收该扩展的买方端点,CloudX 支持以下 IAB SKAdNetwork OpenRTB 流程:

  1. 竞价请求告知您来源应用的 SKAdNetwork 能力。
  2. 您的竞价响应携带被推广应用的已签名展示数据。
  3. 当用户点击广告时,CloudX SDK 会在呈现被推广应用的产品页时将您的签名数据传给 StoreKit。有效数据使该交互具备归因资格;最终是否归因由 Apple 决定。

竞价请求:应用能力

当该字段送达符合条件的 iOS 展示请求时,imp.ext.skadn 描述来源应用支持的能力:

字段类型说明
versionstring应用支持的 SKAdNetwork 版本(例如 "4.0")。
versionsstring 数组应用支持的全部 SKAdNetwork 版本。
sourceappstring展示广告的应用 ID,通常为数字 App Store ID。回退情况下可能为 bundle ID;此时该请求不符合 SKAdNetwork 归因条件。
skadnetidsstring 数组发布商 Info.plistSKAdNetworkItems 列出的广告网络 ID。您的网络 ID 必须出现在其中,归因才能生效。

仅当 skadnetids 包含您的广告网络 ID,且 sourceapp 只包含数字时,才发送带 SKAdNetwork 签名的竞价。如果 sourceapp 是 bundle ID,请正常出价但不要返回 bid.ext.skadn;请勿原样返回该 bundle ID,也不要使用其他标识符生成签名。

竞价响应:已签名展示数据

要投放支持 SKAdNetwork 归因的广告,请在您的竞价上返回 bid.ext.skadn 对象:

字段类型说明
versionstring生成展示数据所用的 SKAdNetwork 版本。必须是请求中所宣传的版本之一。
networkstring您的广告网络 ID,与生成签名时使用的 ID 一致。
campaignstring广告系列 ID,遵循 Apple 规范。SKAdNetwork 4.0 及更高版本请改用 sourceidentifier
sourceidentifierstring四位数字的广告展示标识符,适用于 SKAdNetwork 4.0 及更高版本。
itunesitemstring被推广应用的数字 App Store ID。
sourceappstring展示广告应用的数字 App Store ID。请原样返回请求中的数字 imp.ext.skadn.sourceapp;iOS 14 及更高版本会将其用于 StoreKit 签名参数。
productpageidstring可选的 iOS 15 及以上自定义产品页 ID。它可以随 SKAdNetwork 数据返回,但本身并不属于 SKAdNetwork 2.2 签名。
noncestring每次广告展示唯一的 UUID。
timestampstring生成签名时的 Unix 时间(毫秒)。
signaturestring该展示的 Apple SKAdNetwork 签名。
fidelitiesobject 数组适用于 SKAdNetwork 2.2 及更高版本。请提供完整的点击归因条目,包含 fidelity: 1noncetimestampsignature

iOS SDK 会优先使用 fidelity: 1 条目,并分别解析 noncetimestampsignature。为保持兼容性,如果该条目不存在或缺少某个字段,该字段会回退到顶层同名字段。请勿混用这两种格式:对于 SKAdNetwork 2.2 及更高版本,请发送一个完整的 fidelity: 1 条目;对于更早版本,请在顶层发送一组完整的 noncetimestampsignature。SDK 不会注册浏览归因(fidelity: 0)签名。

CloudX 不会修改 bid.ext.skadn——获胜出价上的该对象将按原样送达设备。

这些字段属于买方契约。CloudX 在调用 StoreKit 前会检查 UUID 格式和核心参数集等结构要求,但不会验证 Apple 的加密签名;无效或不匹配的数据可能导致归因失败。

示例

{
  "id": "request-123",
  "seatbid": [
    {
      "bid": [
        {
          "id": "1",
          "impid": "imp-1",
          "price": 2.5,
          "adm": "<html>...</html>",
          "crid": "creative-123",
          "adomain": ["advertiser.example"],
          "ext": {
            "skadn": {
              "version": "4.0",
              "network": "abc123def4.skadnetwork",
              "sourceidentifier": "5239",
              "itunesitem": "987654321",
              "sourceapp": "123456789",
              "fidelities": [
                {
                  "fidelity": 1,
                  "nonce": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
                  "timestamp": "1697044800000",
                  "signature": "MEQCIEqm..."
                }
              ]
            }
          }
        }
      ]
    }
  ],
  "cur": "USD"
}

设备端行为

  • 当用户点击广告时,SDK 会呈现被推广应用的 App Store 产品页,并使用 fidelity: 1 条目中的签名数据,使交互具备点击归因资格;最终结果由 Apple 决定。
  • 支持自定义产品页(productpageid),要求 iOS 15 及更高版本。
  • 这适用于为您的端点启用的每种 CloudX 渲染素材类型——参见素材规范

延伸阅读