为满足 Apple App Store 数据披露要求做准备

Apple 要求在 App Store 上发布应用的开发者披露有关其应用数据使用的特定信息

本文档包含可能需要根据 Apple 的指南进行披露的 Firebase Apple 平台库行为。安装 Firebase 时,请记下您选择的依赖项管理器安装到您应用中的 build 目标。对于依赖项管理器列出的每个目标,请查看本文档中的相应部分,以确定您必须披露哪些数据收集信息。所安装的 Firebase build 目标的数量可能会超出预期数量,这是因为有些 Firebase build 目标之间还会存在暂时性的依赖关系。

如果您在使用任何涉及额外数据的可选产品功能,或者在参与任何涉及额外数据的产品新功能测试,请务必检查这些功能或测试是否需要披露额外数据。

为确保您应用的披露信息准确无误,我们建议您始终使用各 Firebase SDK 的最新版本。

Firebase 用户代理

Firebase 用户代理是从大多数 Firebase SDK 中收集的一组信息,其中包括:设备、操作系统、应用的软件包 ID 和开发者平台。用户代理绝不会与用户或设备标识符关联,Firebase 团队利用这些信息来确定平台和版本采用情况,以便更明智地制定有关 Firebase 功能的决策。

FirebaseCore

  • 不收集数据。

GoogleUtilities

  • 不收集数据,但包含可供其他 SDK 收集数据的网络实用程序。

GoogleDataTransport

包含可供其他 SDK 收集数据的网络实用程序。

始终收集

  • 收集有关 SDK 性能的元数据(例如客户端日志事件缓存的大小以及因各种原因而丢弃的客户端日志事件的数量),以监控和维护产品质量。

FirebaseABTesting

A/B Testing 不收集数据。

Firebase A/B Testing SDK 设置并使用 Google Analytics 用户属性,以便为 Firebase Remote ConfigFirebase In-App Messaging 的实验组指定成员资格。

Google Analytics

这篇支持文章提供了 Google Analytics 数据收集信息。

FirebaseAppCheck

默认收集

与使用情况相关

  • 如果安装的是 DeviceCheck 提供程序,则从 DeviceCheck 收集 DCDevice 令牌。
  • 如果安装的是 App Attest 提供程序,则从 App Attest 收集证明对象和断言对象。

FirebaseAppDistribution

App Distribution SDK 仅用于进行 Beta 版测试。将应用提交到 App Store 时,请勿向其中添加 App Distribution SDK。

FirebaseAuthentication

始终收集

  • 生成和存储用于验证用户身份的标识符。

默认收集

与使用情况相关

  • 如果开发者提供用户的显示名,则收集显示名。
  • 当用户使用电子邮件密码或电子邮件链接身份验证时,收集用户的电子邮件地址。这些电子邮件地址由开发者提供,或包含在联合提供方的响应中(如果开发者使用联合身份)。
  • 当用户使用电话身份验证时,或者用户的电话号码添加为身份验证方法时,收集用户的电话号码(由开发者提供)。在使用短信作为第二重身份验证的流程中也会收集用户的电话号码。
  • 如果开发者将第三方身份验证提供方服务与 Firebase Authentication 搭配使用,则收集与第三方身份验证提供方服务有关的联系信息。例如,如果开发者使用 Facebook 身份验证,则用户的标识符可以关联到其 Facebook 个人资料,具体取决于授予的范围。如需了解详情,请参阅身份验证提供方的文档。
  • 如果应用关联至 Game Center,则存储用户的 Game Center ID。
  • 如果您的应用使用 reCAPTCHA Enterprise 保护 Authentication 流程,则会收集此令牌。请参阅 Apple 针对 reCAPTCHA Enterprise 的其他隐私权详细信息

FirebaseCrashlytics

始终收集

  • 在应用崩溃时收集堆栈轨迹和相关应用状态。
  • 收集设备和操作系统信息,以帮助调试崩溃。

与使用情况相关

  • 收集开发者附加到崩溃报告的所有自定义键、日志和自由文本用户 ID。此外,还会收集自定义堆栈轨迹中任何由开发者定义的非严重事件。
  • 如果 CrashlyticsGoogle Analytics 搭配使用,则收集“面包屑导航”日志。这些日志会识别临崩溃前执行的用户操作并记录崩溃次数。
  • 如果应用中还包含 Firebase Remote Config SDK,则收集 Remote Config 模板的开发者定义部分和模板元数据。此数据包括 Remote Config 模板版本、发布变体 ID、参数键和受有效发布影响的参数值。

FirebaseDatabase

默认收集

  • 针对延迟深层链接(应用安装后构建的深层链接)暂时收集设备数据,包括设备的屏幕尺寸、语言、操作系统版本、软件包 ID、IP 地址和 Firebase SDK 版本。
  • 在首次启动应用时,暂时在设备粘贴板中收集动态链接网址(如果有)。开发者可通过在应用的 Info.plist 文件中将 FirebaseDeepLinkPasteboardRetrievalEnabled 属性设置为 NO 来停用粘贴板。

如果 Dynamic LinksGoogle Analytics 搭配使用:

  • 通过 Google Analytics 自动记录链接互动事件。如需停用自动记录事件日志功能,请从应用中移除 FirebaseAnalytics

FirebaseFirestore

默认收集

FirebaseFunctions

始终收集

  • 收集函数调用元数据,包括函数调用方的函数名称和 IP 地址。

FirebaseInAppMessaging

始终收集

  • 记录与应用内消息的互动。这些互动(展示、点击和拒绝)通过 Google Analytics 记录。Firebase 也会记录互动,以便帮助开发者评估消息传递宣传活动的效果。

FirebaseInstallations

默认收集

FirebaseMessaging

始终收集

  • 记录 APNs 令牌并将其与收集的应用安装 ID(充当 Firebase Cloud Messaging [FCM] 注册令牌)相关联。
  • 收集设备型号、语言、时区、操作系统版本、应用标识符和应用版本,以便用于主题订阅和退订。

默认收集

与使用情况相关

如果 Cloud MessagingGoogle Analytics 搭配使用:

  • 通过 Google Analytics 自动记录通知互动。如需停用此行为,请从您的应用中移除 FirebaseAnalytics

FirebaseMLModelDownloader

始终收集

  • 收集机器学习模型下载元数据,例如下载事件、删除事件和错误。

FirebasePerformance

始终收集

  • 收集 IP 地址以提供按地理位置细分的效果数据。
  • 收集应用性能指标(例如应用启动时间和网络请求延迟时间)以及开发者指定的自定义跟踪记录,以便衡量应用性能。
  • 收集应用的 CPU/内存用量,以提供应用性能的时间轴视图。
  • 收集设备信息、操作系统信息和应用信息,以便根据不同的设备细分过滤效果数据。

FirebaseRemoteConfig

始终收集

  • 收集设备的国家/地区代码、语言代码、时区、操作系统版本、Firebase Apple 应用 ID 和软件包 ID,以便定位基于该数据的参数。此外,我们还会收集和汇总操作系统版本和 SDK 版本,以了解使用趋势,并指导产品发展方向。

默认收集

与使用情况相关

如果 Remote ConfigGoogle Analytics 搭配使用:

  • 收集 Firebase SDK for Google Analytics 获取的用户属性,以便定位基于用户属性条件的参数。
  • 收集 Firebase SDK for Google Analytics 获取的 first_open 事件时间戳,以便定位基于首次打开时间的参数。

如果使用 Remote Config 个性化:

  • Firebase Remote Config SDK 获取的数据和 Firebase SDK for Google Analytics 获取的事件可用于构建预测模型并衡量这些模型的性能。

FirebaseSessions

始终收集

  • 收集有关应用性能的元数据(如软件包 ID、操作系统信息、SDK 版本和网络连接类型),以监控应用质量。
  • 收集使用情况数据(如应用在后台运行的时间),以按用户会话对性能指标进行分组,从而查看具体会话的使用情况信息。

FirebaseStorage

默认收集

FirebaseVertexAI

始终收集

  • 收集 Firebase SDK 版本和 Swift 语言版本。
  • 在调用时收集模型名称。