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ê rastreie métricas como envolvimento do usuário ou comportamento do usuário por tela. Grande parte dessa coleta de dados ocorre automaticamente, mas você também pode registrar exibições de tela manualmente. O rastreamento manual de telas é útil se seu aplicativo não usa 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 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. Se seu aplicativo não tiver, você ainda pode 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 dentro da 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 a extensão Analytics Swift SDK .

Rápido

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

Objective-C

Observação: este produto 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 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,
  },
);