From ebb273ec47416742ba041e7bb09d4dfb01a2fb6f Mon Sep 17 00:00:00 2001 From: dwyfrequency Date: Wed, 11 May 2022 16:30:48 -0400 Subject: [PATCH 1/3] Deprecate analytics function setCurrentScreen --- common/api-review/analytics.api.md | 2 +- packages/analytics-compat/src/service.test.ts | 4 ++-- packages/analytics-compat/src/service.ts | 1 + packages/analytics-types/index.d.ts | 4 +++- packages/analytics/src/api.ts | 2 ++ packages/analytics/src/functions.test.ts | 4 ++-- packages/analytics/src/functions.ts | 2 ++ packages/analytics/src/public-types.ts | 2 +- packages/firebase/compat/index.d.ts | 2 ++ 9 files changed, 16 insertions(+), 7 deletions(-) diff --git a/common/api-review/analytics.api.md b/common/api-review/analytics.api.md index 091c3ffe7d3..9fe60901648 100644 --- a/common/api-review/analytics.api.md +++ b/common/api-review/analytics.api.md @@ -388,7 +388,7 @@ export interface Promotion { // @public export function setAnalyticsCollectionEnabled(analyticsInstance: Analytics, enabled: boolean): void; -// @public +// @public @deprecated export function setCurrentScreen(analyticsInstance: Analytics, screenName: string, options?: AnalyticsCallOptions): void; // @public diff --git a/packages/analytics-compat/src/service.test.ts b/packages/analytics-compat/src/service.test.ts index c0995f9e32c..f369fdc5326 100644 --- a/packages/analytics-compat/src/service.test.ts +++ b/packages/analytics-compat/src/service.test.ts @@ -109,14 +109,14 @@ describe('Firebase Analytics > Service', () => { setUserIdStub.resetHistory(); }); - it('setCurrentScreen() calls modular setCurrentScreen()', () => { + it('setCurrentScreen() (deprecated) calls modular setCurrentScreen() (deprecated)', () => { service = createTestService(app); service.setCurrentScreen('some_screen'); expect(setCurrentScreenStub).to.be.calledWith(match.any, 'some_screen'); setCurrentScreenStub.resetHistory(); }); - it('setCurrentScreen() calls modular setCurrentScreen() with options if provided', () => { + it('setCurrentScreen() (deprecated) calls modular setCurrentScreen() (deprecated) with options if provided', () => { service = createTestService(app); service.setCurrentScreen('some_screen', { global: true }); expect(setCurrentScreenStub).to.be.calledWith(match.any, 'some_screen', { diff --git a/packages/analytics-compat/src/service.ts b/packages/analytics-compat/src/service.ts index ed53cc533d2..d1b18889ce3 100644 --- a/packages/analytics-compat/src/service.ts +++ b/packages/analytics-compat/src/service.ts @@ -45,6 +45,7 @@ export class AnalyticsService implements FirebaseAnalytics, _FirebaseService { logEventExp(this._delegate, eventName as '', eventParams, options); } + /** @deprecated Use logEvent with eventName as 'screen_view' and add relevant eventParams. */ setCurrentScreen(screenName: string, options?: AnalyticsCallOptions): void { setCurrentScreenExp(this._delegate, screenName, options); } diff --git a/packages/analytics-types/index.d.ts b/packages/analytics-types/index.d.ts index 286a8ee37a3..7baa2940956 100644 --- a/packages/analytics-types/index.d.ts +++ b/packages/analytics-types/index.d.ts @@ -23,7 +23,7 @@ export type DataLayer = Array; /** * Additional options that can be passed to Firebase Analytics method - * calls such as `logEvent`, `setCurrentScreen`, etc. + * calls such as `logEvent`, etc. */ export interface AnalyticsCallOptions { /** @@ -453,6 +453,8 @@ export interface FirebaseAnalytics { /** * Use gtag 'config' command to set 'screen_name'. + * + * @deprecated Use logEvent with eventName as 'screen_view' and add relevant eventParams. */ setCurrentScreen(screenName: string, options?: AnalyticsCallOptions): void; diff --git a/packages/analytics/src/api.ts b/packages/analytics/src/api.ts index 76f8b2007c4..4ee6a4b2325 100644 --- a/packages/analytics/src/api.ts +++ b/packages/analytics/src/api.ts @@ -144,6 +144,8 @@ export async function isSupported(): Promise { * * @public * + * @deprecated Use logEvent with eventName as 'screen_view' and add relevant eventParams. + * * @param analyticsInstance - The {@link Analytics} instance. * @param screenName - Screen name to set. */ diff --git a/packages/analytics/src/functions.test.ts b/packages/analytics/src/functions.test.ts index bf4f08dbd95..9c5928b3a49 100644 --- a/packages/analytics/src/functions.test.ts +++ b/packages/analytics/src/functions.test.ts @@ -90,7 +90,7 @@ describe('FirebaseAnalytics methods', () => { ); }); - it('setCurrentScreen() calls gtag correctly (instance)', async () => { + it('setCurrentScreen() (deprecated) calls gtag correctly (instance)', async () => { await setCurrentScreen(gtagStub, fakeInitializationPromise, 'home'); expect(gtagStub).to.have.been.calledWith( GtagCommand.CONFIG, @@ -102,7 +102,7 @@ describe('FirebaseAnalytics methods', () => { ); }); - it('setCurrentScreen() calls gtag correctly (global)', async () => { + it('setCurrentScreen() (deprecated) calls gtag correctly (global)', async () => { await setCurrentScreen(gtagStub, fakeInitializationPromise, 'home', { global: true }); diff --git a/packages/analytics/src/functions.ts b/packages/analytics/src/functions.ts index 15c397f5799..8a9700ed19b 100644 --- a/packages/analytics/src/functions.ts +++ b/packages/analytics/src/functions.ts @@ -53,6 +53,8 @@ export async function logEvent( /** * Set screen_name parameter for this Google Analytics ID. * + * @deprecated Use logEvent with eventName as 'screen_view' and add relevant eventParams. + * * @param gtagFunction Wrapped gtag function that waits for fid to be set before sending an event * @param screenName Screen name string to set. */ diff --git a/packages/analytics/src/public-types.ts b/packages/analytics/src/public-types.ts index 5d4ac6db70d..8de6a02d084 100644 --- a/packages/analytics/src/public-types.ts +++ b/packages/analytics/src/public-types.ts @@ -93,7 +93,7 @@ export interface AnalyticsSettings { /** * Additional options that can be passed to Analytics method - * calls such as `logEvent`, `setCurrentScreen`, etc. + * calls such as `logEvent`, etc. * @public */ export interface AnalyticsCallOptions { diff --git a/packages/firebase/compat/index.d.ts b/packages/firebase/compat/index.d.ts index d28e37f48e6..951158de63d 100644 --- a/packages/firebase/compat/index.d.ts +++ b/packages/firebase/compat/index.d.ts @@ -5215,6 +5215,8 @@ declare namespace firebase.analytics { /** * Use gtag 'config' command to set 'screen_name'. + * + * @deprecated Use logEvent with eventName as 'screen_view' and add relevant eventParams. */ setCurrentScreen( screenName: string, From a09d26c2b158af8a904773d7e021fa6d40992af5 Mon Sep 17 00:00:00 2001 From: dwyfrequency Date: Thu, 12 May 2022 16:40:13 -0400 Subject: [PATCH 2/3] Update tsdoc with link to replacement function --- packages/analytics-compat/src/service.ts | 2 +- packages/analytics-types/index.d.ts | 2 +- packages/analytics/src/api.ts | 2 +- packages/analytics/src/functions.ts | 2 +- packages/firebase/compat/index.d.ts | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/analytics-compat/src/service.ts b/packages/analytics-compat/src/service.ts index d1b18889ce3..53b714c67c9 100644 --- a/packages/analytics-compat/src/service.ts +++ b/packages/analytics-compat/src/service.ts @@ -45,7 +45,7 @@ export class AnalyticsService implements FirebaseAnalytics, _FirebaseService { logEventExp(this._delegate, eventName as '', eventParams, options); } - /** @deprecated Use logEvent with eventName as 'screen_view' and add relevant eventParams. */ + /** @deprecated Use {@link logEvent} with `eventName` as 'screen_view' and add relevant `eventParams`. */ setCurrentScreen(screenName: string, options?: AnalyticsCallOptions): void { setCurrentScreenExp(this._delegate, screenName, options); } diff --git a/packages/analytics-types/index.d.ts b/packages/analytics-types/index.d.ts index 7baa2940956..bdf6e71fd9e 100644 --- a/packages/analytics-types/index.d.ts +++ b/packages/analytics-types/index.d.ts @@ -454,7 +454,7 @@ export interface FirebaseAnalytics { /** * Use gtag 'config' command to set 'screen_name'. * - * @deprecated Use logEvent with eventName as 'screen_view' and add relevant eventParams. + * @deprecated Use {@link logEvent} with `eventName` as 'screen_view' and add relevant `eventParams`. */ setCurrentScreen(screenName: string, options?: AnalyticsCallOptions): void; diff --git a/packages/analytics/src/api.ts b/packages/analytics/src/api.ts index 4ee6a4b2325..583ccc9a476 100644 --- a/packages/analytics/src/api.ts +++ b/packages/analytics/src/api.ts @@ -144,7 +144,7 @@ export async function isSupported(): Promise { * * @public * - * @deprecated Use logEvent with eventName as 'screen_view' and add relevant eventParams. + * @deprecated Use {@link logEvent} with `eventName` as 'screen_view' and add relevant `eventParams`. * * @param analyticsInstance - The {@link Analytics} instance. * @param screenName - Screen name to set. diff --git a/packages/analytics/src/functions.ts b/packages/analytics/src/functions.ts index 8a9700ed19b..69357536978 100644 --- a/packages/analytics/src/functions.ts +++ b/packages/analytics/src/functions.ts @@ -53,7 +53,7 @@ export async function logEvent( /** * Set screen_name parameter for this Google Analytics ID. * - * @deprecated Use logEvent with eventName as 'screen_view' and add relevant eventParams. + * @deprecated Use {@link logEvent} with `eventName` as 'screen_view' and add relevant `eventParams`. * * @param gtagFunction Wrapped gtag function that waits for fid to be set before sending an event * @param screenName Screen name string to set. diff --git a/packages/firebase/compat/index.d.ts b/packages/firebase/compat/index.d.ts index 951158de63d..f37e216b733 100644 --- a/packages/firebase/compat/index.d.ts +++ b/packages/firebase/compat/index.d.ts @@ -5216,7 +5216,7 @@ declare namespace firebase.analytics { /** * Use gtag 'config' command to set 'screen_name'. * - * @deprecated Use logEvent with eventName as 'screen_view' and add relevant eventParams. + * @deprecated Use {@link logEvent} with `eventName` as 'screen_view' and add relevant `eventParams`. */ setCurrentScreen( screenName: string, From f561e54cba1dcbfd86cc8c571ba7a01afde774b6 Mon Sep 17 00:00:00 2001 From: dwyfrequency Date: Mon, 16 May 2022 10:36:53 -0400 Subject: [PATCH 3/3] Add link to Track Screenviews dev doc. --- packages/analytics-compat/src/service.ts | 5 ++++- packages/analytics-types/index.d.ts | 1 + packages/analytics/src/api.ts | 1 + packages/analytics/src/functions.ts | 1 + packages/firebase/compat/index.d.ts | 1 + 5 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/analytics-compat/src/service.ts b/packages/analytics-compat/src/service.ts index 53b714c67c9..f3b6ec2e8fb 100644 --- a/packages/analytics-compat/src/service.ts +++ b/packages/analytics-compat/src/service.ts @@ -45,7 +45,10 @@ export class AnalyticsService implements FirebaseAnalytics, _FirebaseService { logEventExp(this._delegate, eventName as '', eventParams, options); } - /** @deprecated Use {@link logEvent} with `eventName` as 'screen_view' and add relevant `eventParams`. */ + /** + * @deprecated Use {@link logEvent} with `eventName` as 'screen_view' and add relevant `eventParams`. + * See {@link https://firebase.google.com/docs/analytics/screenviews | Track Screenviews}. + */ setCurrentScreen(screenName: string, options?: AnalyticsCallOptions): void { setCurrentScreenExp(this._delegate, screenName, options); } diff --git a/packages/analytics-types/index.d.ts b/packages/analytics-types/index.d.ts index bdf6e71fd9e..c9c38e7c3d7 100644 --- a/packages/analytics-types/index.d.ts +++ b/packages/analytics-types/index.d.ts @@ -455,6 +455,7 @@ export interface FirebaseAnalytics { * Use gtag 'config' command to set 'screen_name'. * * @deprecated Use {@link logEvent} with `eventName` as 'screen_view' and add relevant `eventParams`. + * See {@link https://firebase.google.com/docs/analytics/screenviews | Track Screenviews}. */ setCurrentScreen(screenName: string, options?: AnalyticsCallOptions): void; diff --git a/packages/analytics/src/api.ts b/packages/analytics/src/api.ts index 583ccc9a476..41a5f2166a3 100644 --- a/packages/analytics/src/api.ts +++ b/packages/analytics/src/api.ts @@ -145,6 +145,7 @@ export async function isSupported(): Promise { * @public * * @deprecated Use {@link logEvent} with `eventName` as 'screen_view' and add relevant `eventParams`. + * See {@link https://firebase.google.com/docs/analytics/screenviews | Track Screenviews}. * * @param analyticsInstance - The {@link Analytics} instance. * @param screenName - Screen name to set. diff --git a/packages/analytics/src/functions.ts b/packages/analytics/src/functions.ts index 69357536978..f35b61d98cd 100644 --- a/packages/analytics/src/functions.ts +++ b/packages/analytics/src/functions.ts @@ -54,6 +54,7 @@ export async function logEvent( * Set screen_name parameter for this Google Analytics ID. * * @deprecated Use {@link logEvent} with `eventName` as 'screen_view' and add relevant `eventParams`. + * See {@link https://firebase.google.com/docs/analytics/screenviews | Track Screenviews}. * * @param gtagFunction Wrapped gtag function that waits for fid to be set before sending an event * @param screenName Screen name string to set. diff --git a/packages/firebase/compat/index.d.ts b/packages/firebase/compat/index.d.ts index f37e216b733..2525b5a992f 100644 --- a/packages/firebase/compat/index.d.ts +++ b/packages/firebase/compat/index.d.ts @@ -5217,6 +5217,7 @@ declare namespace firebase.analytics { * Use gtag 'config' command to set 'screen_name'. * * @deprecated Use {@link logEvent} with `eventName` as 'screen_view' and add relevant `eventParams`. + * See {@link https://firebase.google.com/docs/analytics/screenviews | Track Screenviews}. */ setCurrentScreen( screenName: string,