Firebase を Apple プロジェクトに追加する

前提条件

  • 以下をインストールします。

    • Xcode 15.2 以降
  • プロジェクトが次の要件を満たしていることを確認します。

    • 以下のバージョンまたはそれ以降のプラットフォームをターゲットにしている必要があります。
      • iOS 13
      • macOS 10.15
      • tvOS 13
      • watchOS 7
  • アプリを実行するための物理的な Apple デバイスを設定するか、またはシミュレータを使用します。

Xcode プロジェクトがない場合、Firebase プロダクトを試してみるだけであれば、クイックスタート サンプルをダウンロードしてお使いいただけます。

ステップ 1: Firebase プロジェクトを作成する

Apple アプリに Firebase を追加する前に、アプリに接続するための Firebase プロジェクトを作成します。Firebase プロジェクトの詳細については、Firebase プロジェクトについて理解するをご覧ください。

ステップ 2: アプリを Firebase に登録する

Apple アプリで Firebase を使用するには、アプリを Firebase プロジェクトに登録する必要があります。アプリの登録は、プロジェクトへのアプリの「追加」とも呼ばれます。

  1. Firebaseコンソールに移動します。

  2. プロジェクトの概要ページの中央にある iOS+ アイコンをクリックして、設定ワークフローを起動します。

    すでに Firebase プロジェクトにアプリを追加している場合は、[アプリを追加] をクリックするとプラットフォームのオプションが表示されます。

  3. アプリのバンドル ID を [Apple バンドル ID] フィールドに入力します。

  4. (省略可)その他のアプリ情報(アプリのニックネームApp Store ID)を入力します。

  5. [アプリを登録] をクリックします。

ステップ 3: Firebase 構成ファイルを追加する

  1. [GoogleService-Info.plist をダウンロード] をクリックして、Firebase Apple プラットフォーム構成ファイル(GoogleService-Info.plist)を取得します。

  2. 構成ファイルを Xcode プロジェクトのルートに移動します。メッセージが表示されたら、構成ファイルをすべてのターゲットに追加するオプションを選択します。

プロジェクトに複数のバンドル ID がある場合は、Firebase コンソールで各バンドル ID を登録済みアプリに関連付けて、各アプリで固有の GoogleService-Info.plist ファイルを使用できるようにする必要があります。

ステップ 4: アプリに Firebase SDK を追加する

Swift Package Manager を使用して Firebase の依存関係のインストールと管理を行います。

  1. Xcode でアプリのプロジェクトを開いたまま、[File] > [Add Packages] の順に移動します。
  2. プロンプトが表示されたら、Firebase Apple プラットフォーム SDK リポジトリを追加します。
  3.   https://github.com/firebase/firebase-ios-sdk
  4. 使用する SDK のバージョンを選択します。
  5. 使用する Firebase ライブラリを選択します。

    Firebase プロジェクトで Google Analytics が有効になっている場合は、必ず FirebaseAnalytics を追加してください。アナリティクスに IDFA 収集機能がない場合は、代わりに FirebaseAnalyticsWithoutAdId を追加してください。

上記の作業が完了すると、Xcode は依存関係の解決とバックグラウンドでのダウンロードを自動的に開始します。

ステップ 5: アプリで Firebase を初期化する

最後に、アプリケーションに初期化コードを追加します。この手順は、アプリに Firebase を追加するときにすでに完了している可能性があります。クイックスタートのサンプル プロジェクトを使用した場合は自動で完了しています。

  1. UIApplicationDelegateFirebaseCore モジュールと、アプリのデリゲートが使用する他の Firebase モジュールをインポートします。たとえば、Cloud FirestoreAuthentication を使用するには、次のように指定します。

    SwiftUI

    import SwiftUI
    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    Swift

    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    Objective-C

    @import FirebaseCore;
    @import FirebaseFirestore;
    @import FirebaseAuth;
    // ...
          
  2. アプリ デリゲートの application(_:didFinishLaunchingWithOptions:) メソッドで、FirebaseApp 共有インスタンスを構成します。

    SwiftUI

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

    Swift

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

    Objective-C

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. SwiftUI を使用している場合は、アプリケーション デリゲートを作成し、UIApplicationDelegateAdaptor または NSApplicationDelegateAdaptor を介して App 構造体に接続する必要があります。また、アプリ デリゲートのメソッドの実装入れ替えを無効にする必要があります。詳細については、SwiftUI の手順をご覧ください。

    SwiftUI

    @main
    struct YourApp: App {
      // register app delegate for Firebase setup
      @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate
    
      var body: some Scene {
        WindowGroup {
          NavigationView {
            ContentView()
          }
        }
      }
    }
          
  4. Google Analytics 用の Firebase SDK を追加した場合は、アプリを実行して、Firebase のインストールに成功したという確認内容を Firebase コンソールに送信できます。

これで、状況に応じて次の手順に進んでください。

設定の際に問題が発生した場合は、Apple プラットフォームのトラブルシューティングとよくある質問をご覧ください。

使用可能なライブラリ

このセクションでは、Apple プラットフォームでサポートされている Firebase プロダクトを一覧表示しています。Firebase Apple プラットフォーム ライブラリの詳細については、以下をご覧ください。

サービスまたはプロダクト Pod SwiftPM ライブラリ Google Analytics.">Add Analytics?
AdMob pod 'Google-Mobile-Ads-SDK' なし
Analytics pod 'FirebaseAnalytics' FirebaseAnalytics
App Check pod 'FirebaseAppCheck' FirebaseAppCheck
App Distribution pod 'FirebaseAppDistribution' FirebaseAppDistribution
Authentication pod 'FirebaseAuth' FirebaseAuth
Cloud Firestore pod 'FirebaseFirestore' FirebaseFirestore
Cloud Functions for Firebase Client SDK pod 'FirebaseFunctions' FirebaseFunctions
Cloud Messaging pod 'FirebaseMessaging' FirebaseMessaging
Cloud Storage pod 'FirebaseStorage' FirebaseStorage
Crashlytics pod 'FirebaseCrashlytics' FirebaseCrashlytics
Dynamic Links pod 'FirebaseDynamicLinks' FirebaseDynamicLinks
In-App Messaging pod 'FirebaseInAppMessaging' FirebaseInAppMessaging
(必須)
Firebaseインストール pod 'FirebaseInstallations' FirebaseInstallations
Firebase ML Custom Model API pod 'FirebaseMLModelDownloader' FirebaseMLModelDownloader
Performance Monitoring pod 'FirebasePerformance' FirebasePerformance
Realtime Database pod 'FirebaseDatabase' FirebaseDatabase
Remote Config pod 'FirebaseRemoteConfig' FirebaseRemoteConfig
Vertex AI in Firebase pod 'FirebaseVertexAI' FirebaseVertexAI

Swift Package Manager を使用せずに統合する

Swift Package Manager を使用しない場合でも、CocoaPods を使用するか、フレームワークを直接インポートすることで、Firebase SDK を利用できます。

CocoaPods

CocoaPods 統合の詳細については、こちらのガイドをご覧ください。

フレームワーク

iOS プラットフォームのサポートに加えて、zip には .xcframework ファイルが含まれるようになりました。詳しくは、GitHub の Firebase Apple プラットフォーム SDK の README をご覧ください。

  1. framework SDK zip をダウンロードします。このファイルのサイズは約 200 MB で、ダウンロードに時間がかかる場合があります。

  2. ファイルを解凍し、アプリに含めるフレームワークを統合します。

    統合の手順は次のいずれかの場所でご確認いただけます。

    フレームワークのバージョンまたは依存関係については、ダウンロードした zip ディストリビューション内の METADATA.md ファイルをご覧ください。

  3. ターゲットのビルド設定で Other Linker Settings-ObjC リンカーフラグを追加します。

次のステップ

以下で Firebase の詳細を確認します。

Firebase サービスをアプリに追加します。

  • Analytics でユーザー行動を把握する。

  • Authentication を使用してユーザー認証を設定する。

  • Cloud Firestore または Realtime Database にユーザー情報などのデータを保存する。

  • Cloud Storage に写真や動画などのファイルを保存する。

  • Cloud Functions を使用した安全な環境でバックエンド コードをトリガーする。

  • Cloud Messaging を使用して通知を送信する。

  • Crashlytics を使用して、アプリがクラッシュする場所と理由を確認する。