Firebase Analytics for iOS を使ってみる

Firebase Analytics はアプリの使用状況や動作に関するデータを収集します。SDK は、主に次の 2 種類の情報を記録します。

  • イベント: ユーザーの操作、システム イベント、エラーなど、アプリで起こっていること。
  • ユーザー プロパティ: 言語や地域など、ユーザー層を示す属性。自由に定義できます。

Analytics は一部のイベントユーザー プロパティに関するログを自動で記録します。実行用コードを記述する必要はありません。

事前準備

  1. Firebase を iOS プロジェクトに追加します
  2. (推奨)AdSupport フレームワークをプロジェクトに追加して、ユーザーリスト、キャンペーン アトリビューションなどの追加機能を有効にします。

アプリに Analytics を追加する

  1. podfile に Firebase の依存関係を追加します。
    pod 'Firebase/Core'
  2. pod install を実行して、作成した .xcworkspace ファイルを開きます。
  3. Firebase モジュールを UIApplicationDelegate サブクラスにインポートします。

    Objective-C

    @import Firebase;
    

    Swift

    import Firebase
    
  4. FIRApp 共有インスタンスを設定します。通常はアプリケーションの application:didFinishLaunchingWithOptions: メソッドを使用します。

    Objective-C

    // Use Firebase library to configure APIs
    [FIRApp configure];
    

    Swift

    // Use Firebase library to configure APIs
    FIRApp.configure()
    

イベントのログを記録する

FIRApp インスタンスを設定すると、logEventWithName() メソッドを使ってイベントを記録できるようになります。事前定義されたイベントとパラメータはヘッダー ファイルの FIREventNames.hFIRParameterNames.h で調べることができます。

次の例は、推奨イベントの kFIREventSelectContent を記録して、ユーザーがアプリで特定の要素をクリックしたかどうかどうかがわかるようにする方法を示したものです。

Objective-C

[FIRAnalytics logEventWithName:kFIREventSelectContent
                    parameters:@{
                                 kFIRParameterItemID:[NSString stringWithFormat:@"id-%@", self.title],
                                 kFIRParameterItemName:self.title,
                                 kFIRParameterContentType:@"image"
                                 }];

Swift

FIRAnalytics.logEvent(withName: kFIREventSelectContent, parameters: [
  kFIRParameterItemID: "id-\(title!)" as NSObject,
  kFIRParameterItemName: title! as NSObject,
  kFIRParameterContentType: "cont" as NSObject
  ])

Xcode デバッグ コンソールでイベントを表示するには、次のようにして Analytics デバッグを有効にします。

  1. Xcode で [Product]、[Scheme]、[Edit scheme] の順に選択します。
  2. 左側のメニューから [Run] を選択します。
  3. [Arguments] タブをクリックします。
  4. [Arguments Passed On Launch] セクションに -FIRAnalyticsDebugEnabled を追加します。

次のステップ

フィードバックを送信...