Yahoo!ニュース

IDでもっと便利に新規取得

ログイン

Google アナリティクス for Firebaseでアプリの表示回数・タップ数のイベント計測を実装する

配信

  • この記事についてツイート
  • この記事についてシェア
Web担当者Forum

今回は、第4回の要件定義で定めたアプリの各画面の表示回数を計測するイベント、アプリ内に配置されたボタンが何回タップされたかを計測するためのイベントを、実際にアプリに実装していきます。 前回の要件定義は以下より確認できます。 本連載では、モバイルアプリを計測する無料のトラッキングツール「Google アナリティクス for Firebase」を利用したことがないユーザーを対象に各種レポートの見方や実装前の計測項目の考え方、Google アナリティクス SDKとの違いなど連載で解説しています。  

Firebase SDKを導入する

はじめに、計測対象のアプリにFirebase SDKを導入します。 公式のドキュメントにインストール方法が記載されていますので、これに従ってFirebase SDKを導入してください。 ・AndroidプロジェクトにFirebaseを追加する ・FirebaseをiOSプロジェクトに追加する  

要件定義に従って、計測用イベントを実装

Firebase SDKを導入し終わったら、次の3つの手順で計測用のイベントを実装していきましょう。 1. アプリの画面名を設定し、計測するコードの実装 2. アプリ画面内で発生する各種ボタンのタップイベント計測の実装 3. 充電スポットページで発生するカスタムイベント計測の実装 ■ 1. アプリの画面名を設定し、計測するコードの実装

アプリ内で、各画面の表示回数を計測するためには、screen_viewイベントにscreen_nameパラメータを設定します。 screen_nameパラメータには、アプリの各画面のスクリーン名を設定します。 要件定義の際に設定するscreen_viewは以下の通りでした。

1. ホーム画面 2. マイリスト 3. 絞り込み 4. メニュー画面 5. 充電スポットページ これらを実際に、Android、iOSのアプリに実装していくコードを書いてみます。 □ Android(Kotlin) Android で screen_view を送信するためには、 logEventメソッドを利用します。setCurrentScreen は現在、非推奨(deprecated)となっているため、以前の記述が残っている場合は現在推奨されている logEventメソッドを利用するように書き換えるようにします。 これをActivityクラスのonResume()メソッド内で呼び出すことで、screen_viewの計測を行うことができます。 □ 実装例 override fun onCreate(savedInstanceState: bundle?) { // Firebase Analyticsインスタンスの取得 mFirebaseAnalytics = Firebase.getInstance(this) } override fun onResume() { super.onResume() // 画面名を計測する var params = Bundle() params.putString(FirebaseAnalytics.Param.SCREEN_NAME, "ホーム画面") mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.SCREEN_VIEW, params) } □ iOS(Swift) iOSでscreen_viewを送信するためには、 setScreenName(_ : screenClass :) メソッドを利用します。 これを、UIViewControllerクラスのviewDidAppear()メソッドを継承したメソッド内で呼び出すことで、screen_viewの計測を行うことができます。 □ 実装例 override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) // 画面名を計測する Analytics.setScreenName("ホーム画面") } ■ 2. アプリ画面内で発生する各種ボタンのタップイベント計測の実装 アプリの各画面に配置しているボタンがタップされた回数を計測するために、SDKで定義済みの推奨イベント “select_content” イベントを利用します。 “select_content” イベントで指定可能なパラメータは以下の通りです。 ・“item_id” ・“item_name” ・“content_type”