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..f3b6ec2e8fb 100644 --- a/packages/analytics-compat/src/service.ts +++ b/packages/analytics-compat/src/service.ts @@ -45,6 +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`. + * 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 286a8ee37a3..c9c38e7c3d7 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,9 @@ 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 76f8b2007c4..41a5f2166a3 100644 --- a/packages/analytics/src/api.ts +++ b/packages/analytics/src/api.ts @@ -144,6 +144,9 @@ 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.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..f35b61d98cd 100644 --- a/packages/analytics/src/functions.ts +++ b/packages/analytics/src/functions.ts @@ -53,6 +53,9 @@ 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/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 f4114be49dd..ece18a5d1dd 100644 --- a/packages/firebase/compat/index.d.ts +++ b/packages/firebase/compat/index.d.ts @@ -5215,6 +5215,9 @@ 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,