Должен ли я отправлять исключения JS вручную в Google Analytics? - PullRequest
0 голосов
/ 12 июня 2018

Я новичок в Google Analytics.У меня есть приложение Angular 4.Я хотел бы знать, когда было создано неперехваченное исключение JavaScript.Я настроил Google Analytics через Google Tag Manager.Он отлично работает для события изменения истории (навигация между угловыми маршрутами).Но он не запускает ошибки JS. enter image description here

И вот что я вижу на панели отладки:

enter image description here

Вы можете увидеть исключение в консоли, но тег JS Error не запускается.Что я делаю не так?

1 Ответ

0 голосов
/ 15 июня 2018

Хорошо, вот что я нашел.Вы не должны ожидать, что исключения будут срабатывать автоматически.Вы должны реализовать 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]},
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...