我已将我的Firebase crashlytics数据链接到bigquery,并设置了Google提供的数据工作室模板。除了我的仪表板所需的最重要指标以外,这里还有许多很棒的数据:无崩溃用户和无崩溃会话(按百分比)。
在用于计算此值的模式中没有什么突出的。
有什么想法我将如何获得这一价值?它显示在Firebase仪表板中,因此必须可用。
答案 0 :(得分:1)
我查看了documentation,发现了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
但是事件参数中也有一个标志“致命”。在示例数据中,它始终是正确的,但是如果您希望尊重它,则可以执行以下操作
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
免责声明:我从未使用过Firebase,因此,这些都是基于文档和示例数据的。希望能有所帮助。