您可以使用 Firebase 控制台中提供的一些工具来浏览和分析项目的历史数据。这些工具可以帮助您解答关于应用使用情况的很多问题。但有时候,您可能需要自己设置查询来找到问题的答案。
如需完成此操作,您可以将项目数据从 Firebase 导出到 BigQuery。借助 BigQuery,您可以使用 BigQuery SQL 分析数据,也可以导出数据以便在您自己的工具中使用。
您可以对 Firebase 进行配置,以将数据从以下 Firebase 产品导出到 BigQuery:
所需权限和建议角色
如需查看或管理用于将数据导出至 BigQuery 的设置,您必须拥有所需的访问权限级别。
如果您没有必需的 Firebase 访问权限,可以请求 Firebase 项目所有者通过 Firebase 控制台 IAM 设置为您分配合适的角色。如果您对访问 Firebase 项目(包括查找或分配所有者)有疑问,请查看权限设置和 Firebase 项目访问权限常见问题解答。
启用 BigQuery Export
进入 Firebase 控制台的集成页面。
在 BigQuery 卡片中,点击关联。
按照屏幕上的说明启用 BigQuery。
为 Google Analytics(分析)、Performance Monitoring 或 Cloud Messaging 启用 BigQuery 导出功能后:
请选择数据集区域。创建数据集后,将无法更改其位置,但可以将数据集复制到其他位置,或手动将数据集移动(重新创建)到其他位置。如需了解详情,请参阅更改数据集位置。
默认情况下,您项目中的所有应用都会关联到 BigQuery,而且您以后向项目中添加的所有应用也都会自动关联到 BigQuery。您能控制哪些应用可发送数据。 Google Analytics(分析)中来自
Google Analytics(分析)4 媒体资源的所有网站数据也会自动导出。Firebase 会将您的现有数据的副本导出到 BigQuery。
Firebase 会安排每日将您的数据从 Firebase 项目同步到 BigQuery。
如需停用 BigQuery 导出功能,请在 Firebase 控制台中解除与您的项目的关联。
更改数据集位置
为产品启用 BigQuery 导出功能并创建数据集后,将无法更改该数据集的位置。不过,您可以将现有数据集复制到不同位置中的新数据集。
如需了解 BigQuery 数据集位置,请参阅数据集位置。
选择要更改数据集位置的产品。
如需更改 Performance Monitoring 数据集的位置,请按照以下说明操作:
- 在 Firebase 控制台中转到集成页面。
- 在 BigQuery 卡片中,点击管理。
- 关闭 Performance Monitoring 滑块以停用 BigQuery。
- 在 Google Cloud 控制台中转到 BigQuery 页面。
- 创建一个临时数据集,以存储原始数据集中现有数据的副本。为临时数据集指定与原始数据集不同的名称。
- 将数据从原始数据集复制或移动到临时数据集。
- 删除原始数据集。
- 创建一个与原始数据集 (
firebase_performance
) 同名的新永久数据集,然后选择所需的区域。 - 将数据从临时数据集复制或移动到新数据集,然后删除临时数据集。
- 对于新数据集,点击共享标签页,选择权限。
然后添加
exporter@performance-bq-export-prod.iam.gserviceaccount.com
主帐号作为 BigQuery 数据所有者。 - 转到 Firebase 控制台并开启 Performance Monitoring 滑块,以重新启用 BigQuery。然后,选择要为其启用导出功能的应用。
- 转到 Google Cloud 控制台中的 BigQuery 页面,验证已在新区域中为 Performance Monitoring 创建转移配置。
价格和 BigQuery 沙盒
如果您的 Firebase 项目采用免费 Spark 方案,您可以将 Crashlytics、Cloud Messaging、Google Analytics(分析)和 Performance Monitoring 关联到 BigQuery 沙盒,这样就可以免费使用 BigQuery。如需了解 BigQuery 沙盒的功能,请参阅使用 BigQuery 沙盒。
如果您的 Firebase 项目采用付费方案,您可以将 A/B Testing、Crashlytics、Cloud Messaging、Google Analytics(分析)和 Performance Monitoring 关联到 BigQuery。您对 BigQuery 的使用会按照正常的 BigQuery 价格收费,其中包含有限的免费使用额度。