如何通过Node.js/Python获取Firebase的app_remove事件统计数?
获取Firebase Analytics app_remove事件统计的方法
为什么你的Node.js代码报错?
Firebase Admin SDK的Node.js版本不提供直接查询Analytics事件数据的API,admin.analytics()这个方法根本不存在,所以会提示未定义。Admin SDK主要用于用户管理、推送通知等后端操作,要拉取Analytics统计数据,得用Google Analytics Data API(GA4 API)。
正确实现方式(Node.js/Python)
要获取app_remove事件的统计,必须通过Google Analytics Data API(GA4),因为Firebase Analytics的数据已经和GA4打通。以下是具体实现步骤和代码:
前置准备
- 在Google Cloud控制台创建服务账号,下载JSON格式的密钥文件
- 设置环境变量:
GOOGLE_APPLICATION_CREDENTIALS指向密钥文件路径 - 在Google Cloud控制台启用「Google Analytics Data API」
- 获取你的Firebase项目对应的GA4属性ID(在Firebase控制台的Analytics页面可以找到)
Node.js 实现代码
const { BetaAnalyticsDataClient } = require('@google-analytics/data'); // 初始化GA4数据客户端 const analyticsDataClient = new BetaAnalyticsDataClient(); async function getAppRemoveCount() { const [response] = await analyticsDataClient.runReport({ property: 'properties/你的GA4属性ID', // 替换成你的GA4属性ID dateRanges: [ { startDate: '2024-01-01', // 替换成起始日期 endDate: 'today', }, ], dimensions: [ { name: 'date' }, // 按日期分组,可根据需求调整 ], metrics: [ { name: 'eventCount' }, // 统计事件数量 ], dimensionFilter: { filter: { fieldName: 'eventName', stringFilter: { matchType: 'EXACT', value: 'app_remove', }, }, }, }); // 处理返回结果 console.log('app_remove事件统计:'); response.rows.forEach(row => { console.log(`日期: ${row.dimensionValues[0].value}, 卸载数: ${row.metricValues[0].value}`); }); } getAppRemoveCount().catch(console.error);
安装依赖:
npm install @google-analytics/data
Python 实现代码
from google.analytics.data_v1beta import BetaAnalyticsDataClient from google.analytics.data_v1beta.types import ( DateRange, Dimension, Metric, RunReportRequest, Filter, FilterExpression, ) # 初始化GA4数据客户端 client = BetaAnalyticsDataClient() def get_app_remove_count(): request = RunReportRequest( property="properties/你的GA4属性ID", # 替换成你的GA4属性ID date_ranges=[DateRange(start_date="2024-01-01", end_date="today")], dimensions=[Dimension(name="date")], metrics=[Metric(name="eventCount")], dimension_filter=FilterExpression( filter=Filter( field_name="eventName", string_filter=Filter.StringFilter( match_type=Filter.StringFilter.MatchType.EXACT, value="app_remove", ), ) ), ) response = client.run_report(request) # 处理返回结果 print("app_remove事件统计:") for row in response.rows: print(f"日期: {row.dimension_values[0].value}, 卸载数: {row.metric_values[0].value}") get_app_remove_count()
安装依赖:
pip install google-analytics-data
注意事项
app_remove事件是Firebase自动收集的,但需要确保你的应用集成了最新的Firebase SDK,并且用户允许了数据收集- GA4的数据有一定延迟(通常几小时),无法实时获取最新的卸载数据
- 如果需要按用户维度统计,可在dimensions里添加
userId(前提是你的应用设置了用户ID)
内容的提问来源于stack exchange,提问作者Qasim Ali
相关产品推荐
相关产品推荐

