我是Google Analytics新手。我有一个Angular 4应用程序。我想知道什么时候抛出了未被捕获的JavaScript异常。我通过Google跟踪代码管理器设置了Google Analytics。它适用于历史变化事件(Angular路线之间的导航)。但它并没有解决JS错误。
以下是我在调试窗格中看到的内容:
您可以在控制台中看到异常,但不会触发JS Error标记。我做错了什么?
答案 0 :(得分:0)
好的,这是我发现的。您不应期望自动触发异常。您应该实现ErrorHandler并从那里手动抛出事件。
import {ErrorHandler, Injector} from '@angular/core';
import {Angulartics2GoogleTagManager} from 'angulartics2/gtm';
export class MyErrorHandler implements ErrorHandler {
private analytics: Angulartics2GoogleTagManager;
constructor(private injector: Injector) {
}
handleError(error: Error) {
console.error(error);
if (!this.analytics) {
this.analytics = this.injector.get(Angulartics2GoogleTagManager);
}
this.analytics.eventTrack(JSON.stringify(error.message), {
event: 'jsError',
label: JSON.stringify(error.stack).replace('\n', ' ')
});
}
}
app.module.ts:
{provide: ErrorHandler, useClass: MyErrorHandler, deps: [Injector]},