mirror of
https://github.com/akveo/ngx-admin.git
synced 2026-02-19 06:28:06 +01:00
feat(analytics): enable analytic
This commit is contained in:
parent
3eee634861
commit
e8cbd479c6
3 changed files with 37 additions and 2 deletions
|
|
@ -4,6 +4,7 @@ import { NbAuthModule, NbDummyAuthProvider } from '@nebular/auth';
|
|||
|
||||
import { throwIfAlreadyLoaded } from './module-import-guard';
|
||||
import { DataModule } from './data/data.module';
|
||||
import { AnalyticsService } from './utils/analytics.service';
|
||||
|
||||
const NB_CORE_PROVIDERS = [
|
||||
...DataModule.forRoot().providers,
|
||||
|
|
@ -20,6 +21,7 @@ const NB_CORE_PROVIDERS = [
|
|||
},
|
||||
},
|
||||
}).providers,
|
||||
AnalyticsService,
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
|
|
|
|||
25
src/app/@core/utils/analytics.service.ts
Normal file
25
src/app/@core/utils/analytics.service.ts
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
import {Injectable} from '@angular/core';
|
||||
import {Router, NavigationEnd} from '@angular/router';
|
||||
import {Location} from '@angular/common';
|
||||
|
||||
import {filter} from 'rxjs/operator/filter';
|
||||
|
||||
declare const ga: any;
|
||||
|
||||
@Injectable()
|
||||
export class AnalyticsService {
|
||||
private _enabled: boolean;
|
||||
|
||||
constructor(private _location: Location, private _router: Router) {
|
||||
this._enabled = window.location.href.indexOf('akveo.com') >= 0;
|
||||
}
|
||||
|
||||
trackPageViews() {
|
||||
if (this._enabled) {
|
||||
filter.call(this._router.events, (event) => event instanceof NavigationEnd)
|
||||
.subscribe(() => {
|
||||
ga('send', {hitType: 'pageview', page: this._location.path()});
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue