如何解决通过Firebase函数添加自定义用户属性
当前,在我们的实时数据库中,每个planDetails
都有一个uid
节点,该节点具有startDate
,endDate
,planType
之类的字段。
我想跟踪启用了高级计划的用户数。
我正在尝试通过使Firebase函数每天运行一次并将布尔型自定义用户属性(例如isPremiumActive
更新为true或false)来实现此目的。
我不能仅跟踪购买了高级计划的用户,因为有很多人只接受一次该计划,然后又不续签该计划。因此,单词“ 有效”
我认为可以通过firebase SDK中的setUserProperty函数来实现,但是事实证明我们只能在用户登录后才能使用它。
之所以得出这个结论,是因为这种分析方法没有采用任何类型的userID作为参数,而是看到它主要在经过身份验证的用户会话中使用
然后,我尝试在Google Analytics(分析)上设置自定义属性,但我想这也遵循相同的趋势。另外,我还没有找到解决方法,以解决如何通过firebase函数更新分析数据的问题。
因此,基本上,我在这里处于死胡同,如果有人可以提供替代解决方案或对我错过的事情有所了解,我会很高兴
解决方法
无法从后端更新用户属性。您必须使用前端SDK API。
从后端添加数据以将Firebase Analtyics数据导出到BigQuery,然后合并到要从后端按用户添加的任何其他数据的唯一选项。您的查询将必须将导出的数据与您在后端添加的数据合并。这些额外的数据将不会显示在Firebase控制台中-您将必须通过BigQuery进行所有操作。
,我能够通过执行类似这样的功能向分析端点发出提取请求来做到这一点。我知道不建议这样做,但是可以完成工作。
let hitGA = () => {
const GA_TRACKING_ID = "your GA tracking ID"
const GA_CLIENT_ID = "steps to get this will be given in the resources below"
const event = {
category: "pricing",action: "counted",label: "num_active_users",value: 71
}
let request = new XMLHttpRequest();
let message =
`v=1&tid=${GA_TRACKING_ID}&cid=${GA_CLIENT_ID}&aip=1&ds=add-on&t=event&ec=${event.category}&ea=${event.action}&el=${event.label}&ev=${event.value}`
request.open("POST","https://www.google-analytics.com/collect",true);
request.send(message);
}
P.S。如果您想知道我是如何迷失于solutiona和其他参考文献的,请阅读this帖子
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。