angular - 有没有办法使用谷歌分析(Angular)跟踪用户在页面上花费的时间
问题描述
我有一个 Angular 应用程序,我想使用谷歌分析跟踪用户在每个页面上花费的时间。最好的方法是什么?(或者也许有开箱即用的具有此功能的 Google Analytics 替代品?)
解决方案
由于 Angular 是一个 SPA,您需要在 Google Analytics 上手动设置页面。为了做到这一点,您已经设置了路由更改的侦听器。
需要类似的东西:
private subscribeToRouteChanges(): void {
this.router.events
.pipe(filter(event => event instanceof NavigationEnd))
.subscribe((event: NavigationEnd) => this.sendPageDataToGoogleAnalytics(event.urlAfterRedirects));
}
public sendPageDataToGoogleAnalytics(url: string): void {
//need a title for each page which will be shown at GA dashboards
//you can setup your own service or static function to return a title for each route registered
const pageTitle = this.pageTitleService.getPageTitle(url);
if (pageTitle) {
(window as any).ga('set', 'page', url);
(window as any).ga('set', 'title', pageTitle);
(window as any).ga('send', 'pageview');
}
}
推荐阅读
- reactjs - 在material-ui中将主要内容定位在appbars和drawers周围的正确方法是什么?
- reactjs - 当我单击删除按钮 reactjs 时没有任何反应
- javascript - 同一个选择器上的多个 Html 方法
- c - 缓存提供的空间局部性是指虚拟内存、物理内存还是两者兼而有之?
- python - 互信息的Tensorflow成对自定义损失
- r - R中与p值的多变量相关性
- angular - Angular惰性路由忽略父路径
- python - 如何简化 SSL DNS 验证?
- vidyo - 在 Vidyo.io 上使用 Vidyo Screen Share Chrome 扩展程序共享屏幕时出现问题
- c# - 从另一个项目组装