O Google Analytics rastreia transições de tela e anexa informações sobre a tela atual aos eventos, permitindo rastrear métricas como envolvimento ou comportamento do usuário por tela. Grande parte dessa coleta de dados acontece automaticamente, mas você também pode registrar manualmente as visualizações de tela. O rastreamento manual de telas é útil se seu aplicativo não usar um UIViewController
, View
ou Activity
separado para cada tela que você deseja rastrear, como em um jogo.
Rastrear telas automaticamente
O Analytics rastreia automaticamente algumas informações sobre as telas do seu aplicativo, como o nome da classe do UIViewController
ou Activity
que está em foco 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 automaticamente marcados com o parâmetro firebase_screen_class
(por exemplo, menuViewController
ou MenuActivity
) e um firebase_screen_id
gerado. Se seu aplicativo usar um UIViewController
ou Activity
distinto para cada tela, o Analytics poderá rastrear automaticamente cada transição de tela e gerar um relatório de envolvimento do usuário dividido por tela. Caso seu aplicativo não tenha, você ainda poderá obter esses relatórios registrando manualmente os eventos screen_view
.
Desativar rastreamento de visualização de tela
O relatório automático de visualização de tela pode ser desativado no iOS definindo FirebaseAutomaticScreenReportingEnabled
como NO
(Boolean) no Info.plist.
E 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
Você pode registrar manualmente eventos screen_view
independentemente de o rastreamento automático estar ativado ou não. Você pode registrar esses eventos nos métodos onAppear
ou viewDidAppear
para plataformas Apple e onResume
para Android. Quando screen_class
não está definido, o Analytics define um valor padrão com base no UIViewController ou Activity que está em foco quando a chamada é feita.
Se você desativou o swizzling em seu aplicativo, todos os nomes de tela deverão ser definidos manualmente. Para usuários do SwiftUI, use a extensão SDK do Analytics Swift .
Rápido
Analytics.logEvent(AnalyticsEventScreenView, parameters: [AnalyticsParameterScreenName: screenName, AnalyticsParameterScreenClass: screenClass])
Objetivo-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);
API modular da Web
import { getAnalytics, logEvent } from "firebase/analytics"; const analytics = getAnalytics(); logEvent(analytics, 'screen_view', { firebase_screen: screenName, firebase_screen_class: screenClass });
API com namespace da 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,
},
);