---
metadata:
  - name: generator
    content: Diplodoc Platform v5.64.0
alternate:
  - https://boost.yandex.com/doc/en/analytics/content/mobile-tracking/ios-tracking.md
  - https://boost.yandex.com/doc/ru/analytics/content/mobile-tracking/ios-tracking.md
  - https://boost.yandex.com/doc/zh/analytics/content/mobile-tracking/ios-tracking.md
  - href: https://boost.yandex.com/doc/zh/analytics/content/mobile-tracking/ios-tracking.md
    type: text/markdown
    title: Markdown version
  - href: https://boost.yandex.com/doc/zh/llms.txt?revision=r21738064
    rel: describedby
---
> **Documentation Index:** Fetch the complete configuration index at https://boost.yandex.com/doc/zh/llms.txt?revision=r21738064

# 跨 iOS 14.5+ 的跟踪

## iOS 14.5 的变更 {#new-ios-version}

从 iOS 14.5 开始，默认情况下，应用程序和广告网络无法访问 IDFA —— 这是一个设备 ID，它帮助识别跨应用程序的同一用户。

有两种方式[请求](https://boost.yandex.com/doc/zh/analytics/content/mobile-tracking/ios-tracking.md)用户提供IDFA访问权限：

- 在应用启动时显示选择窗口，但只显示一次。
- 建议前往系统设置。
   如果用户拒绝，就无法识别设备。

之前，设备所有者也可以通过同样的系统设置禁止应用程序获取IDFA，但仅有少数用户这样做。 现在没有IDFA的用户占比将会显著增长。

除了此限制，苹果的新规则还禁止以其他方式（包括启发式方法）识别设备：公司不允许使用设备指纹或概率匹配。

## IDFA 缺失会产生什么影响？ {#idfa}

**行为定向**

:   在一些广告网络中，按观众行为特征进行定向的能力将会下降。 应用程序将不再识别用户并向他们显示相关广告，因此广告效果会下降。

**广告投放优化**

:   广告合作伴无法实时调整设置，以向转化率更高的用户展示广告。 没有 IDFA，就无法从整体用户群中筛选出转换率更高的用户。

**应用安装归因**

:   iOS 设备（无 IDFA）的安装归属以及后续目标操作在移动测量合作伙伴中将不再生效。 如果用户不允许访问IDFA，移动测量伙伴将无法跟踪特定的流量来源，因此默认设置会归为有机安装。

**统计完整性**

:   苹果的统计数据会被聚合，不会与其他指标在报告中合并，因此比较站点效率会更困难。 也无法准确评估通过不同广告网络引入的用户的LTV。

## SKAdNetwork {#SKAdNetwork}

Apple 提供了自己的归因方案：[SKAdNetwork](https://developer.apple.com/documentation/storekit/skadnetwork)。 即使那些没有给予跟踪权限的用户也能使用。 这是唯一能计算完整且准确统计数据的方法。

为了这一目的，广告网络必须将广告位数据发送给 Apple，开发者和出版商必须从其应用中发送转换数据。 发送通过 Apple 框架 SKAdNetwork 进行，双方必须支持该框架。 Apple 会通过它返回统计数据，但形式不通常：平台不会生成报告。 相反，广告网络将从 Apple 收到聚合的点击和安装数据。 他们可以将这些数据收集到单独的报告中，并向广告主发布。

在新模型中，追踪器默认不会从 SKAdNetwork 接收数据。 然而，广告网络可以[传递](https://boost.yandex.com/doc/zh/analytics/content/mobile-tracking/ios-tracking-skadnetwork.md)从 Apple 收到的数据给移动测量合作伴，以便广告商能够在单一界面中评估不同渠道的效率。

![苹果归因](../../_images/apple-attribution-zh.png){style="border: solid 1px #cccccc; max-width: 800px;"}

## 在 Analytics module 中统计数据是什么样的？ {#report}

要分析来自 iOS 14.5+ 的安装来源，有一个单独的报告，其中包含通过 SKAdNetwork 从广告网络收集的聚合数据：

用户获取报告显示来自 SKAdNetwork 的应用安装来源统计数据。 分段和事件指标根据Analytics module数据计算，报告中不可用。

[了解报告的更多内容](https://boost.yandex.com/doc/zh/analytics/content/mobile-reports/user-acquisition-skadnetwork.md).

![统计数据](../../_images/report-ios-14-2-zh.png){style="border: solid 1px #cccccc; max-width: 800px;"}

## Apple 搜索广告 {#apple-search-ads}

iOS 14.5 的发布不会影响苹果自有应用推广平台 Apple Search Ads 的功能，该平台的归属机制工作方式不同。 AdServices 是苹果公司另一个新的框架，可以对特定设备进行归因，但不会向开发者披露设备的 IDFA。 这样可以保留跟踪的常规优势（如准确统计用户在应用中的转换和操作），同时还能为您提供分段用户和探索他们在应用中行为的能力。

{% note info %}

Apple Search Ads 不能通过 SKAdNetwork 工作。

{% endnote %}

您可以在此[页面](https://boost.yandex.com/doc/zh/analytics/content/mobile-tracking/searchads-settings.md)阅读有关 Apple Search Ads 广告追踪的内容。

## 通过App Tracking Transparency请求IDFA访问权限 {#request}

在使用 iOS 14 时，请使用新的 [App Tracking Transparency](https://developer.apple.com/documentation/apptrackingtransparency) 框架。 使用它在你的应用程序中显示系统对话框。 在窗口中，用户将选择允许或拒绝IDFA访问权限。

{% note info %}

系统对话框每次应用程序安装后只能显示一次。 如果用户选择**请求不跟踪应用**，就无法再为此应用显示此窗口。

{% endnote %}

1. 系统对话框不能修改，但可以添加说明文字。 要做到这一点，请将 `NSUserTrackingUsageDescription` 键添加到 `Info.plist`. 例如：

   ```no-highlight translate=no
   <key>NSUserTrackingUsageDescription</key>
   <string>This identifier will be used to deliver personalized ads to you.</string>
   ```

   来自`Info.plist`的文本将在系统对话框中显示给用户。 在此文本中，向用户解释 App 请求使用 IDFA 的权限的原因。

2. 要显示请求 IDFA 访问权限的对话框，请调用 [requestTrackingAuthorization(completionHandler:)](https://developer.apple.com/documentation/apptrackingtransparency/attrackingmanager/3547037-requesttrackingauthorization) 方法。

   {% cut "系统对话框示例" %}

   ![系统对话框示例](../../_images/alert-ios-14-zh.png){style="border: solid 1px #cccccc; max-width: 800px;"}

   {% endcut %}

3. 在加载广告前等待回调。 然后 Yandex Mobile Ads SDK 就能在广告请求中使用 IDFA。

   ```objectivec translate=no
   #import <AppTrackingTransparency/AppTrackingTransparency.h>
   ...
   - (void)requestTrackingAuthorization {
   [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
   // Start ad loading
   }];
   }
   ```

4. 要检查App Tracking Transparency的授权状态，请使用[trackingAuthorizationStatus](https://developer.apple.com/documentation/apptrackingtransparency/attrackingmanager/3547038-trackingauthorizationstatus)属性。

要了解有关 App Tracking Transparency 的更多信息，请参阅 [Apple](https://developer.apple.com/documentation/apptrackingtransparency) 文档。

[了解更多](https://boost.yandex.com/doc/zh/analytics/content/mobile-tracking/ios15-tracking.md) 有关 iOS 15 应用的跟踪。

<!-- source: zh/analytics/content/_includes/feedback-button.md -->
如果您没有找到所需答案，可以通过反馈表单提交您的问题。 请尽可能详细地描述问题。 如果可能，请附上截图。

<a href="../troubleshooting/feedback-new">
  <span class="button">联系支持</span>
</a>

<a href="../troubleshooting/feedback-docs">
  <span class="button">为文档提出改进建议</span>
</a>
<!-- endsource: zh/analytics/content/_includes/feedback-button.md -->
