BigQuery Crashlytics - 无崩溃的用户/会话

Oll*_*nes 11 firebase google-bigquery crashlytics firebase-crash-reporting google-data-studio

我已将我的 firebase crashlytics 数据链接到 bigquery 并设置了谷歌提供的数据工作室模板。除了我的仪表板所需的最重要的指标之外,还有很多很棒的数据:无崩溃用户和无崩溃会话的百分比。

在我可以用来计算这个的模式中没有什么突出的。

有什么想法可以得到这个值吗?它显示在 firebase 仪表板中,因此它必须可用。

在此处输入图片说明

Mar*_*ann 9

我查看了文档并找到了event_name='app_exception'. 有了它,你可以写一个查询

WITH userCrashes AS (
  SELECT user_pseudo_id, MAX(event_name = 'app_exception') hasCrash 
  FROM `firebase-public-project.analytics_153293282.events_20181003` 
  GROUP BY 1
)

SELECT
  IF(hasCrash,'crashed','crash-free') crashState,
  COUNT(DISTINCT user_pseudo_id) AS users,
  ROUND(COUNT(DISTINCT user_pseudo_id) / SUM(COUNT(DISTINCT user_pseudo_id)) OVER (),2) AS userShare
FROM userCrashes
GROUP BY 1
Run Code Online (Sandbox Code Playgroud)

但事件参数中也有一个标志“致命”。在示例数据中,它总是正确的,但如果您想尊重它,您可以执行以下操作

WITH userCrashes AS (
  SELECT 
    user_pseudo_id, 
    MAX(event_name = 'app_exception') hasCrash,
    MAX(event_name = 'app_exception' 
      AND (select value.int_value=1 from unnest(event_params) where key='fatal')
    ) hasFatalCrash
  FROM `firebase-public-project.analytics_153293282.events_20181003` 
  GROUP BY 1
)

SELECT
  IF(hasCrash,'crashed','crash-free') crashState,
  IF(hasFatalCrash,'crashed fatal','crash-free') fatalCrashState,
  COUNT(DISTINCT user_pseudo_id) AS users,
  ROUND(COUNT(DISTINCT user_pseudo_id) / SUM(COUNT(DISTINCT user_pseudo_id)) OVER (),2) AS userShare
FROM userCrashes
GROUP BY 1,2
Run Code Online (Sandbox Code Playgroud)

免责声明:我从未使用过 firebase,所以这只是基于文档和示例数据。不过,希望它有所帮助。

  • 根据我的理解,这将有助于通过在谷歌云平台查询编辑器中破坏此查询来查看结果。任何人都可以帮助我了解如何将这些数据添加到 Google 数据工作室仪表板中吗? (2认同)