You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过脚本定期导出Google Play关联设备与版本的崩溃、ANR统计数据

需求实现可行性确认

该需求完全可以通过脚本自动化实现,不需要依赖Google Play Console后台手动操作。

两种实现方案

方案1:调用Google Play Developer Reporting API直接获取聚合结果

这是最高效的方案,官方API原生支持多维度聚合,不需要你自行关联不同维度的数据:

  • 请求时在dimensions参数指定["date", "versionCode", "deviceModel"]三个维度,metrics参数指定["crashCount", "anrCount"]两个指标,接口返回的原始数据就已经包含你需要的「日期、应用版本、设备、日崩溃量、日ANR量」全部字段
  • 仅统计最新版本的需求可以通过filter参数实现,直接设置过滤条件为versionCode = 最新版本的版本号,和后台手动添加版本过滤器的效果完全一致
  • 参考请求参数示例:
# 已完成服务账号鉴权后的请求参数构造
request_params = {
    "parent": "apps/你的应用包名",
    "body": {
        "dimensions": ["date", "versionCode", "deviceModel"],
        "metrics": ["crashCount", "anrCount"],
        "timelineSpec": {
            "startTime": "2024-01-01T00:00:00Z",
            "endTime": "2024-01-31T23:59:59Z"
        },
        "filter": "versionCode = 123" # 替换为你的最新应用版本号
    }
}

方案2:基于已导出的CSV报告做二次聚合

如果你已经可以正常导出完整的崩溃ANR CSV报告,不需要额外调用接口,直接用Python做数据清洗聚合即可:

  • 导出的原始报告本身就包含所有维度和指标字段,只需要做筛选、分组聚合两步操作即可得到目标表格
  • 参考代码示例:
import pandas as pd

# 读取从Google Play Console导出的原始报告文件
raw_df = pd.read_csv("play_console_crash_anr_export.csv")
# 筛选最新应用版本
latest_version_code = raw_df["versionCode"].max()
filtered_df = raw_df[raw_df["versionCode"] == latest_version_code]
# 按目标维度分组统计
stat_result = filtered_df.groupby(["date", "versionCode", "deviceModel"], as_index=False).agg(
    日崩溃量=("crash_count", "sum"),
    日ANR量=("anr_count", "sum")
)
# 导出结果表格
stat_result.to_csv("target_crash_anr_stat.csv", index=False)
注意事项
  • 服务账号需要提前在Google Play Console的权限管理中授予「查看应用和财务数据」权限,否则会出现接口鉴权失败/无数据返回的问题
  • 设备维度可以根据你的实际需求调整为设备品牌、安卓系统版本等,API和导出报告均支持多个设备相关维度选择
  • 单次查询的日期范围不要超过90天,超出范围可以分批次查询后合并结果

内容的提问来源于stack exchange,提问作者Klemen Vrhovec

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 06:57:04