根据分析和崩溃数据计算无崩溃会话 (BigQuery)

ror*_*ror 3 firebase google-bigquery crashlytics

假设存在以下定义:

  1. 无崩溃会话数是指定时间范围内未因应用程序崩溃而结束的会话的百分比。

  2. 无崩溃用户是指在指定时间段内未遇到崩溃的不同用户的百分比。

是否可以使用导出到 BigQuery 的分析数据来计算上述 p1?我能找到的最接近的东西是 SO BigQuery Crashlytics - Crash free users/session上的这张票,但我认为它实际上是计算 p2 而不是 p1。重新表述我的问题,如何识别用户会话并将其与崩溃体验(如果有)联系起来?

Ger*_*rdo 5

我从这些BigQuery 示例中获取了一些信息来获取和聚合信息,以获得总体会话和具有“app_exception”事件的会话。由此您可以计算无崩溃会话的百分比:

SELECT
  SUM(sessions) as sessions,
  SUM(app_exception) as session_with_crash,
  1 - (SUM(app_exception) / SUM(sessions)) as crash_free_sessions
FROM
(
  SELECT 
    COUNT(user_pseudo_id) as sessions,
    SUM(IF (event_name = 'app_exception', 1, 0))  as app_exception,
    (SELECT value.int_value FROM UNNEST(event_params) WHERE key = 'ga_session_id') AS ga_session_id
  FROM `Firebase_project_name.analytics_property_name.events_*` 
  -- WHERE event_name = 'app_exception'
  GROUP BY ga_session_id
)
Run Code Online (Sandbox Code Playgroud)

这是我得到的结果:

会议 会话与崩溃 无崩溃会话
282083 94 0.9996667

请记住,在上面的查询中,正在查询所有数据,因此请确保调整所需的时间范围。