> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kontext.so/llms.txt
> Use this file to discover all available pages before exploring further.

# SKAdNetwork

> 在 iOS 上配置 SKAdNetwork 标识符，让 DSP 能够对你的广告进行安装归因。

[SKAdNetwork](https://developer.apple.com/documentation/storekit/skadnetwork)（SKAN）是 Apple 提供的隐私友好的安装归因框架。每个在 iOS 上投放的广告主（[DSP](/concepts/ad-engine)）都有自己的 SKAdNetwork 标识符。只有当 DSP 的标识符出现在你应用的 `Info.plist` 中，它才能把来自你广告的安装归因回去。

<Note>
  SKAdNetwork **仅适用于 iOS**。它涉及 Swift SDK，以及 React Native 与 Flutter SDK 的 iOS 部分。Android、Web、React、Vue、JavaScript SDK 不需要此配置。
</Note>

## 需要在 `Info.plist` 中添加什么

我们会在 onboarding 期间提供网络中所有活跃 DSP 的 SKAdNetwork 标识符列表。请把它们追加到 `SKAdNetworkItems`：

```xml theme={null}
<key>SKAdNetworkItems</key>
<array>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>XXX.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>YYY.skadnetwork</string>
  </dict>
  <!-- 在此添加我们提供的全部标识符 -->
</array>
```

<Warning>
  如果你的应用已经有 `SKAdNetworkItems` 数组（来自其它广告 SDK），请把我们提供的标识符**追加**进去——不要替换原数组，否则会破坏其他广告网络的归因。Apple 会自动去重，同一个标识符添加两次是无害的。
</Warning>

<Warning>
  少一个标识符意味着归因到对应 DSP 的安装会被**静默丢弃**——你会损失收入但看不到任何报错。请添加我们提供的**全部**标识符，不能只加一部分。
</Warning>

## SDK 如何使用它

SDK 在启动时从 `Info.plist` 读取 `SKAdNetworkItems`。它不会修改或写入这个数组。

每次创建 `Session` 时，SDK 会在后台发起 `POST /init`，并把读取到的完整标识符列表一并转发给我们的广告服务。广告服务会据此：

1. 告知每个 DSP 你的应用中存在哪些标识符，让它们知道是否能对你的流量做安装归因。
2. 过滤掉标识符不在你 `Info.plist` 中的 DSP——它们仍可以投放广告，但安装归因不会生效。我们的后台会把这种"缺失项"标记出来。

这也是为什么这个列表需要与我们提供的列表保持同步。每当我们接入新的 DSP，你会在 onboarding 中拿到更新后的列表——把新标识符添加进去并重新提交构建即可。

## Apple 的 SKAN API

标识符列出之后，SKAN 的其余部分由 Apple 的 `SKAdNetwork` API 与 DSP 的度量集成自动完成。SDK 不会从你的代码里直接调用 `SKAdImpression` 或 `endImpression`——这些都是在广告渲染生命周期内由 SDK 内部处理的。

## 排查问题

* **某个 DSP 报告安装数为零，但它确实投放过广告。** 它的标识符可能没有出现在你的 `Info.plist` 中，或者带有更新列表的构建尚未发布。可以在后台看到我们对缺失标识符的标记。
* **修改 `Info.plist` 需要重新提交 App Store 构建。** SKAdNetwork 标识符是打包进二进制的，无法远程下发。请在 onboarding 时一次性把全部标识符加入，并提交一个完整的构建。
* **需要最新的标识符列表？** 请联系 [support@kontext.so](mailto:support@kontext.so)——我们会发送最新清单。
