SwiftアプリにFirebase Analyticsを導入

Firebaseダッシュボードでプロジェクトの登録

FirebaseにログインしてサイドバーのAnalyticsもしくは分析の箇所からプロジェクトの作成を行う

Swiftアプリに設定ファイルの紐づけを行う

Firebaseの連携フローに従ってGoogleService-Info.plistをダウンロードする。

すべてのターゲットにと記載があるが、Testターゲットへの追加は行わなかった。Info.plistと同じ階層に配置でOK。

Firebase SDKの追加

依存関係を追加したあとにPackage Productを選ぶ際にはFirebaseAnalyticsを選択した。

初期化コードの追加

AppDeligate.swiftを以下のように挙動を定義して

import SwiftUI
import FirebaseCore


class AppDelegate: NSObject, UIApplicationDelegate {
  func application(_ application: UIApplication,
                   didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
    FirebaseApp.configure()

    return true
  }
}

HogeApp.swiftで以下のように初期化を行う

@main
struct HogeApp: App {
    // register app delegate for Firebase setup
    @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate

...


Firebase Analytics Debug Viewでアナリティクスを確認する

設定したSDKが正常に機能していることを確認するために、FirebaseのDebug Viewを使用する。

Xcodeの上部からEdit Schemeを選択する。

Run > Argumentsに-FIRDebugEnabledを渡すことでデバッグモードを有効化することができる。

ref. https://firebase.google.com/docs/analytics/debugview?hl=ja

これだけだとDebugViewでもイベントを観測することはできず、起動時に適当なeventを送信すると関連するイベントも表示されるようになった。

import FirebaseAnalytics

...

    Analytics.logEvent("app_launch", parameters: [
      "source": "cold_start"  // add whatever labels help you debug
    ])


イベントが送信されている様子

Related Articles