来自远程 REST API 的 Firebase 分析?

Firebase analytics from remote REST API?

是否可以将 Firebase 分析挂接到远程 REST API 端点?

更具体地说,假设我有一个远程 REST API,其端点计算每个用户上传的视频的平均数量 /api/videos/get_average_count。我能否以某种方式将该统计信息整合到 Firebase 分析中? (我认为 Firebase 分析中没有报告 API?)

或者,无论如何,我可以从其他分析(在前端跟踪)获取 Firebase 数据,然后 integrate/embed 将该数据放入我自己的后端托管的自定义管理中吗?

没有可用的 REST API,您可以在其中上传、下载甚至分析分析数据。您可以联系 Firebase Support 团队并为此提交功能请求。我相信不只是您在 Google Analytics for Firebase 中寻找这种功能。

您可以使用 Firebase 控制台直接将活动的分析数据下载为 CSV 文件。或者,如果您使用的是 Blaze 计划,link your Firebase to BigQuery,分析数据将每天导出到相应的数据集。

现在 Measurement Protocol (Google Analytics 4) 还处于可能实现的早期阶段,但就在我们说话的时候,它确实处于推出的过程中。我已经为我的 iOS firebase 数据流实现了服务器到服务器事件。类似 curl 的请求示例。

Faraday.new(url: "https://www.google-analytics.com/mp/collect?firebase_app_id=#{your_app_id}&api_secret=#{secret_from_ga4_stream_details}").post do
  req.headers["Content-Type"] = "application/json"
  req.body = {app_instance_id: firebase_instance_id, user_id: user.id, events: [{}]}.to_json
end

这与标准 G4 属性 的签名略有不同,其中查询参数包括 measurement_id 和客户端 ID。对于 firebase 项目,您传递从 firebase 项目设置中获得的 firebase_app_idfirebase_instance_id 是您可能不熟悉的东西,您将从设备集成到后端。例如,来自 ios 的实例 ID 将是 Analytics.appInstanceID()

以下 curl 命令将记录到 Firebase 分析。

curl -v -X POST \
  'https://www.google-analytics.com/g/collect?v=2&tid=YOUR-MEASUREMENT-ID&_dbg=1&cid=YOUR-CID&en=testing&ep.origin=firebase' \
  -H "Content-Type: text/plain;charset=UTF-8" -H "sec-fetch-mode: no-cors" -H "sec-fetch-site: cross-site" -H "sec-fetch-dest: empty" \
  -H "pragma: no-cache" -H "cache-control: no-cache" -H "origin: http://localhost:3000" \
  -H "content-length: 0" -H "accept-language: en-US,en;q=0.9" -H "accept-encoding: gzip, deflate, br" -H "user-agent: dummy"

要使此 curl 命令起作用,您需要做两件事:

  1. 您需要为 tid URL 参数提供一个值。您应该为您的 Firebase 项目使用 measurementIdlink 告诉你如何获得它。
  2. 您需要为 cid URL 参数提供一个值。如果你只是想测试一下,你可以通过在网络选项卡中查看 Firebase JS SDK 从浏览器发送的请求并从其中一个复制 cid 来找到它。请注意,cid 将作为 cookie 包含在对您的网络服务器发出的请求中,因此当实际从您的服务器登录时,您应该从该 cookie 中获取 cid

您应该能够将该 curl 命令翻译成您选择的服务器语言的代码。有关此方法的更多信息,请查看 https://pencilflip.medium.com/using-firebase-analytics-server-side-64ffacafa6c3.