Medir as exibições de tela

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

Observação: este produto do Firebase não está disponível no destino macOS.
Analytics.logEvent(AnalyticsEventScreenView,
                   parameters: [AnalyticsParameterScreenName: screenName,
                                AnalyticsParameterScreenClass: screenClass])

Objective-C

Observação: este produto do Firebase não está disponível no destino macOS.
[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,
  },
);