Flutter使用Firebase Analytics如何获取事件的总时长数据
Flutter Firebase Analytics 按小时统计事件总时长解决方案
可以正常统计总时长,不需要默认的占比类指标,有两种可行方案:
方案1:直接在Firebase控制台配置自定义探索报表
- 打开Firebase控制台,进入Analytics下的「探索」模块,新建空白探索报告
- 维度栏添加
小时(时间聚合维度)、事件名称,如果要细分屏幕的话额外加屏幕名称维度 - 指标栏不要选择占比类指标,直接选择
事件总时长(部分控制台翻译为用户参与时长,对应原始字段event_duration的求和聚合) - 过滤器筛选你需要统计的事件(比如
screen_view)和对应时间范围,配置完成后报表就会展示每个小时的总时长绝对值,而非百分比占比
提示:你通过setScreen方法上报的屏幕浏览事件,Firebase会自动统计停留时长,不需要额外手动上报时长参数
方案2:同步数据到BigQuery自定义查询(适合更灵活的统计需求)
如果控制台探索模块的能力满足不了你的定制化统计需求,可以开启Firebase Analytics到BigQuery的同步,之后用SQL直接查询统计,参考查询语句如下:
SELECT -- 按小时聚合时间 TIMESTAMP_TRUNC(event_timestamp, HOUR) AS 统计小时, -- 原始时长单位为微秒,这里转换为小时单位的总时长 SUM(event_params.value.int_value) / 3600000000 AS 小时级总时长 FROM `你的项目ID.analytics_你的资源ID.events_*`, UNNEST(event_params) AS event_params WHERE -- 筛选screen_view事件,也可以替换为你要统计的其他事件 event_name = 'screen_view' AND event_params.key = 'firebase_screen_id' -- 替换为你需要统计的时间范围 AND _TABLE_SUFFIX BETWEEN '20240101' AND '20240107' GROUP BY 统计小时 ORDER BY 统计小时 ASC
内容的提问来源于stack exchange,提问作者Salish Kumar
相关产品推荐
相关产品推荐

