swift - 如何根据参数过滤 Firebase 事件?

标签 swift firebase google-analytics swiftui

在我的 iOS 应用程序中,我将事件发送到 Firebase,如下所示:

Analytics.logEvent(event, parameters: [
  AnalyticsParameterItemID: id,
  AnalyticsParameterItemName: name,
  AnalyticsParameterContentType: type,
])
例如我可以发送事件 complete_review id 12代表画面。这似乎运行良好,我在 Firebase/Google Analytics 仪表板中看到了事件数据。
但是,我不知道如何根据这些参数进行过滤,例如 id , nametype .
例如 :为了说明,我目前有:"There are 2000 completed reviews" ...但我真的很想要"there are 500 completed reviews of id 1, 100 of id 2, 300 of id 3 ..." .

我是从 documentation 看到的我应该找到一个“编辑参数报告”链接,但它似乎没有出现,我只看到一个“标记为 NPA”按钮:
enter image description here
现在似乎唯一的解决方案是使用事件名称。这意味着不是 complete_reviewid设置为 12,我会发送 complete_review_id_12并且只有大量不同的事件,将其导出,然后使用自定义脚本重新解析它……这感觉非常糟糕,所以我想知道是否有人有更好的主意。

最佳答案

好的,在 firebase 中,您最多可以将 30 个事件标记为转化,但仅此而已。如果您想查看与每个事件相关的特定数据,每个 ID,您将不得不进入 BigQuery。 BigQuery 乍一看似乎令人生畏,但它就像任何其他具有一些可爱功能的数据库一样,即 unnest()这是您可以用来根据 ID 过滤事件的方法。
默认情况下,Firebase 每 24 小时将其数据导出到 BigQuery,因此您的数据就在那里,现在的问题是按照您期望的方式解析数据。幸运的是,您可以将此数据导出为 JSON、XML 或表格,以便您可以随意使用它,包括应用程序内。这是我用来在 BigQuery 中按 ID 解析和计数事件的示例。
您可以通过访问链接 https://console.cloud.google.com/bigquery?project= 访问 BigQuery您可能需要在左上角选择您的项目。

#standardSQL
SELECT DISTINCT
  // UNNEST() allows you to get a specific value from your nested
  // parameters. In this case I'm getting value.int_value and value.string_value.
  (SELECT value.int_value FROM UNNEST(event_params)
    WHERE key = 'some_ID') AS ID,
  (SELECT value.string_value FROM UNNEST(event_params)
    WHERE key = 'some_title') AS Title, 
  COUNT(1) Count
  
// INFO: If you build a query your last line will have the date as
// .events_20201015 and it will only query for that day. Replace the 
// 20201015 with a " * " to filter on ALL events.
FROM `your_table_name.analytics_243434300.events_*` t

WHERE 
  event_name = 'your_event_name'
GROUP BY ID, Title
这将返回一个表或 JSON,具体取决于您的偏好,其中包含每个唯一 eventID 的计数以及您要标识该事件的数据。如果您决定采用仪表板路线并应用转换,则更新需要 24 小时,因此不要期望立即得到结果。

关于swift - 如何根据参数过滤 Firebase 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64356475/

相关文章:

android - OneSignal 导致 Google Play 服务版本发生变化

javascript - Firebase - 使用回调在数组中检索和存储数据

google-analytics - 谷歌分析人口统计 map 在 asp.net

google-analytics - 正在设置自定义维度,但无法通过 API 查询

ios - 如何以编程方式检查用户是否为 iOS 应用程序启用了计划摘要通知?

ios - #import "Project-Swift.h"出现了一些奇怪的问题

ios - 由于未捕获的异常 'NSInvalidArgumentException' 而终止应用程序 - ios google 登录

angularjs - jsHint 抛出 'Firebase' 未定义警告

google-analytics - 谷歌标签管理器发布按钮未显示

ios - 解析 iOS URL 书签数据最终开始失败