我正在尝试使用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"
我希望有一个更简单的方法,否则我已经接近了!谢谢:)