モバイルアプリ開発入門

iOSやAndroidアプリの開発入門者向けブログです。

Google Analytics for Firebaseを使ってみよう(iOS, Objective-c)

はじめに

iOSAndroid・Web等に向けた、Google Analytics for FirebaseというGoogleのサービスがあります。これは何のサービスかというと、アプリのイベントログやアクセスログを解析・可視化するためのサービスです。これを使うことで、開発者はユーザのアプリの利用状況を知ることができます。例えば、どのバージョンが多く使われているか、どの機能がよく使われているか、どの地域でどのくらい使われるかなどです。
さて、今回はGoogle Analytics for FirebaseのiOSでの利用方法を説明します。前回作ったSample WebViewアプリを元に実際に使ってみましょう。

事前準備

Google Analytics for FirebaseをMacにインストールする場合は、一般的にiOSライブラリ管理ツールであるCocoaPodsを利用します。また、CocoaPodsをMacにインストールするのにmacOS(またはLinux)用パッケージマネージャーのHomebrewを使うことが多いです。
ここでは、MacにHomebrewおよびCocoaPodsをインストールしましょう。
1. Macでターミナル を起動し、以下のコマンドを実行します。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

2. 次に以下のコマンドを実行します。

brew install cocoapods

これで事前準備は完了です。

Google Analytics for Firebaseの設定

Google Analytics for Firebaseを利用するため、ウェブ上のコンソールの設定およびiOS用のSDKの設定を行います。
1. 以下のウェブページにアクセスし、ログインします。
firebase.google.com Googleアカウントをお持ちでない方は、作成してください。
2. [コンソールへ移動]をクリックします(図1)。

f:id:ActivityService:20200630232024p:plain
図1
3. [プロジェクトを追加]をクリックします(図2)。
f:id:ActivityService:20200630232247p:plain
図2
4. プロジェクト名に"Sample Analytics"を入力の上、[続行]をクリックします(図3)。
f:id:ActivityService:20200630232405p:plain
図3
5. [続行]をクリックします(図4)。
f:id:ActivityService:20200630232731p:plain
図4
6. [Google アナリティクス アカウントを選択または作成します。]で"SampleAnalytics"でアカウントを作成の上、選択します(図5)。
7. [プロジェクト作成]をクリックします(図5)。
f:id:ActivityService:20200630233000p:plain
図5
8. [続行]をクリックします(図6)。
f:id:ActivityService:20200630233111p:plain
図6
9. [アプリを]追加 > iOSボタンをクリックします(図7)。
f:id:ActivityService:20200708075359p:plain
図7
10. [iOSバンドルID]で"com.sampleapps.SampleWebView"を入力の上、[アプリを登録]をクリックします(図8)。
f:id:ActivityService:20200708075457p:plain
図8
11. [GoogleService-Info.plistをタウンロード]をクリックし、GoogleService-Info.plistをダウンロードします(図9)。
f:id:ActivityService:20200708075548p:plain
図9
GoogleService-Info.plistはFirebaseを利用するための設定ファイルです。
12. Xcodeで、[SampleWebView] > [SampleWebView]を開きます。右クリックをクリックします(図10)。
f:id:ActivityService:20200708075721p:plain
図10
13. [Show in Finder]をクリックし、Finderで該当パスを開き、先ほどダウンロードしGoogleService-Info.plistをコピーします(図11)。
f:id:ActivityService:20200708075839p:plain
図11
14. Xcodeで、[SampleWebView] > [SampleWebView]を開きます。右クリックをクリックします(図12)。
f:id:ActivityService:20200708075721p:plain
図12
15. [Add Files to "SampleWebView"]をクリックし、プロジェクトにGoogleService-Info.plistを追加します(図13)。
f:id:ActivityService:20200708075839p:plain
図13
16. 正しい位置にGoogleService-Info.plistがあることを確認してください(図14)。
f:id:ActivityService:20200708080023p:plain
図14
17. もう一度Firebaseのウェブページに戻り、[次へ]をクリックします(図15)。
f:id:ActivityService:20200708075839p:plain
図15
18. ターミナル以下のコマンドを実行し、SampleWebViewのディレクトリに移動してください(図16)。

pushd <SampleWebViewのディレクトリパス>

f:id:ActivityService:20200708080301p:plain
図16
19. ターミナル以下のコマンドを実行し、Podfile(CocoaPodsの設定ファイル)を初期化します(図17)。

pod init

f:id:ActivityService:20200708080301p:plain
図17
20. ターミナル以下のコマンドを実行します(図18)。こうすることでviエディタで編集します。

vi Podfile

f:id:ActivityService:20200708080301p:plain
図18
21. キーボードの[i]キーを押し、編集を有効の上、以下のコードを追記します(図19)。

pod 'Firebase/Analytics'

f:id:ActivityService:20200708080445p:plain
図19
22. キーボードの[esc]キー > [:] キー> [w]キーの順で押して、編集を保存します。
23. [:] キー> [q]キーの順で押して、viエディタを閉じます。
24. ターミナル で以下のコマンドを実行し、Google Analytics for Firebase SDKをインストールします(図20)。
25. ターミナル でエラーが無いことを確認してください(図21)。
26. Xcodeを閉じて、FinderでSampleWebViewのパスを開き、SampleWebView.xcworkspaceをダブルクリックして、Xcodeを起動してください(図22)。
間違えてSampleWebView.xcodeprojを開かないようにください。以降の作業でエラーがでます。
f:id:ActivityService:20200708082027p:plain
図22
27. 再度Firebaseのウェブページに戻り、[次へ]をクリックします(図23)。
f:id:ActivityService:20200708082740p:plain
図23
28. 再度、[次へ]をクリックします(図24)。
f:id:ActivityService:20200708083240p:plain
図24
29. [このステップをスキップ]をクリックします(図25)。(本来ならば、一度アプリをビルドして、アプリがサーバーと通信したかどうかを確認すべきですが、今回はスキップしました。)
f:id:ActivityService:20200708083820p:plain
図25
30. Google Analytics for Firebaseの画面で[アナリティクス データを待機しています...]が表示されていると思います(図26)。初回の反映は1日程度かかります。
f:id:ActivityService:20200630235752p:plain
図26
これでGoogle Analytics for Firebaseの設定は完了です。

Google Analytics for Firebaseの実装

Google Analytics for Firebaseの実装をします。
SampleWebViewアプリを起動しWebViewを表示した時に、"WebView(iOS)"タグをFirebaseに送るようにします。こうすることで、Google Analytics for Firebaseのコンソール上で、「SampleWebViewアプリが起動しWebViewを表示した」ことが分かるようになります。(今回はタグを"WebView(iOS)"としていますが、任意の名前で構いません。)
1. [SampleWebView] > [SampleWebView] > AppDelegate.mをクリックします(図27)。
2. 以下のコードを追記します(図27)。

@import Firebase; // Google Analytics for Firebaseのインポート
  1. application:didFinishLaunchingWithOptionsメソッド内に以下のコードを追記します(図28)。
[FIRApp configure]; // Firebase を初期化する

f:id:ActivityService:20200708084837p:plain
図28
4. [SampleWebView] > [SampleWebView] > ViewController.mをクリックします(図29)。
5. Google Analytics for Firebaseにデータを送るための、以下の処理viewDidLoadメソッドに追記します(図29)。

// Google Analytics for Firebaseにデータを送信
[FIRAnalytics logEventWithName:@"WebView(iOS)" parameters:nil];

f:id:ActivityService:20200708085033p:plain
図29
これで実装は完了です。

Google Analytics for Firebaseの設定

  1. SampleWebViewをビルドして、端末にインストールしてください。
  2. 以下のウェブページにアクセスし、ログインします。
    firebase.google.com
  3. [コンソールへ移動]をクリックします。
  4. [Sample Analytics]を選択してください(図30)。
    f:id:ActivityService:20200701001805p:plain
    図31
  5. Analytics画面でユーザーの利用状況を確認できます(図31)。
    アクセスログを確認できました。
    f:id:ActivityService:20200701130015p:plain
    図31
  6. 左側メニュー > [分析] > [Events]をクリックします(図32)。
    f:id:ActivityService:20200701130106p:plain
    図32
  7. [既存のイベント]で"WebView"の利用件数を確認できます(図33)。
    イベントログを確認できました。

アプリをリリースする際の注意点

2018年5月25日に「EU一般データ保護規則」(GDPRGeneral Data Protection Regulation)が施行されました。 これは欧州連合 (EU) 内の全ての個人のためにデータ保護を強化し統合することを意図している規則です。
Google Analyticsでデータを取得するアプリをリリースした際にEUで使われると、GDPRに基づく罰則の対象になることがあります。具体的には、違反した場合に巨額の罰金が科されます。
罰則の対象にならないように、「ユーザーの同意を得てからGoogle Analyticsでデータを取得する」や「日本国外では利用できないようにする」などの対応をしてください。これはあくまで例なので、GDPRについて十分に調査・確認の上、判断・対応をしてください。

おわりに

今回はGoogle Analytics for FirebaseiOSでの利用方法を説明しました。Google Analytics for Firebaseを行うことで、アプリのユーザー・利用データを分析できることが分かったと思います。
今回の分析方法は単純な例でしたが、他にも様々な分析ができるので、Google Analytics for Firebaseコンソール上で色々と試すといいかもしれません。
また、Firebaseは今回紹介したGoogle Analytics以外にも様々なサービスがあります。また機会があれば、他のサービスについても紹介したいと思います。