Firebase (iOS) : Analyticsを試す

広告:超オススメUnity Asset
  広告:超オススメUnity Asset

Firebaseを利用すると標準機能としてAnalyticsが利用可能です。また、Firebaseを利用する前までは 、利用状況をトラッキングするのに Google Analytics SDK for iOS を組み込んでいましたが、もうその必要もなさそうです。

アプリ内のコードのいろいろな箇所に自由にトリガーを組み込んでおくことで、あらゆる動作を「イベント」として記録・調査できます。ここではAnalyticsのトリガーとなるものをどんな感じで組み込むのかという基本部分をMEMOしておきます。

00

イベントを送信するコードの配置

イベントを発生させるコードは、プログラム内のいろいろな箇所に配置できます。import Firebase しつつ、

FIRAnalytics.logEvent(withName: "hogehoge", parameters: nil)

 と書いておくだけです。hogehogeの文字列部分にイベント名を書いておきます。その名の通り、FirebaseのAnalyticsにイベントがログされます。コンソールであらかじめ定義しておく必要はなく、コード側で自由にイベント名を定義しておけます。しかし、これはカスタムなイベント名でもログできるというぐらいで、

にあるイベント名が推奨されているようですので、まず自分が実装したいイベントに近いものがここにあるかどうかを確認しておくといいと思います。推奨されているイベント名は、「kFIREventLogin」のように定義されているので、「kfirevent」と入力してコードヒントに現れるものの中から選ぶといいでしょう。

03

ログされたイベントは、しばらく経つとFirebaseのコンソール画面で確認することができます(はっきりと確認していませんが、夜中の0時にその日の分がアップデートされるような気がします)。ここで注意すべき点として、ログされたイベントは、後から修正できません。削除することもできません(というか修正・削除するやり方がわかりません。。)なのでカスタムなイベント名を付ける場合、そのフォーマットは最初から慎重に考えてコードの各所に配置すべしです。

僕も最初はカスタムなイベント名をつけていろいろやっていたのですが、下のような形でコンテンツ選択を振り分ければ、おおよその状況をカバーできそうな気がしますね。(Content Typeをカスタムな文字列にして、Item IDを変数から取得しているような例です。)

FIRAnalytics.logEvent(withName: kFIREventSelectContent, parameters: [
    kFIRParameterContentType:"open_quiz" as NSObject,
    kFIRParameterItemID:num as NSObject
    ])

コンソールで状況確認

上記のコードでイベントを送信したデータは、コンソール上に細かくレポートされます。マイレポート一覧では、アクティブユーザ数など基本的な状況がわかりやすく表示されています。イベントタブを選ぶと上記で設定したようなカスタムなイベントのレポートを表示できます。また、ユーザータブでは、特別なイベントを発生させたユーザのみを分析したりといったことも可能です。

01

02

A/Bテスティングについて

Analytics機能を使えば、どのくらいのユーザが自分のアプリを利用しているのか、とか、どういった機能がよく使われているのか、といった事を分析するのに役立ちますね。Remote Configと組み合わせることでA/Bテスティング的な調査も可能になるかもしれません。A/Bテスティングのサービスを調べていた時に、数ある中から機能的には、OptimizelyLeanplumが良さそうだ、というところまでは行ったのですが、最終的にコスト面でそっと身を引きました。低コストに抑えながら自由度を高めるには、FirebaseのRemote ConfigとAnalyticsで仕掛けを組み込むのもありかもです。(A/Bテスティングを行う前提の作りにしておく必要がありそうですが)