自动化Google Firebase Analytics数据导出

时间:2018-02-16 11:26:12

标签: firebase google-sheets firebase-analytics

经过大量搜索后,我仍无法找到自动导出Google Firebase Analytics数据的方法。

我需要每月在现有的Google表单中导入一些KPI。

是否有任何选项可以通过Google表单查询Firebase API,并且每月以某种方式将我需要的KPI添加到单元格中?

Google Analytics(分析)数据有一些方法(甚至是插件)。所以我确信它应该可以用于firebase。

2 个答案:

答案 0 :(得分:0)

要将Firebase分析数据导入Google电子表格,您需要浏览BigQuery。有一个名为OWOX的Google Spreadsheet插件,但我无法使其工作,所以这是通过创建Google Apps脚本来实现的:

  1. 在项目设置下的Firebase中(在齿轮图标下) - >帐户链接:找到BigQuery磁贴并注册,如果还没有。这需要转移到Blaze即付即用计划,但是这一层有大量的免费使用,因此您可能会避免成本,但您需要提供通常的结算信息。
  2. 注册Blaze后,您将返回此帐户关联部分,您会看到BigQuery现已链接到您的应用。点击“管理链接”,您可能会看到“同步数据集”一段时间......比如几个小时(请注意,此页面似乎不会自行刷新,因此您必须手动刷新以检查状态) 。完成后,您将能够通过Google Spreadsheets方面的BigQuery访问您的数据。
  3. 在您的Google电子表格中,选择工具 - >脚本编辑器。这里有一个很好的入门脚本:https://greenido.wordpress.com/2013/12/16/big-query-and-google-spreadsheet-intergration/
  4. 在Google Script编辑器中,选择资源 - >高级Google服务,确保您启用BigQuery API。现在,您的脚本将可以访问BigQuery数据。
  5. 根据我的需要,我只是想在Firebase中计算一些事件,所以我编写了一个函数来调用这样的多个查询:
  6.     function runQueries() {
            var sql;
    
            // fetch bigQuery data for Firebase app Create Wildlink (bottom row app)
            sql = "#standardSQL\nSELECT count(event_dim) as event_count FROM `PROJECTID.TABLENAME.app_events_*`, UNNEST(event_dim) as event WHERE event.name = 'target_event_name'";
            runQuery(sql, 1, 1, 'Label 1');
    
            // fetch bigQuery data for Firebase app Share Extension (top row app)
            sql = "#standardSQL\nSELECT count(event_dim) as event_count FROM `PROJECTID.TABLENAME.app_events_*`, UNNEST(event_dim) as event WHERE event.name = 'target_event_name_2'";
            runQuery(sql, 3, 1, 'Label 2');
            Browser.msgBox("Finished updating the results");
        }
    
    1. 然后我更改了runQuery函数以接受并使用这些参数:
    2.     function runQuery(sql, insertRow, insertCol, label) {
      
              ...
      
              sheet.getRange(insertRow, insertCol + 1, resultCount, tableRows[0].getF().length).setValues(resultValues);
              sheet.getRange(insertRow, insertCol).setValue(label);
      

      关于这种方法的一些重要说明:

      • 事件似乎不是追溯导入的。从您将Firebase绑定到BigQuery的那一刻起,您就开始获取事件数据,但它不会导入任何旧数据。
      • 将事件导入日期分页表。请注意上面示例中表格中对通配符的引用。
      • 上面的例子使用StandardSQL(对我来说是新的)。请注意上述SQL字符串中的#standardSQL \ n。这从默认模式(LegacySQL)改变。我遇到了使用遗留SQL来获取数据的挑战。

答案 1 :(得分:0)

让我帮助您处理OWOX BI BigQuery插件,并简化上述答案中的步骤3到6。

首先,您确实需要将BigQuery链接到您的应用程序(Ian在步骤1和步骤2中写了如何执行此操作的良好说明)。

然后:

  1. OWOX BI BigQuery Reports插件添加到您的Chrome浏览器
  2. 打开您的Google表格,运行附加组件(附加组件 - > OWOX BI BigQuery报告 - >添加新报告),
  3. 为附加组件提供对BQ表的访问权限,
  4. 在下拉列表中选择您的Google BigQuery项目
  5. 并创建一个新查询(再一次,Ian为您提供了一个很好的查询示例)
  6. 您可以在Help Center中找到有关OWOX BI BigQuery插件的更多详细信息。并随时通过电子邮件(bi@owox.com)或在聊天中写信给我们 - 我们很乐意回答您的任何问题。

    最好的问候,Eugene