O Google Analytics rastreia as transições de tela e vincula informações
sobre a tela atual aos eventos. Isso permite que você faça o rastreamento de métricas, como o
engajamento ou o comportamento dos usuários por tela. Grande parte dessa coleta de dados é feita
automaticamente, embora também seja possível registrar as exibições de tela manualmente. O rastreamento manual
de telas é útil quando seu app não utiliza um UIViewController
, View
ou uma Activity
distinta para cada tela que você quer rastrear, como em um jogo.
Rastrear telas automaticamente
O Analytics rastreia automaticamente algumas informações sobre as telas no seu
aplicativo, como o nome da classe do UIViewController
ou Activity
em
curso no momento. Quando ocorre uma transição de tela, o Analytics registra um
evento screen_view
que identifica a nova tela. Os eventos que ocorrem nessas
telas são marcados automaticamente com o parâmetro firebase_screen_class
(por
exemplo, menuViewController
ou MenuActivity
) e um
firebase_screen_id
gerado. Se seu app usa um UIViewController
ou uma
Activity
diferente para cada tela, o Analytics pode rastrear automaticamente todas as transições
de tela e gerar um relatório sobre o engajamento dos usuários dividido por tela. Se esse não for o caso,
você ainda pode gerar esses relatórios registrando eventos
screen_view
manualmente.
Desativar o rastreamento de exibição de tela
Para desativar o relatório automático de exibição de tela no iOS, defina
FirebaseAutomaticScreenReportingEnabled
como NO
(booleano) no Info.plist.
No Android, aninhe a seguinte configuração na tag <application>
do arquivo AndroidManifest.xml
:
<meta-data android:name="google_analytics_automatic_screen_reporting_enabled" android:value="false" />
Rastrear telas manualmente
É possível registrar manualmente os eventos screen_view
, mesmo que o rastreamento automático esteja
ativado. Você pode registrar esses eventos nos métodos onAppear
ou viewDidAppear
para plataformas da Apple e onResume
para Android. Quando screen_class
não está definido, o Analytics define
um valor padrão com base no UIViewController ou na atividade que está em curso
quando a chamada é feita.
Se você desativou o swizzling no app, todos os nomes de tela precisarão ser definidos manualmente. Para usuários da SwiftUI, use o SDK de extensão da Swift do Analytics.
Swift
Analytics.logEvent(AnalyticsEventScreenView, parameters: [AnalyticsParameterScreenName: screenName, AnalyticsParameterScreenClass: screenClass])
Objective-C
[FIRAnalytics logEventWithName:kFIREventScreenView parameters:@{kFIRParameterScreenClass: screenClass, kFIRParameterScreenName: screenName}];
Kotlin+KTX
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,
},
);