首页 > 解决方案 > 如何使用 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"

我希望有一种更简单的方法可以做到这一点,或者我已经接近了!谢谢 :)

标签: firebaseunity3dfirebase-analytics

解决方案


推荐阅读