Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Medir visualizações de tela

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

O Google Analytics rastreia as transições de tela e anexa informações sobre a tela atual aos eventos, permitindo que você acompanhe métricas como engajamento 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 telas em 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 marcados automaticamente com o parâmetro firebase_screen_class (por exemplo, menuViewController ou MenuActivity ) e um firebase_screen_id gerado. Se seu aplicativo usa um UIViewController ou Activity distinto para cada tela, o Analytics pode rastrear automaticamente cada transição de tela e gerar um relatório de engajamento do usuário dividido por tela. Se seu aplicativo não tiver, você ainda poderá obter esses relatórios registrando manualmente os eventos screen_view .

Desativar rastreamento de exibição de tela

Os relatórios automáticos de exibição de tela podem ser desativados 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 os 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 devem ser definidos manualmente. Para usuários do SwiftUI, use o SDK da extensão Analytics Swift .

Rápido

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

Objetivo-C

Observação: este produto Firebase não está disponível no destino macOS.
[FIRAnalytics logEventWithName:kFIREventScreenView
                    parameters:@{kFIRParameterScreenClass: screenClass,
                                 kFIRParameterScreenName: screenName}];

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);

Kotlin+KTX

firebaseAnalytics.logEvent(FirebaseAnalytics.Event.SCREEN_VIEW) {
    param(FirebaseAnalytics.Param.SCREEN_NAME, screenName)
    param(FirebaseAnalytics.Param.SCREEN_CLASS, "MainActivity")
}

Web version 9

import { getAnalytics, logEvent } from "firebase/analytics";

const analytics = getAnalytics();
logEvent(analytics, 'screen_view', {
  firebase_screen: screenName, 
  firebase_screen_class: screenClass
});

Web version 8

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,
  },
);