描述
在 2023 年 6 月的全球开发者大会(WWDC23)上,Apple 宣布了一系列关于 App Store 提交隐私更新的新政策。这些更新旨在增强应用程序在用户数据收集和使用方面的透明度,从而更好地保护用户的隐私权益。
政策主要包含两个关键点:
- 第三方 SDK 隐私清单和签名:这项要求意味着所有集成到应用程序中的第三方软件开发工具包(SDK)都必须提供一个隐私清单。这个清单详细说明了 SDK 收集的数据类型,以及如何处理这些数据。此外,SDK 提供者需要对清单进行签名,以证明其内容的真实性和准确性。
- 需要提供必要理由的 API 流程(required reason API):Apple 引入了一种新的机制,要求开发者在使用某些可能影响用户隐私的 API 时,必须提供使用这些 API 的必要理由。这些理由需要在应用程序的隐私清单中明确描述。
新规实施细节如下
- 2023 年秋季:开发者开始接收来自 Apple 的电子邮件,提醒他们如果应用程序使用了 required reason API 但没有在隐私清单中描述使用理由,需要采取相应的行动。
- 2024 年春季:这一要求变得更加严格。从这个时间点开始,任何未在隐私清单文件中描述 required reason API 使用情况的应用程序,都将无法通过 App Store Connect 的审核。
这些变化强调了 Apple 对于隐私保护的承诺,同时也给开发者提出了新的挑战,要求他们在设计和开发应用程序时更加关注用户隐私。开发者需要确保他们的应用程序和集成的第三方 SDK 都符合新的隐私政策要求,以免影响应用程序在 App Store 上的发布和更新。
Starting in spring 2024, in order to upload your new app or app update to App Store Connect, you’ll be required to include an approved reason in the app’s privacy manifest which accurately reflects how your app uses the API.
required reason API
相关的 API 大概涉及:
- File timestamp APIs
- System boot time APIs
- Disk space APIs
- Active keyboard APIs
- User defaults APIs
具体列表可查看 Apple 官网说明:
融云 IM SDK 对 required reason API
的使用情况
以下 SDK 使用了 required reason API
。
RongIMLibCore
<dict>
<key>NSPrivacyCollectedDataTypes</key>
<array>
</array>
<key>NSPrivacyTrackingDomains</key>
<array/>
<key>NSPrivacyTracking</key>
<false/>
<key>NSPrivacyAccessedAPITypes</key>
<array>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryDiskSpace</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>E174.1</string>
</array>
</dict>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>C617.1</string>
</array>
</dict>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>CA92.1</string>
</array>
</dict>
</array>
</dict>
RongIMKit
<dict>
<key>NSPrivacyCollectedDataTypes</key>
<array>
</array>
<key>NSPrivacyTrackingDomains</key>
<array/>
<key>NSPrivacyTracking</key>
<false/>
<key>NSPrivacyAccessedAPITypes</key>
<array>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>CA92.1</string>
</array>
</dict>
</array>
</dict>
Global IM UIKit
Global IM UIKit 的具体使用情况将在稍晚公布。
融云 RTC SDK 对 required reason API
的使用情况
RongRTCLib
RongCallPlusLib
RongCallKit
RongCallLib
暂无
导入 PrivacyInfo 的指导如下
- 自动导入:如果您正在使用的是 2024 年 3 月 19 日及之后发布的 SDK 版本,那么 PrivacyInfo 将会自动集成到您的应用程序中。这意味着您不需要进行任何额外的操作,因为新的 SDK 版本已经包含了必要的隐私清单文件。
- 手动添加:如果您使用的是 2024 年 3 月 19 日之前的 SDK 版本,您需要手动将隐私条款添加到您的应用程序中。可以通过参考此文档上方列出的隐私内容来添加。如果您的应用程序已经包含了相应的隐私条款,那么您不需要重复添加。
- 升级 SDK:如果您的应用程序正在使用 5.6.9 或 5.6.10 版本的 SDK,建议您升级到 2024 年 3 月 19 日及之后发布的版本,即 5.6.11 及之后的版本。这样可以确保您的应用程序符合 Apple 的最新隐私政策要求。如果在升级过程中遇到 PrivacyInfo 文件,您可以将其删除,并按照第 2 条的指示手动添加隐私条款。
请注意,这些步骤是为了确保您的应用程序在提交到 App Store Connect 时,能够满足 Apple 对于隐私清单的要求。正确的隐私清单可以帮助提升用户对您应用程序的信任,同时也是遵守 Apple 政策的重要一步。如果您在执行这些步骤时遇到任何问题,建议查阅融云的官方文档或联系技术支持以获得帮助。
链接
更多支持
如有疑问,欢迎提交工单。