forked from DefinitelyTyped/DefinitelyTyped
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathangular-google-analytics-tests.ts
95 lines (79 loc) · 3.61 KB
/
angular-google-analytics-tests.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
/// <reference path="angular-google-analytics.d.ts" />
/// <reference path="angular-google-analytics-service.d.ts" />
function ConfigurationMethodChaining(AnalyticsProvider: angular.google.analytics.AnalyticsProvider) {
AnalyticsProvider
.logAllCalls(true)
.startOffline(true)
.useECommerce(true, true);
}
function EnableECommerce(AnalyticsProvider: angular.google.analytics.AnalyticsProvider) {
AnalyticsProvider.useECommerce(true, false);
AnalyticsProvider.useECommerce(true, true);
AnalyticsProvider.setCurrency("CDN");
}
function SetGoogleAnalyticsAccounts(AnalyticsProvider: angular.google.analytics.AnalyticsProvider) {
AnalyticsProvider.setAccount("UA-XXXXX-xx");
AnalyticsProvider.setAccount([
{ tracker: "UA-12345-12", name: "tracker1" },
{ tracker: "UA-12345-34", name: "tracker2" }
]);
}
function UseClassicAnalytics(AnalyticsProvider: angular.google.analytics.AnalyticsProvider) {
AnalyticsProvider.useAnalytics(false);
}
function UseDisplayFeatures(AnalyticsProvider: angular.google.analytics.AnalyticsProvider) {
AnalyticsProvider.useDisplayFeatures(true);
}
function UseEnhancedLinkAttribution(AnalyticsProvider: angular.google.analytics.AnalyticsProvider) {
AnalyticsProvider.useEnhancedLinkAttribution(true);
}
function UseCrossDomainLinking(AnalyticsProvider: angular.google.analytics.AnalyticsProvider) {
AnalyticsProvider.useCrossDomainLinker(true);
AnalyticsProvider.setCrossLinkDomains(["domain-1.com", "domain-2.com"]);
}
function SetCookieConfiguration(AnalyticsProvider: angular.google.analytics.AnalyticsProvider) {
AnalyticsProvider.setCookieConfig({
cookieDomain: "foo.example.com",
cookieName: "myNewName",
cookieExpires: 20000
});
}
function SetRouteTrackingBehaviors(AnalyticsProvider: angular.google.analytics.AnalyticsProvider) {
AnalyticsProvider.trackPages(true);
AnalyticsProvider.trackUrlParams(true);
AnalyticsProvider.ignoreFirstPageLoad(true);
AnalyticsProvider.trackPrefix("my-application");
AnalyticsProvider.setPageEvent("$stateChangeSuccess");
AnalyticsProvider.setRemoveRegExp(/\/\d+?$/);
}
function RetrieveCurrentURL(Analytics: angular.google.analytics.AnalyticsService) {
var test = Analytics.getUrl();
}
function ManualScriptTagInjection(Analytics: angular.google.analytics.AnalyticsService) {
Analytics.createScriptTag();
Analytics.createAnalyticsScriptTag();
}
function SetCustomDimensions(Analytics: angular.google.analytics.AnalyticsService) {
Analytics.set('&uid', 1234);
Analytics.set('dimension1', 'Paid');
Analytics.set('dimension2', 'Paid', 'accountName');
}
function PageTracking(Analytics: angular.google.analytics.AnalyticsService) {
Analytics.trackPage('/video/detail/XXX');
Analytics.trackPage('/video/detail/XXX', 'Video XXX');
Analytics.trackPage('/video/detail/XXX', 'Video XXX', { dimension15: 'My Custom Dimension', metric18: 8000 });
}
function EventTracking(Analytics: angular.google.analytics.AnalyticsService) {
Analytics.trackEvent('video', 'play', 'django.mp4');
Analytics.trackEvent('video', 'play', 'django.mp4', 4);
Analytics.trackEvent('video', 'play', 'django.mp4', 4, true);
Analytics.trackEvent('video', 'play', 'django.mp4', 4, true, { dimension15: 'My Custom Dimension', metric18: 8000 });
}
function ExceptionTracking(Analytics: angular.google.analytics.AnalyticsService) {
Analytics.trackException('Function "foo" is undefined on object "bar"', true);
}
function OfflineMode(Analytics: angular.google.analytics.AnalyticsService) {
Analytics.offline(true);
Analytics.offline(false);
Analytics.offlineQueue;
}