Google Analytics 
tracks screen transitions and attaches information
about the current screen to events, enabling you to track metrics such as user
engagement or user behavior per screen. Much of this data collection happens
automatically, but you can also manually log screenviews. Manually tracking
screens is useful if your app does not use a separate UIViewController 
, View 
, or Activity 
for each screen you may wish to track, such as in a game.
Automatically track screens
 Analytics 
automatically tracks some information about screens in your
application, such as the class name of the UIViewController 
or Activity 
that
is currently in focus. When a screen transition occurs, Analytics 
logs a screen_view 
event that identifies the new screen. Events that occur on these
screens are automatically tagged with the parameter firebase_screen_class 
(for
example, menuViewController 
or MenuActivity 
) and a generated firebase_screen_id 
. If your app uses a distinct UIViewController 
or Activity 
for each screen, Analytics 
can automatically track every screen
transition and generate a report of user engagement broken down by screen. If
your app doesn't, you can still get these reports by manually logging screen_view 
events.
Disable screenview tracking
Automatic screenview reporting can be turned off on iOS by setting FirebaseAutomaticScreenReportingEnabled 
to NO 
(Boolean) in the Info.plist.
And on Android, nest the following setting within the <application> 
tag of the AndroidManifest.xml 
file:
 <meta-data  
android:name="google_analytics_automatic_screen_reporting_enabled"  
android:value="false"  
/> 
 
Manually track screens
You can manually log screen_view 
events whether or not automatic tracking is
enabled. You can log these events in the onAppear 
or viewDidAppear 
methods
for Apple platforms and onResume 
for Android.  When screen_class 
is not set, Analytics 
sets a default value based on the UIViewController or Activity
that is in focus when the call is made.
If you've disabled swizzling in your app, all screen names must be set manually. For SwiftUI users, use the Analytics Swift extension SDK .
Swift
Analytics . logEvent ( AnalyticsEventScreenView , parameters : [ AnalyticsParameterScreenName : screenName , AnalyticsParameterScreenClass : screenClass ])
Objective-C
[ FIRAnalytics logEventWithName : kFIREventScreenView parameters : @{ kFIRParameterScreenClass : screenClass , kFIRParameterScreenName : screenName } ];
Kotlin
firebaseAnalytics . logEvent ( FirebaseAnalytics . Event . SCREEN_VIEW ) { param ( FirebaseAnalytics . Param . SCREEN_NAME , screenName ) param ( FirebaseAnalytics . Param . SCREEN_CLASS , "MainActivity" ) }
Java
Bundle bundle = new Bundle (); bundle . putString ( FirebaseAnalytics . Param . SCREEN_NAME , screenName ); bundle . putString ( FirebaseAnalytics . Param . SCREEN_CLASS , "MainActivity" ); mFirebaseAnalytics . logEvent ( FirebaseAnalytics . Event . SCREEN_VIEW , bundle );
Web
import { getAnalytics , logEvent } from "firebase/analytics" ; const analytics = getAnalytics (); logEvent ( analytics , 'screen_view' , { firebase_screen : screenName , firebase_screen_class : screenClass });
Web
firebase . analytics (). logEvent ( 'screen_view' , { firebase_screen : screenName , firebase_screen_class : screenClass });
Dart
  await 
  
 FirebaseAnalytics 
 . 
 instance 
 . 
 logEvent 
 ( 
  
 name: 
  
 'screen_view' 
 , 
  
 parameters: 
  
 { 
  
 'firebase_screen' 
 : 
  
 screenName 
 , 
  
 'firebase_screen_class' 
 : 
  
 screenClass 
 , 
  
 }, 
 ); 
 
 

