如何从BigQuery获取Firebase项目中Crashlytics的Issue关闭状态?
获取Firebase Crashlytics Issue关闭状态(通过BigQuery)
Crashlytics导出到BigQuery的默认事件表中没有直接存储Issue的关闭状态——因为BigQuery导出的是崩溃事件的原始数据,而Issue的关闭/打开状态属于Firebase控制台的管理元数据,不会自动同步到BigQuery。
要获取并关联这个状态,你需要通过以下方式实现:
- 借助Firebase Admin API拉取Issue状态,同步到BigQuery后关联原始事件数据
- 调用Crashlytics Admin API的
projects.apps.issues.list接口,获取所有Issue的issueId和对应的status字段(状态值包括ACTIVE、CLOSED等) - 将获取到的Issue状态数据写入BigQuery的自定义表(比如命名为
crashlytics_issue_statuses) - 用
issueId作为关联键,将这个自定义表和BigQuery中Crashlytics的事件表(格式为crashlytics.events_*)进行关联查询
- 调用Crashlytics Admin API的
关联查询示例
SELECT e.issue_id, i.status AS issue_status, COUNT(e.event_id) AS total_crashes, TIMESTAMP_MILLIS(MAX(e.timestamp)) AS last_crash_timestamp FROM `your-project-id.your-dataset.crashlytics_events_*` e LEFT JOIN `your-project-id.your-dataset.crashlytics_issue_statuses` i ON e.issue_id = i.issue_id GROUP BY e.issue_id, i.status ORDER BY total_crashes DESC
补充说明
建议设置定时任务(比如用Cloud Functions)定期调用API同步Issue状态,这样BigQuery中的状态数据能和Firebase控制台保持一致。
内容的提问来源于stack exchange,提问作者Zachary
相关产品推荐
相关产品推荐

