firebase后端上报事件event-基于测量协议
前言:
我们知道Firebase 是由 Google 提供的一套移动应用和 Web 应用开发平台,app端只需要整合它的sdk即可自动实现默认事件的上报。本文将介绍如何将后端埋点上报到firebase,并记录一些我遇到的问题。
解决步骤:
-
一开始我倾向的方案是通过集成firebase后端sdk就能实现上报,因为之前也对接过firebase的第三方服务认证、消息推送等功能,非常方面,像这样引入依赖即可:
<dependency> <groupId>com.google.firebase</groupId> <artifactId>firebase-admin</artifactId> <version>8.1.0</version> </dependency>
但是经过查阅资料和文档发现,firebase后端sdk并不支持事件上报,到目前为止其开源论坛新特性建议:增加后端上报仍没有实现。
只能通过测量协议rest-api上报:文档地址
如图所示,这个接口需要两个必须参数,api_secret、measurement_id。下面介绍如果获取 -
首先注册自己的google账号进入firebase后台,并且创建一个自己的项目和应用,**注意这里一定要是web类型的应用,因为只有web类型的应用才会有measurement_id衡量id。**可能有朋友就要问了,我的应用是app咋办,没关系这里事件上报的是项目维度,所以只要是这个项目下的应用就行。
-
再到analytics后台找到我们需要的参数:左下角设置按钮->数据流->web应用->衡量id、Measurement Protocol API密钥生成一下
-
下面看看具体请求示例:
curl --location 'https://www.google-analytics.com/mp/collect?measurement_id=G-***&api_secret=***' \ --header 'Content-Type: application/json' \ --data '{ "client_id": "x123", "user_id":"123", "timestamp_micros":1694161347000000, "events": [ { "name": "test_localsend1", "params": { "engagement_time_msec": "100", "session_id": "123" } } ] }'
参数格式可以详细阅读一下上面的接口文档,按需上传。
-
firebase后台效果展示:
在Events栏事件统计并不会实时展示,一般是24小时内,上图两个事件是我昨天上传的,但今天才有显示
!而Realtime Analytics实时分析可以实时显示 -
收益字段如果上报。经过一番查阅后发现,收益必需经特定事件如:in_app_purchase传递,但只有app端集成了sdk的才能报这个事件,后端报直接被忽略掉了,目前没有找到代替方案,有知道的小伙伴可以评论区留言~