oban
是一个用于在前端应用中跟踪访问量的 npm 包。它可以快速、方便地在任何项目中添加对 Google Analytics 的支持,从而分析流量来源和流量趋势。本文将指导读者通过 npm 包 oban
实现 Google Analytics。
安装 oban
首先,我们需要使用 npm 安装 oban
。打开终端并执行以下命令:
npm install oban --save
配置 Google Analytics
在使用 oban
之前,需要有一段 Google Analytics 的跟踪代码。你可以从 Google Analytics 管理界面中获取到这段代码。请注意,这段代码在 HTML 文件中的位置非常重要。在 head
元素结束标签之前,将这个跟踪代码粘贴到 HTML 文件的底部。例如:
-- -------------------- ---- ------- --------- ----- ------ ------ ---- --- --- ------- ------ ---- --- --- ------- ----- ----------------------------------------------------------------------------- -------- ---------------- - ---------------- -- --- -------- ---------------------------------- ---------- --- -------- -------------- --------------------- --------- ------- -------
请将 GA_MEASUREMENT_ID
替换为你的 Google Analytics 跟踪 ID。
初始化 oban
在你的 JavaScript 代码中,你需要使用你的 Google Analytics 跟踪 ID 初始化 oban
。请确保将这段代码放在 window
加载完成之后,这样才能够找到 window.ga
。
import { oban } from 'oban'; oban.initialize('GA_MEASUREMENT_ID');
发送事件
oban
提供了四种类型的事件:pageviews
、screenviews
、events
和 timings
。你可以使用这些事件来记录用户的活动。使用 oban
发送事件的基本步骤如下:
- 选择一个正确的事件类型。
- 准备好需要发送的事件集合。
pageview 事件
pageview
事件用于记录页面访问量。在 oban
中,使用 trackPageview()
函数发送 pageview
事件。
import { oban } from 'oban'; oban.trackPageview();
event 事件
event
事件用于记录用户操作的分类、动作和更多细节信息,例如按钮的单击事件。在 oban
中,使用 trackEvent()
函数发送 event
事件。
import { oban } from 'oban'; oban.trackEvent({ category: 'Button', action: 'Click', label: 'Newsletter Subscription', value: 10 });
screenview 事件
screenview
事件用于记录屏幕查看量。在 oban
中,使用 trackScreenview()
函数发送 screenview
事件。
import { oban } from 'oban'; oban.trackScreenview({ screen_name: 'Login' });
timing 事件
timing
事件用于记录某些操作所需的时间。在 oban
中,使用 trackTiming()
函数发送 timing
事件。
import { oban } from 'oban'; oban.trackTiming({ category: 'Image upload', variable: 'Load time', value: 1100, label: 'Button' });
总结
在本文中,我们已经介绍了如何使用 oban
进行前端跟踪,以及如何将跟踪数据发送到 Google Analytics 中。代码演示了 pageview
、event
、screenview
和 timing
四个事件类型的使用,这将有助于您开始使用 oban
对前端应用程序进行跟踪和分析。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066f9b3d1de16d83a66e1f