UNPKG

@tangential/analytics

Version:

Analytics and advertising - monitization, generally.

39 lines (38 loc) 1.5 kB
import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router'; import { Logger, MessageBus } from '@tangential/core'; import { AppEnvironment } from '@tangential/core'; import * as i0 from "@angular/core"; export declare type HitType = 'pageview' | 'screenview' | 'event' | 'transaction' | 'item' | 'social' | 'exception' | 'timing'; export declare const HitTypes: { pageView: HitType; screenView: HitType; event: HitType; transaction: HitType; item: HitType; social: HitType; exception: HitType; timing: HitType; }; export interface GoogleAnalyticsFields { hitType?: HitType; title?: string; page?: string; location?: string; eventCategory?: string; eventAction?: string; eventLabel?: string; } export declare type GaFunction = (action: string, fields?: GoogleAnalyticsFields | string, other?: string) => void; export declare class GoogleAnalytics { private bus; protected logger: Logger; private env; private analytics; constructor(bus: MessageBus, logger: Logger, env: AppEnvironment); awaitGoogle(waitMils: number): Promise<GaFunction>; create(): void; navigatedToGeneric(state: RouterStateSnapshot, route: ActivatedRouteSnapshot): void; navigatedTo(state: RouterStateSnapshot, route: ActivatedRouteSnapshot, hit: GoogleAnalyticsFields): void; static ɵfac: i0.ɵɵFactoryDeclaration<GoogleAnalytics, never>; static ɵprov: i0.ɵɵInjectableDeclaration<GoogleAnalytics>; }