Skip to content

Commit 110c264

Browse files
authored
feat(analytics): Add Analytics
1 parent 6297299 commit 110c264

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

src/analytics/analytics.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import {
99
ɵapplyMixins,
1010
FirebaseApp
1111
} from '@angular/fire';
12-
import firebase from 'firebase/app';
12+
import { Analytics, setAnalyticsCollectionEnabled } from 'firebase/analytics';
1313
import { proxyPolyfillCompat } from './base';
1414
import { ɵfetchInstance } from '@angular/fire';
1515

@@ -31,7 +31,7 @@ const GTAG_FUNCTION_NAME = 'gtag'; // TODO rename these
3131
const DATA_LAYER_NAME = 'dataLayer';
3232
const SEND_TO_KEY = 'send_to';
3333

34-
export interface AngularFireAnalytics extends ɵPromiseProxy<firebase.analytics.Analytics> {
34+
export interface AngularFireAnalytics extends ɵPromiseProxy<Analytics> {
3535
}
3636

3737
@Injectable({
@@ -146,21 +146,22 @@ export class AngularFireAnalytics {
146146
observeOn(new ɵAngularFireSchedulers(zone).outsideAngular),
147147
switchMap(() => isPlatformBrowser(platformId) ? zone.runOutsideAngular(() => import('firebase/analytics')) : EMPTY),
148148
// SEMVER can switch to isSupported() when we only target v8
149-
// switchMap(() => firebase.analytics.isSupported().then(it => it, () => false)),
149+
// switchMap(() => isSupported().then(it => it, () => false)),
150150
// TODO server-side investigate use of the Universal Analytics API
151151
// switchMap(supported => supported ? of(undefined) : EMPTY),
152152
map(() => {
153153
return ɵfetchInstance(`analytics`, 'AngularFireAnalytics', app, () => {
154154
const analytics = app.analytics();
155155
if (analyticsCollectionEnabled === false) {
156-
analytics.setAnalyticsCollectionEnabled(false);
156+
setAnalyticsCollectionEnabled(analytics, false);
157157
}
158158
return analytics;
159159
}, [app, analyticsCollectionEnabled, providedConfig, debugModeEnabled]);
160160
}),
161161
shareReplay({ bufferSize: 1, refCount: false })
162162
);
163163

164+
// TODO(davideast, jamesdaniels): Hardcore zone patch or just patch here?
164165
return ɵlazySDKProxy(this, analytics, zone);
165166

166167
}

0 commit comments

Comments
 (0)