ちょっと話題の記事

Firebase Analytics を iOS / Android アプリに導入する手順のまとめ

2016.05.20

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Firebase Analytics とは

2016年5月19日(日本時間)にリリースされた、「Firebase」の新バージョン。モバイルアプリ向けの様々なサービスが含まれていますが、最もよく使われることになるのは「Firebase Analytics」でしょう。

モバイルアプリに特化した Google アナリティクス のような位置付けのようです。モバイルアプリのみを分析したい場合は Firebase Analytics、Web ページとモバイルアプリを分析したい場合は Google アナリティクス、と言うように使い分けることが推奨されています。

本記事では Firebase Analytics の導入方法をまとめてみました。

Firebase へのアカウント登録

Firebase へのアカウント登録は特別に何かが必要というわけではなく、Google アカウントにサインアップしていれば利用することができます。Firebase のコンソールは下記の URL です。

プロジェクトの作成

Firebase Console のトップページから、新規プロジェクトを作成することができます。従来の Google API Console で作成していたプロジェクトもインポートできるようです。

firebase-ios-01

Firebase を使い始めるには、ひとまずプロジェクトを作成するだけでOKです。あとは、使いたいサービスを選択し、その設定をモバイルアプリに実装するだけです。

iOS アプリへの導入

新規プロジェクト作成後、トップページにある「iOS アプリに Firebase を追加」をクリックします。

firebase-ios-02

Bundle ID を入力します。

firebase-ios-03

GoogleService-Info.plist がダウンロードできます。

firebase-ios-04

この設定ファイルの中に、Firebase を利用するために必要な情報が詰め込まれています。この Plist ファイルを Xcode プロジェクトに追加します。

firebase-ios-05

SDK は、CocoaPods 経由でインストールすることが推奨されています。Pod はサービス単位で下記のように用意されています。

Pod 役割
pod 'Firebase/Core' Firebase Analytics のみ使うことができる、最小限単位の SDK
pod 'Firebase/AdMob' 広告
pod 'Firebase/Messaging' プッシュ通知
pod 'Firebase/Database' リアルタイム性のデータベース
pod 'Firebase/Invites' ユーザー発信の共有
pod 'Firebase/DynamicLinks' 動的リンク
pod 'Firebase/Crash' クラッシュレポート送信
pod 'Firebase/RemoteConfig' クラウドから設定可能な設定
pod 'Firebase/Auth' 認証
pod 'Firebase/AppIndexing' Google 検索への表示
pod 'Firebase/Storage' ファイルストレージ

Firebase Analytics のみを使いたい場合は Firebase/Core だけ入れます。

Podfile

pod 'Firebase/Core'

pod install を実行します。

$ pod install

あとは AppDelegate などで Firebase モジュールをインポートし FIRApp#configure メソッドを呼び出すだけです。

import UIKit
import Firebase

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

  var window: UIWindow?

  func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    FIRApp.configure()
    return true
  }
}

Android アプリへの導入

新規プロジェクト作成後、トップページにある「Android アプリに Firebase を追加」をクリックします。すでに iOS アプリを作成済みの場合は「アプリを追加」から行えます。

パッケージ名を設定します。デバッグ用の署名証明書(SHA-1)はオプションで、Dynamic Links、Invites、Auth (Google Sign-In をサポートする場合)に必要です。Firebase Analytics だけを使う場合は必要ありません。

firebase-android01

google-services.json がダウンロードされます。

firebase-android02

ダウンロードした google-services.json はアプリケーションモジュール直下に配置します。

firebase-android03

プロジェクトレベルの build.gradle に Dependencies を追加します。

buildscript {
  dependencies {
    classpath 'com.google.gms:google-services:3.0.0'
  }
}

アプリケーションレベルの build.gradleapply plugin を追加します。

apply plugin: 'com.google.gms.google-services'

SDK はサービス単位で分かれています。

Dependency 役割
compile 'com.google.firebase:firebase-analytics:9.0.0' 統計
compile 'com.google.firebase:firebase-database:9.0.0' リアルタイム性のデータベース
compile 'com.google.firebase:firebase-storage:9.0.0' ファイルストレージ
compile 'com.google.firebase:firebase-crash:9.0.0' クラッシュレポート送信
compile 'com.google.firebase:firebase-auth:9.0.0' 認証
compile 'com.google.firebase:firebase-messaging:9.0.0' プッシュ通知
compile 'com.google.firebase:firebase-config:9.0.0' クラウドから設定可能な設定
compile 'com.google.firebase:firebase-invites:9.0.0' ユーザー発信の共有
compile 'com.google.firebase:firebase-ads:9.0.0' 広告
compile 'com.google.android.gms:play-services-appindexing:9.0.0' Google 検索への表示

Firebase Analytics のみを使いたい場合は com.google.firebase:firebase-analytics:9.0.0 だけアプリケーションレベルの build.gradledependencies に入れます。

compile 'com.google.firebase:firebase-analytics:9.0.0'

ここまで出来たら Sync しましょう。

あとは任意の場所(始めに表示される Activity や Application の onCreate など)で FirebaseAnalytics#getInstance を呼び出します。これだけで初期化処理が実行されます。

import com.google.firebase.analytics.FirebaseAnalytics;

public class MainActivity extends AppCompatActivity {

    private final MainActivity self = this;
    private FirebaseAnalytics mAnalytics;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mAnalytics = FirebaseAnalytics.getInstance(self);
    }
    
}

Firebase Analytics は Android Studio 2.2 以前のバージョンの Instant Run と互換性がないため、正常に動作しないようです。Android Studio 2.2 Preview を利用するか、Instant Run を無効にする必要があるのでご注意ください。

Firebase Console を使用した測定や分析

上記のようなモバイルアプリを起動すると、Firebase Analytics に利用状況が送信されます。

firebase-analytics

アナリティクス データを収集する準備ができました。SDK を組み込んでから、24 時間以内に最初のレポートが表示されます。

ということなので、気長に待ちましょう。筆者が試した時には数時間後にユーザー数が見れるようになりました(Android はまだ届いてない、、)。この辺りは Google アナリティクスと同様ですね。

まとめ

Firebase Analytics の導入方法についてまとめました。これから Google アナリティクスから移行する方も多いと思いますので、ぜひ参考にしてください!

参考