Bildschirmaufrufe messen

Google Analytics erfasst Bildschirmübergänge und fügt Ereignissen Informationen zum aktuellen Bildschirm hinzu. So können Sie Messwerte wie Nutzer interaktionen oder das Nutzerverhalten pro Bildschirm analysieren. Ein Großteil dieser Datenerhebung erfolgt automatisch, Sie können Bildschirmaufrufe aber auch manuell protokollieren. Das manuelle Erfassen von Bildschirmen ist nützlich, wenn Ihre App nicht für jeden Bildschirm, den Sie erfassen möchten, einen separaten UIViewController, View oder Activity verwendet, z. B. in einem Spiel.

Bildschirme automatisch erfassen

Analytics erfasst automatisch einige Informationen zu Bildschirmen in Ihrer Anwendung, z. B. der Klassenname des UIViewController oder der Activity, der bzw. die gerade im Fokus ist. Wenn ein Bildschirmübergang erfolgt, wird in Analytics ein screen_view Ereignis protokolliert, das den neuen Bildschirm identifiziert. Ereignisse, die auf diesen Bildschirmen auftreten, werden automatisch mit dem Parameter firebase_screen_class (z. B. menuViewController oder MenuActivity) und einer generierten firebase_screen_id getaggt. Wenn Ihre App für jeden Bildschirm einen separaten UIViewController oder Activity verwendet, kann Analytics jeden Bildschirm übergang automatisch erfassen und einen Bericht zu Nutzerinteraktionen aufgeschlüsselt nach Bildschirm erstellen. Wenn dies nicht der Fall ist, können Sie diese Berichte trotzdem erhalten, indem Sie screen_view-Ereignisse manuell protokollieren.

Erfassung von Bildschirmaufrufen deaktivieren

Die automatische Erfassung von Bildschirmaufrufen kann unter iOS deaktiviert werden, indem Sie in der Datei Info.plist FirebaseAutomaticScreenReportingEnabled auf NO (boolesch) setzen.

Unter Android müssen Sie die folgende Einstellung in das Tag <application> der AndroidManifest.xml Datei einfügen:

<meta-data android:name="google_analytics_automatic_screen_reporting_enabled" android:value="false" />

Bildschirme manuell erfassen

Sie können screen_view-Ereignisse manuell protokollieren, unabhängig davon, ob die automatische Erfassung aktiviert ist. Sie können diese Ereignisse in den Methoden onAppear oder viewDidAppear für Apple-Plattformen und onResume für Android protokollieren. Wenn screen_class nicht festgelegt ist, Analytics legt einen Standardwert basierend auf dem UIViewController oder der Activity fest, der bzw. die im Fokus ist, wenn der Aufruf erfolgt.

Wenn Sie Swizzling in Ihrer App deaktiviert haben, müssen alle Bildschirmnamen manuell festgelegt werden. Für SwiftUI-Nutzer ist das Analytics Swift Extension SDK verfügbar.

Swift

Hinweis:Dieses Firebase-Produkt ist für das macOS-Ziel nicht verfügbar.
Analytics.logEvent(AnalyticsEventScreenView,
                   parameters: [AnalyticsParameterScreenName: screenName,
                               AnalyticsParameterScreenClass: screenClass])

Objective-C

Hinweis:Dieses Firebase-Produkt ist für das macOS-Ziel nicht verfügbar.
[FIRAnalytics logEventWithName:kFIREventScreenView
                    parameters:@{kFIRParameterScreenClass: screenClass,
                                 kFIRParameterScreenName: screenName}];

Kotlin

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