javascript - 如何使用 Firebase Analytics 从 SPA(单页应用)网络应用发送 page_view 事件?
问题描述
我有一个使用 React + Firebase 构建的 SPA Web 应用程序。
我现在正在使用 Firebase Analytics,并且我想记录page_view
作为客户端路由的页面的事件(因为我的应用程序是单页应用程序)。
我在 Firebase Analytics 文档中没有找到任何关于单页应用的信息。
https://firebase.google.com/docs/analytics/events
但我确实在gtag.js
文档中找到了一些东西。
来自: https ://developers.google.com/analytics/devguides/collection/gtagjs/single-page-applications
来自:https ://firebase.google.com/docs/analytics/events#log_events_3
您可以在gtag.js 事件参考中找到多个事件及其参数的实现细节。
从那个事件参考中,我们得到:
从上图中,我们可以看到该page_view
事件似乎没有任何相关参数。
问题
我可以看到 Firebase Analyticspage_view
在我的应用首次加载后已经发送了第一个事件。
但是,一旦我的用户单击我的内部链接并更改其浏览器 URL(客户端路由,没有服务器调用),我如何page_view
为由生成的新 URL 触发另一个事件react-router-dom
?
如何使用 Firebase Analytics 实现这一点?我是否需要在发送事件之前更新页面路径,就像gtag.js
文档中所说的那样?我该怎么做?
解决方案
由于您的应用程序是单页应用程序,因此只有一个page_view
事件。这实际上是正确的行为,因为这意味着您可以使用page_view
事件来跟踪应用程序/页面的加载频率。
当您的应用程序中显示特定屏幕时,您需要触发一个screen_view
事件。有关这方面的示例,请参阅 AngularFire 库的有关跟踪屏幕视图的文档。
推荐阅读
- perl - 使用 Mechanize 发布没有名称的表单
- bash - GNU 并行 - 如何处理没有空格或换行的列分隔符?
- recursion - SCHEME::R5RS 递归使用地图
- javascript - 使用 useState 有条件地更新状态的一部分
- javascript - PDF Javascript 提交 PDF 作为电子邮件附件在 Chrome 浏览器中不起作用
- r - tapply 中的错误(y,x,均值,na.rm = TRUE):参数必须具有相同的长度
- javascript - 如何定义 forEach 元素以及为什么在 vanilla javascript 中?
- python - 将 df 中的一列拆分为另一列值
- php - 如何从 laravel 控制器中的 $request 获取 axios.post(`api/ImageUpload`, img_mode) 值
- google-cloud-dns - 移植到谷歌云 DNS 但找不到 ALIAS 记录