Google アナリティクスは画面遷移を追跡し、現在の画面に関する情報をイベントに添付して、ユーザー エンゲージメントや画面ごとのユーザー行動などの指標を追跡できるようにします。このデータ収集の多くは自動的に行われますが、スクリーン ビューを手動で記録することもできます。手動で画面を追跡することは、ゲームなど、追跡したい画面ごとにアプリが個別のUIViewController
、 View
、またはActivity
を使用しない場合に役立ちます。
画面を自動的に追跡する
Analytics は、 UIViewController
のクラス名や現在フォーカスされているActivity
など、アプリケーションの画面に関する一部の情報を自動的に追跡します。画面遷移が発生すると、Analytics は新しい画面を識別するscreen_view
イベントをログに記録します。これらの画面で発生するイベントは、パラメータfirebase_screen_class
(たとえば、 menuViewController
またはMenuActivity
) および生成されたfirebase_screen_id
で自動的にタグ付けされます。アプリが画面ごとに個別のUIViewController
またはActivity
を使用している場合、Analytics はすべての画面遷移を自動的に追跡し、画面ごとに分類されたユーザー エンゲージメントのレポートを生成できます。アプリがそうでない場合でも、 screen_view
イベントを手動でログに記録することで、これらのレポートを取得できます。
スクリーンビュー トラッキングを無効にする
自動スクリーン ビュー レポートは、Info.plist でFirebaseAutomaticScreenReportingEnabled
をNO
(ブール値) に設定することにより、iOS でオフにすることができます。
Android では、次の設定をAndroidManifest.xml
ファイルの<application>
タグ内にネストします。
<meta-data android:name="google_analytics_automatic_screen_reporting_enabled" android:value="false" />
画面を手動で追跡する
自動追跡が有効になっているかどうかに関係なく、 screen_view
イベントを手動でログに記録できます。これらのイベントは、Apple プラットフォームではonAppear
またはviewDidAppear
メソッドで、Android onResume
でログに記録できます。 screen_class
が設定されていない場合、Analytics は、呼び出しが行われたときにフォーカスされている UIViewController またはアクティビティに基づいてデフォルト値を設定します。
アプリでスウィズリングを無効にしている場合は、すべてのスクリーン ネームを手動で設定する必要があります。 SwiftUI ユーザーの場合は、Analytics Swift 拡張 SDKを使用します。
迅速
Analytics.logEvent(AnalyticsEventScreenView, parameters: [AnalyticsParameterScreenName: screenName, AnalyticsParameterScreenClass: screenClass])
Objective-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);
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,
},
);