iOSアプリにFirebase Analyticsを導入する手順
本記事は開発者向けの内容です。SDKの導入やコードの実装など、アプリのソースコードを編集する作業を含みます。
記事内の手順やコードは実装の一例です。実際の導入は、ご自身のアプリの構成や開発環境に合わせて行ってください。本記事の内容を参考にした実装によって生じた不具合や損害について、当サイトは責任を負いかねます。
この記事では、iOSアプリにFirebase Analyticsを導入し、計測が正しく動いていることを確認するまでの手順を解説します。SDKの導入から始め、広告IDを取得するためのAdSupport Frameworkの追加、App Tracking Transparency(ATT)による許諾ダイアログの実装、Firebaseコンソールへの App Store ID の登録を行い、最後にDebugViewでイベントが届いているかを検証します。
SDKの導入
Firebaseの公式ドキュメントに沿って、アプリの登録からSDKの初期化までを行います。
Apple プラットフォーム(iOS)プロジェクトに Firebase を追加する(Firebase 公式ドキュメント)
- Firebaseコンソールでプロジェクトを作成し、iOSアプリを登録する
バンドルIDに加えて、App Store ID も入力します。Firebase 上は任意の項目ですが、Google 広告との連携などで必要になるため、本記事では必須としています。
[設定]→[全般]を開き、マイアプリの[iOS]からアプリを登録します。
バンドル ID と App Store ID を入力し、[アプリを登録]を押します。 - 設定ファイルをダウンロードする
表示される
GoogleService-Info.plistをダウンロードし、Xcode プロジェクトのルートに追加します。追加するときは、アプリのターゲットにチェックが入っていることを確認してください。
GoogleService-Info.plist をダウンロードして、Xcode プロジェクトのルートに追加します。 - Firebase SDK を追加する
Xcode の [File] → [Add Package Dependencies] を開き、
https://github.com/firebase/firebase-ios-sdkを入力します。ライブラリの一覧からFirebaseAnalyticsを選択して追加します。
Swift Package Manager でリポジトリ URL を入力し、FirebaseAnalytics を追加します。 - 初期化コードを追加する
アプリの起動時に
FirebaseApp.configure()を呼び出します。画面で、使っている構成(SwiftUI・Swift・Objective-C)を選ぶと、対応するコードが表示されます。
SwiftUI・Swift・Objective-C から、使っている構成のコードを選べます。 - [コンソールに進む] を押し、アプリが追加されていることを確認する
[設定] → [全般] の [マイアプリ] に、登録した iOS アプリが表示されていれば完了です。
[コンソールに進む]を押して、設定を完了します。
AdSupport Frameworkの追加
Firebase Analytics で広告ID(IDFA)を取得できるようにするため、AdSupport Framework を追加します。広告ID は Google 広告との連携や広告効果の測定に使われます。
フレームワークを追加する
- Xcode でプロジェクトのターゲットを選択する
- [General] タブを開く
- [Frameworks, Libraries, and Embedded Content] の [+] をクリックする
- [AdSupport.framework] を選択して追加する
一覧に AdSupport.framework が表示されていれば追加できています。
-ObjC リンカーフラグを追加する
- ターゲットの [Build Settings] タブを開き、表示を [All] にする
- 右上の検索欄に「Other Linker Flags」と入力する([Linking - General] 内に表示されます)
-ObjCを追加する
[All]を選び、[Linking - General]の Other Linker Flags に -ObjCが入っていることを確認します。
ATTの実装
iOS 14.5 以降、ユーザーのトラッキングや広告ID(IDFA)へのアクセスには、App Tracking Transparency(ATT)フレームワークを通じてユーザーの許可を得ることが Apple により求められています。実装は、Firebase の公式ドキュメントに沿って進めます。
iOS 14 のサポート(Firebase 公式ドキュメント)
App Store IDの登録
登録時に入力しなかった場合は、次の手順で後から登録してください。
- Firebase コンソールで対象のプロジェクトを開く
- 左メニューの [設定] → [全般] を開く
左メニューの[設定]から[全般]を選びます。 - [マイアプリ] で、対象の iOS アプリを選択する
[マイアプリ]で対象のアプリを選び、[App Store ID を追加]から入力します。 - [App Store ID] に ID を入力する
App Store ID は、App Store のアプリページの URL(apps.apple.com/…/id123456789)で、id に続く数字の部分です。
DebugViewで検証
最後に、イベントが Firebase に届いているかを DebugView で確認します。
- Xcode で [Product] → [Scheme] → [Edit Scheme] を開く
- [Run] → [Arguments] の [Arguments Passed On Launch] に
-FIRDebugEnabledを追加する - 実機またはシミュレーターでアプリを起動する
- Firebase コンソールの DebugView を開き、
first_openやsession_startなどのイベントが表示されることを確認する
DebugView に、アプリで発生したイベントが時系列で表示されます。 - 確認が終わったら、デバッグモードを無効にする
デバッグモードは、一度有効にすると明示的に無効にするまで端末に残ります。[Arguments Passed On Launch] で
-FIRDebugEnabledのチェックを外し、-FIRDebugDisabledを追加してチェックを入れた状態で、アプリを一度起動してください。
-FIRDebugDisabledにチェックを入れて起動すると、デバッグモードが無効になります。