Google アナリティクスを使用して WebView のイベントを追跡する

1. はじめに

最終更新日: 2021 年 12 月 22 日

作成するアプリの概要

この Codelab では、WebView 内のウェブページからネイティブ コードにイベントを転送して、GA4F でイベントをトラッキングできるようにする方法を学びます。

ここでは、WebView を使用してウェブページを呼び出すハイブリッド Android サンプルアプリを使用します。

学習内容

  • ハイブリッド アプリで GA4F(Firebase 向け Google アナリティクス)を初期化する方法
  • ウェブページでカスタム イベントとカスタム パラメータを作成する方法
  • WebView 内のウェブページのイベントをネイティブ コードに転送する方法
  • デバッグ方法
  • イベントをインポートして、アクション キャンペーンで使用する方法

必要なもの

  • Android Studio 3.6 以上
  • Firebase アカウント

2. 設定方法

コードを取得する

Firebase ガイドのドキュメントでは、このプロジェクトに必要なサンプルコードが GitHub に提供されています。

7074c0e83b5fd4b1.png

まず、コードを取得して、お好みの開発環境で開きます。Android とウェブの 2 つのディレクトリを使用します。「Android」ディレクトリは Android アプリと「ウェブ」用です。ディレクトリは、WebView を介してアプリによって呼び出されるウェブページ用です。

3. Firebase プロジェクトを作成して設定する

Firebase の利用を開始するには、Firebase プロジェクトを作成して設定する必要があります。

Firebase プロジェクトを作成する

  1. Firebase にログインします。

Firebase コンソールで [プロジェクトを追加](または [プロジェクトを作成])をクリックし、Firebase プロジェクトに Webview-test-codelab などの任意の名前を付けます。

fd93054e27d6b386.png

  1. プロジェクト作成オプションをクリックします。プロンプトが表示されたら、Firebase の利用規約に同意します。アクション イベントのトラッキングとコンバージョンの分析のために Google アナリティクス イベントが必要となるので、このプロジェクトでは Google アナリティクスを有効にする必要があります。

e58151a081f0628.png

Firebase プロジェクトの詳細については、Firebase プロジェクトについて理解するをご覧ください。

4. Android Firebase 構成

3e5b8f1b6ca538c4.png

Android を構成する

  1. Firebase コンソールの左側のナビゲーションで [プロジェクトの概要] を選択し、[アプリに Firebase を追加して利用を開始しましょう] の下にある [Android] ボタンをクリックします。

次の画面にダイアログが表示されます。

3b7d3b33d81fe8ea.png

  1. 指定を必要とする重要な値は Android パッケージ名です。次の手順で取得します。
  1. アプリのディレクトリで、android/app/src/main/AndroidManifest.xml ファイルを開きます。
  2. manifest 要素内にある package 属性の文字列値を確認します。この値が Android パッケージ名です(例: com.yourcompany.yourproject)。この値をコピーします。
  3. Firebase のダイアログで、コピーしたパッケージ名を Android package name フィールドに貼り付けます。
  4. Google ログインまたは Firebase Dynamic Links を使用する予定がない場合は、ここで SHA-1 キーは不要です(この Codelab では扱いません)。Google Play から in_app_purchase データをインポートする場合は、後でキーを設定する必要があります。
  5. [アプリの登録] をクリックします。
  6. 引き続き Firebase 内で、指示に沿って構成ファイル google-services.json をダウンロードします。

52f08aa18c8d59d0.png

  1. アプリのディレクトリに移動し、(先ほどダウンロードした)google-services.json ファイルを android/app ディレクトリに移動します。
  2. Firebase コンソールに戻り、残りの手順をスキップして、Firebase コンソールのメインページに戻ります。
  3. 最後に、Firebase によって生成された google-services.json ファイルを読み取るための Google Services Gradle プラグインが必要です。
  4. IDE またはエディタで android/app/build.gradle を開き、ファイルの最後の行として次の行を追加します。
apply plugin: 'com.google.gms.google-services'
  1. android/build.gradle を開き、buildscript タグ内に新しい依存関係を追加します。
buildscript { 
   repositories {
      // ...
   }
   dependencies {
      // ...
      Classpath 'com.google.gms:google-services:4.3.3'
   }
}
  1. アプリがまだ実行中の場合は、Gradle で依存関係をインストールできるように、アプリを閉じて再ビルドします。

これで Android 向けアプリの構成が完了しました。

5. ウェブにアナリティクスのウェブ インターフェースを開発してカスタム イベントをロギングする

Google アナリティクスで WebView 内のイベントをトラッキングするには、ウェブアプリと Android アプリの両方にコードを挿入する必要があります。

このパートでは、ウェブに配置する必要があるコードを見ていきましょう。a0f31cdf21ea85d1.png

まず、html ファイルで使用する JavaScript ファイルを作成します。サンプルコードでは、index.js という名前の js ファイル。関数「logEvent」を作成する必要がありますAnayticsWebInterface(Android 用)と messageHander(iOS 用)を

6d9fac050fb64f4e.png

そして、イベントをトラッキングする関数を呼び出します。コードは次のようになります。

f40c1596678173ba.png

Android の WebView でイベントがトリガーされると、「window.AnalyticsWebInterface」が呼び出され、イベントがネイティブ アプリに接続されます。

6. ウェブ ディレクトリをホストしてウェブページの URL を取得する

アプリの WebView 内でウェブページを呼び出す前に、ウェブページの URL が必要です。ウェブページをホストする方法は多数ありますが、この Codelab では便宜上 Firebase Hosting サービスを使用する方法を説明します。

  • ターミナルで、ウェブ ディレクトリ(例:cd web など)を指定し、次のコマンドを実行します。
  • npm install -g firebase-tools - Firebase CLI がインストールされます。
  • firebase login
  • firebase init
  • [Hosting] を選択します。どの機能を設定しますか?
  • Android アプリに設定したプロジェクトを選択します。
  • 残りのすべてのプロンプトでデフォルト値を受け入れます。
  • firebase deploy --only hosting - Firebase Hosting にデプロイします。

e7d56dd78a4448e7.png

7. Android アプリでインターフェース コードを開発する

Google アナリティクスで WebView 内のイベントをトラッキングするには、ウェブと Android の両方にコードを挿入する必要があります。このパートでは、Android アプリに配置する必要があるコードを見ていきましょう。

「AnalyticsWebInterface.java」を作成する"AnalyticsWebInterface"クラスです。このクラスでは、次のように @JavascriptInterface をコーディングして、ウェブ JS ファイルの logEvent 関数を接続する必要があります。

6f069f438e4667ba.png

次に、アクティビティに WebView を呼び出す JavaScript インターフェースを追加します。コードは以下のようになります。

f2c6e5affd8c8993.png

コード全体を確認するには、「セットアップを行う」でダウンロードしたサンプルコードをご覧ください。示します。

8. イベントの確認とデバッグ

イベントをデバッグする場合は、テストデバイスを接続した後、またはエミュレータを起動した後に、Android Studio ターミナルで次のコードを使用します。

>adb shell setprop debug.firebase.analytics.app [アプリのパッケージ名]

>adb shell setprop log.tag.FA 詳細

>adb shell setprop log.tag.FA-SVC VERBOSE

>adb logcat -v time -s FA FA-SVC

コードが正常に機能すると、次のようなログが表示されます。

33c64f811e7e9a0f.png

Firebase コンソールで確認する場合は、[リアルタイム] タブを使用することもできます。Firebase コンソールに移動し、次のように [リアルタイム] タブをクリックします。

次に、[比較を追加] を使用して Android プラットフォームのイベントをフィルタします。使用します。

af6e8da348dbe775.png aa804eb02f0b7d3f.png

コードが正しく実装されていれば、Android アプリのイベントが [リアルタイム] タブに表示されます。

bde531c7a37c0851.png

数時間後には、ログに記録されたイベントを Firebase コンソールの [イベント] タブで確認できます。Firebase コンソールの [アナリティクス] セクションにある [イベント] タブをクリックするだけです。イベントをクリックするだけで、イベント event1 内の値を確認することもできます。

[コンバージョンとしてマークを付ける] スイッチを右にスライドして、「event1」をコンバージョンとしてマークします。

486010186b929deb.png

イベントが [コンバージョン] タブに表示されている場合は、正常にコンバージョンとしてマークされています。これで、Firebase から Google 広告にこのイベントをインポートできるようになります。

b72cf934a76e174b.png

デバッグを行うには、Firebase DebugView を使用します。詳細については、イベントのデバッグをご覧ください。

9. アナリティクス イベントを Google 広告にインポートする

Firebase-Flutter の設定が完了したら、アクション イベントを使用してアプリ キャンペーンを開始しましょう。まず、Firebase を Google 広告にリンクします。Firebase を Google 広告にリンクすると、アプリ キャンペーンに Firebase のイベントをインポートできます。また、この処理により、オーディエンスについてより深く知ることができ、Google 広告でのアプリ キャンペーンの成果を高めることができます。

  1. [Project Overview] の横にあるボタンをクリックして [Firebase Settings] に移動します。
  2. [統合] タブに [Google 広告] と [リンク] ボタンが表示されます。[リンク]、[続行] の順にクリックします。

b711bf2e94fa0895.png

  1. Google 広告アカウントを選択します。

これで Firebase の部分は完了です。

Google 広告に移動します。

  1. ログインして [ツールと設定 >測定 >コンバージョンとしてカスタム イベントをインポートします。
  2. [+] ボタンをクリックして、新しいコンバージョン アクションを追加します。

73cec8d2e80eab03.png

  1. [Google アナリティクス 4 プロパティ(Firebase)] を選択し、[続行] をクリックします。

4b1d8f6a712b2ac6.png

  1. コンバージョンとしてマークされたすべてのアナリティクス イベントが表示されます。以前に実装した event1 イベントを探します。

e2bd5e1f7b9b73d9.png

  1. アクションを確認し、[インポート] をクリックして、[続行] をクリックします。

ab35e341dff32e48.png

コンバージョン アクションとして event1 を設定すると、event1 のイベントを 5 回を超えて起動する可能性があるユーザーをターゲットとするアクション キャンペーンを開始できます。

10. イベントをインポートしてアプリ アクション キャンペーンを開始する

  1. 現在のアカウントの [キャンペーン] タブに移動し、[+] ボタンをクリックして新しいキャンペーンを開始します。[新しいキャンペーン]、[続行] の順にクリックします。
  2. [アプリ インストール] オプションを使用してアプリ プロモーション キャンペーンを開始します。

af98c44d1476558.png

  1. アプリ名、パッケージ名、またはパブリッシャーを入力してアプリを検索します。
  2. [単価設定] で、プルダウン メニューから [アプリ内コンバージョン] を選択します。
  3. 表示されたリストからカスタム イベントを見つけます。[目標コンバージョン単価] を設定し、追加オプションがあれば設定します。

ee2bf8eb80cddd7c.png

  1. キャンペーンの設定を完了します。

11. 完了

これで Firebase と Google 広告の統合が完了しました。これにより、Firebase にインポートしたイベントを使ってキャンペーンのパフォーマンスを向上させることができます。

学習した内容

  • ハイブリッド アプリで GA4F(Firebase 向け Google アナリティクス)を初期化する方法
  • ウェブページでカスタム イベントとカスタム パラメータを作成する方法
  • WebView 内のウェブページのイベントをネイティブ コードに転送する方法
  • デバッグ方法
  • イベントをインポートして、アクション キャンペーンで使用する方法