Apple 要求在 App Store 上发布应用程序的开发人员披露有关其应用程序数据使用的某些信息。 Apple 已宣布,自 2020 年 12 月 8 日起,新应用和应用更新需要进行这些披露。本文档包含根据 Apple 指南可能需要披露的 Firebase Apple 平台库行为。
如果您正在使用任何涉及额外数据的可选产品功能或参与任何涉及额外数据的新产品功能测试,请务必检查这些功能或测试是否需要额外数据披露。
为确保您应用的披露信息准确无误,我们建议您始终使用每个 Firebase SDK 的最新版本。
Firebase 用户代理
Firebase 用户代理是从大多数 Firebase SDK 收集的一组信息,包括以下内容:设备、操作系统、应用程序包 ID 和开发者平台。用户代理永远不会链接到用户或设备标识符,Firebase 团队使用它来确定平台和版本采用情况,以便更好地为 Firebase 功能决策提供信息。
核
Firebase核心
- 不收集数据。
Firebase 核心诊断
一直收藏
谷歌公用事业
- 不收集数据,但包括其他 SDK 可以用来收集数据的网络实用程序。
谷歌数据传输
包括其他 SDK 可以用来收集数据的网络实用程序。
一直收藏
- 收集Firebase 用户代理。
- 收集有关SDK性能的元数据,例如客户端日志事件缓存的大小和因各种原因丢弃的客户端日志事件的数量,以监控和维护产品质量。
A/B 测试
FirebaseAB 测试
A/B 测试不收集数据。
Firebase A/B 测试 SDK 设置并使用 Google Analytics 用户属性,以指定 Firebase 远程配置和 Firebase 应用内消息传递实验组的成员资格。
谷歌分析
可以在这篇支持文章中找到 Google Analytics 数据收集信息。
应用检查
FirebaseAppCheck
依赖于使用
- 如果安装了 DeviceCheck 提供程序,则从DeviceCheck收集
DCDevice
令牌。 - 如果安装了 App Attest 提供程序,则从App Attest收集证明对象和断言对象。
应用分发
App Distribution SDK 仅供 Beta 测试使用。提交到 App Store 时,请勿在您的应用程序中包含 App Distribution SDK。
验证
Firebase 身份验证
一直收藏
- 为用户身份验证目的生成和存储标识符。
依赖于使用
- 如果开发人员为用户提供显示名称,则收集显示名称。
- 收集开发人员在使用电子邮件密码或电子邮件链接身份验证时提供的用户电子邮件地址,或者如果开发人员使用联合身份,则收集联合提供商响应中包含的电子邮件地址。
- 在使用电话身份验证时或如果将用户的电话号码添加为身份验证方法时,收集开发人员提供的用户电话号码。还在 SMS 作为第二因素身份验证流程期间收集。
- 如果开发人员将第三方身份验证提供商与 Firebase 身份验证结合使用,则收集与第三方身份验证提供商相关的联系信息。例如,如果开发人员使用 Facebook 身份验证,则用户的标识符可能会链接到他们的 Facebook 个人资料,具体取决于授予的范围。有关详细信息,请参阅身份验证提供程序的文档。
- 如果应用链接到 Game Center,则存储用户的 Game Center ID。
崩溃分析
FirebaseCrashlytics
一直收藏
- 在应用程序崩溃时收集堆栈跟踪和相关应用程序状态。
- 收集设备和操作系统信息以协助调试崩溃。
依赖于使用
- 收集开发人员附加到崩溃报告的任何自定义密钥、日志和自由文本用户 ID。还使用自定义堆栈跟踪收集任何开发人员定义的非致命事件。
- 如果 Crashlytics 与 Google Analytics 一起使用,则收集“面包屑”日志。这些日志识别崩溃前的用户操作以及崩溃计数。
实时数据库
Firebase数据库
一直收藏
动态链接
Firebase 动态链接
一直收藏
- 临时收集设备数据,包括设备的屏幕尺寸、语言、操作系统版本、捆绑 ID、IP 地址和延迟深度链接(应用安装后的深度链接)的 Firebase SDK 版本。
默认收集
- 如果存在
FirebaseAnalytics
框架,则通过 Google Analytics 自动记录链接交互事件。要禁用自动事件记录,请从应用程序中删除FirebaseAnalytics
。 - 在首次启动应用程序时临时收集设备粘贴板中的动态链接 URL(如果可用)。开发人员可以通过在应用的
Info.plist
文件中将FirebaseDeepLinkPasteboardRetrievalEnabled
属性设置为NO
来禁用粘贴板。
云端 Firestore
FirebaseFirestore
一直收藏
云端功能
Firebase函数
一直收藏
- 收集函数调用元数据,包括函数名称和函数调用者的 IP 地址。
应用内消息
FirebaseInAppMessaging
一直收藏
- 记录与应用内消息的交互。这些交互(印象、点击、关闭)通过 Google Analytics 记录。 Firebase 还记录交互,以帮助开发人员评估消息传递活动的有效性。
Firebase 安装
Firebase 安装
一直收藏
- 生成不唯一标识用户或物理设备的每个安装标识符。
- 收集Firebase 用户代理。
实例ID
一直收藏
- 生成不唯一标识用户或物理设备的每个安装标识符。
- 生成并收集 FCM 注册令牌,这是
FirebaseMessaging
用于推送通知的应用程序实例 ID。 - 记录 APNs 令牌并将其与 Firebase 实例 ID(FCM 注册令牌)相关联。
- 收集设备型号、语言、时区、操作系统版本、应用程序标识符和应用程序版本以生成 FCM 注册令牌。
云消息
火力地堡消息
一直收藏
- 收集主题订阅和取消订阅的应用程序标识符和应用程序版本。
默认收集
- 如果存在
FirebaseAnalytics
框架,则通过 Google Analytics 自动记录通知交互。要禁用此行为,请从您的应用中删除FirebaseAnalytics
。
火力地堡机器学习
FirebaseML通用
- 不收集任何数据。
FirebaseML模型下载器
一直收藏
- 收集 ML 模型下载元数据,例如下载事件、删除事件和错误。
FirebaseML模型解释器
默认收集
- 收集 ML 推理元数据,例如推理持续时间和错误率。要禁用,请将
ModelInterpreter.isStatsCollectionEnabled
属性设置为false
。
FirebaseMLVision
默认收集
- 收集 ML Vision 模型元数据,例如创建和检测事件。要禁用,请将
Vision.isStatsCollectionEnabled
属性设置为false
。
性能监控
Firebase 性能
一直收藏
- 收集 IP 地址以提供基于地理的性能数据细分。
- 收集应用程序性能指标,例如应用程序启动时间和网络请求延迟,以及开发人员指定的自定义跟踪以衡量应用程序性能。
- 收集应用程序的 CPU/内存使用情况,以提供应用程序性能的时间线视图。
- 收集设备信息、操作系统信息、应用程序信息,以过滤针对不同设备段的性能数据。
远程配置
Firebase远程配置
一直收藏
- 收集Firebase 用户代理。
- 收集设备的国家/地区代码、语言代码、时区、操作系统版本、Firebase Apple 应用程序 ID 和捆绑包 ID,以便定位基于此数据的参数。还收集和汇总操作系统版本和 SDK 版本,以了解使用趋势并告知产品方向。
取决于用途
如果 Remote Config 与 Google Analytics 一起使用:
- 收集 Firebase SDK for Google Analytics 获取的用户属性,以便根据用户属性条件定位参数。
- 收集 Firebase SDK for Google Analytics 获取的
first_open
事件时间戳,以便定位基于首次打开时间的参数。