我正在使用angulartics2跟踪事件并跟踪一些其他信息到Google Analytics(分析)。
所以,我只是在使用
Angulartics2Module.forRoot({ pageTracking: { autoTrackVirtualPages: true } })
-在主应用程序模块中
和Angulartics2GoogleAnalytics.startTracking()
-在主应用程序组件中。
此方法可跟踪角度路由器中存在的所有路由更改,但我需要避免跟踪根(/
)路由。
我尝试将angulartics模块配置为{ pageTracking: { autoTrackVirtualPages: true, excludedRoutes: ['/'] } }
或{ pageTracking: { autoTrackVirtualPages: true, excludedRoutes: [/\//] } }
,但是它无法正常工作。
是否有一种简单的方法可以将此路线排除在跟踪范围之外?
答案 0 :(得分:1)
其中一种选择,适用于将面临相同问题的人:
创建单独的服务,该服务将使用全局分析脚本,并且仅在路线与您的情况相符时避免跟踪操作
export class AnalyticsService {
constructor(private readonly router: Router) {}
startRouterTracking(): void {
this.router.events.subscribe(event => {
if (event instanceof NavigationEnd) {
const { urlAfterRedirects } = event;
if (urlAfterRedirects.trim() === '/') {
return;
}
// note: angulartics.pageTrack works incorrect (but by docs should work fine, have no idea why doesn't work)
gtag('event', 'page_view', { page_path: urlAfterRedirects });
}
});
}
}