@tangential/analytics
Version:
Analytics and advertising - monitization, generally.
39 lines (38 loc) • 1.5 kB
TypeScript
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>;
}