firebase - 如何使用 Firebase + Unity 跟踪会话长度
问题描述
我正在尝试使用 BigQuery 为我的 Firebase + Unity 设置计算平均会话长度。
我遵循了默认 Unity 设置的教程。我可以收集数据,看看新会话从哪里开始。
但是,我似乎找不到合适的会话长度。我能够收集会话之间的时间,但是我似乎找不到表明会话到期的事件(我知道他们在 30 分钟不活动后会这样做)。
我的替代路径已被证明有点困难......我试图在会话开始时获取最后一个交互事件,并从中减去 event_previous_timestamp,但运气不好,因为 session_start 实际上并不是开始新会话时引发的第一个事件!
这是我尝试的查询:
#standardsql
SELECT event_name, session_length, time_between_sessions
FROM
(SELECT user_pseudo_id, event_name, event_timestamp,
event_previous_timestamp,
LAG(event_timestamp, 1) OVER (PARTITION BY user_pseudo_id ORDER BY
event_timestamp) AS last_triggered_event,
(LAG(event_timestamp, 1) OVER (PARTITION BY user_pseudo_id ORDER
BY event_timestamp) - event_previous_timestamp) / 60000000 AS
session_length,
(event_timestamp - event_previous_timestamp) / 60000000 AS
time_between_sessions
FROM `insertyourtablename`
ORDER BY event_timestamp)
WHERE
event_name = "session_start"
我希望有一种更简单的方法可以做到这一点,或者我已经接近了!谢谢 :)
解决方案
推荐阅读
- python - 如何在 Python 3.6 中读取文件并分离其内容
- angularjs - 删除在 AngularJS 中动态创建的局部视图
- java - Java 9 中的 JAXB 模块问题
- javascript - 使用 jquery/css 隐藏元素
- elasticsearch - Elasticsearch 内存使用率随着时间的推移而增加并达到 100%
- python - 尝试写一个excel表
- google-api - 从 Google Payments 中提取交易
- tfs - 停止VS而不保存会导致TFS中的项目有什么影响?
- hibernate - 带有集合列的 Corda 映射实体
- javascript - 找不到命令:开玩笑