Как отследить длительность сессии, используя Firebase + Unity - PullRequest
0 голосов
/ 09 января 2019

Я пытаюсь рассчитать среднюю продолжительность сеанса, используя 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"

Я надеюсь, что есть более простой способ сделать это, или я близок! Спасибо:)

...