前提条件
以下をインストールします。
- Xcode 15.2 以降
プロジェクトが次の要件を満たしていることを確認します。
- 以下のバージョンまたはそれ以降のプラットフォームをターゲットにしている必要があります。
- iOS 13
- macOS 10.15
- tvOS 13
- watchOS 7
- 以下のバージョンまたはそれ以降のプラットフォームをターゲットにしている必要があります。
アプリを実行するための物理的な Apple デバイスを設定するか、またはシミュレータを使用します。
Cloud Messaging を使用しますか?
Apple プラットフォームで Cloud Messaging を使用する場合の前提条件は次のとおりです。
- 物理的な Apple デバイスを設定します。
- Apple Developer アカウントの Apple Push Notification Authentication Key を取得します。
- プッシュ通知を XCode の [App] > [Capabilities] で有効にします。
- Google アカウントを使用して Firebase にログインします。
Xcode プロジェクトがない場合、Firebase プロダクトを試してみるだけであれば、クイックスタート サンプルをダウンロードしてお使いいただけます。
ステップ 1: Firebase プロジェクトを作成する
Apple アプリに Firebase を追加する前に、アプリに接続するための Firebase プロジェクトを作成します。Firebase プロジェクトの詳細については、Firebase プロジェクトについて理解するをご覧ください。
Firebase プロジェクトを作成する
-
Firebase コンソールで [プロジェクトを追加] をクリックします。
-
Firebase リソースを既存の Google Cloud プロジェクトに追加するには、そのプロジェクト名を入力するか、プルダウン メニューから選択します。
-
新しいプロジェクトを作成するには、任意のプロジェクト名を入力します。必要に応じて、プロジェクト名の下に表示されるプロジェクト ID を編集することもできます。
-
-
Firebase の利用規約が表示されたら、内容を読み、同意します。
-
[続行] をクリックします。
-
(省略可)プロジェクトに対し Google Analyticsを設定します。これにより、次の Firebase プロダクトを使用する際のエクスペリエンスを最適化できます。
既存の Google Analytics アカウントを選択するか、新しいアカウントを作成します。
新しいアカウントを作成する場合は、Analytics レポートのロケーションを選択し、プロジェクトのデータ共有設定と Google Analyticsの規約に同意します。
-
[プロジェクトを作成](既存の Google Cloud プロジェクトを使用する場合は [Firebase を追加])をクリックします。
Firebase プロジェクトのリソースが自動的にプロビジョニングされます。処理が完了すると、Firebase コンソールに Firebase プロジェクトの概要ページが表示されます。
ステップ 2: アプリを Firebase に登録する
Apple アプリで Firebase を使用するには、アプリを Firebase プロジェクトに登録する必要があります。アプリの登録は、プロジェクトへのアプリの「追加」とも呼ばれます。
Firebaseコンソールに移動します。
プロジェクトの概要ページの中央にある iOS+ アイコンをクリックして、設定ワークフローを起動します。
すでに Firebase プロジェクトにアプリを追加している場合は、[アプリを追加] をクリックするとプラットフォームのオプションが表示されます。
アプリのバンドル ID を [Apple バンドル ID] フィールドに入力します。
バンドル ID とは何ですか?どこで確認できますか?
バンドル ID は、Apple のエコシステム内でアプリケーションを一意に識別するものです。
バンドル ID を確認する: Xcode でプロジェクトを開き、プロジェクト ナビゲータで最上位のアプリを選択し、[General] タブを選択します。
[Bundle Identifier] フィールドの値がバンドル ID です(例:
com.yourcompany.yourproject
)。バンドル ID の値は大文字と小文字が区別されます。Firebase プロジェクトに登録すると、該当の Firebase アプリのバンドル ID は変更できなくなることに注意してください。
(省略可)その他のアプリ情報(アプリのニックネームと App Store ID)を入力します。
Firebase 内でアプリのニックネームと App Store ID はどのように使用されますか?
アプリのニックネーム: 内部用の簡易的な ID であり、Firebase コンソールでのみ表示されます。
App Store ID: Firebase Dynamic Links ではユーザーを App Store ページにリダイレクトするために使用され、Google Analytics ではコンバージョン イベントを Google Ads にインポートするために使用されます。まだアプリに App Store ID が割り当てられていない場合は、後でプロジェクトの設定で ID を追加できます。
[アプリを登録] をクリックします。
ステップ 3: Firebase 構成ファイルを追加する
[GoogleService-Info.plist をダウンロード] をクリックして、Firebase Apple プラットフォーム構成ファイル(
GoogleService-Info.plist
)を取得します。この構成ファイルについて知っておくべきことは何ですか?
Firebase 構成ファイルには、プロジェクト用の機密ではない一意の識別子が含まれています。この構成ファイルの詳細については、Firebase プロジェクトについて理解するをご覧ください。
Firebase 構成ファイルはいつでも再ダウンロードできます。
構成ファイル名に
(2)
などの文字が追加されていないことを確認します。
構成ファイルを Xcode プロジェクトのルートに移動します。メッセージが表示されたら、構成ファイルをすべてのターゲットに追加するオプションを選択します。
プロジェクトに複数のバンドル ID がある場合は、Firebase コンソールで各バンドル ID を登録済みアプリに関連付けて、各アプリで固有の GoogleService-Info.plist
ファイルを使用できるようにする必要があります。
ステップ 4: アプリに Firebase SDK を追加する
Swift Package Manager を使用して Firebase の依存関係のインストールと管理を行います。
- Xcode でアプリのプロジェクトを開いたまま、[File] > [Add Packages] の順に移動します。
- プロンプトが表示されたら、Firebase Apple プラットフォーム SDK リポジトリを追加します。
- 使用する SDK のバージョンを選択します。
使用する Firebase ライブラリを選択します。
Firebase プロジェクトで Google Analytics が有効になっている場合は、必ず
FirebaseAnalytics
を追加してください。アナリティクスに IDFA 収集機能がない場合は、代わりにFirebaseAnalyticsWithoutAdId
を追加してください。
https://github.com/firebase/firebase-ios-sdk
上記の作業が完了すると、Xcode は依存関係の解決とバックグラウンドでのダウンロードを自動的に開始します。
ステップ 5: アプリで Firebase を初期化する
最後に、アプリケーションに初期化コードを追加します。この手順は、アプリに Firebase を追加するときにすでに完了している可能性があります。クイックスタートのサンプル プロジェクトを使用した場合は自動で完了しています。
UIApplicationDelegate
にFirebaseCore
モジュールと、アプリのデリゲートが使用する他の Firebase モジュールをインポートします。たとえば、Cloud Firestore、Authentication を使用するには、次のように指定します。import SwiftUI import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
@import FirebaseCore; @import FirebaseFirestore; @import FirebaseAuth; // ...
- アプリ デリゲートの
application(_:didFinishLaunchingWithOptions:)
メソッドで、FirebaseApp
共有インスタンスを構成します。// Use Firebase library to configure APIs FirebaseApp.configure()
// Use Firebase library to configure APIs FirebaseApp.configure()
// Use Firebase library to configure APIs [FIRApp configure];
- SwiftUI を使用している場合は、アプリケーション デリゲートを作成し、
UIApplicationDelegateAdaptor
またはNSApplicationDelegateAdaptor
を介してApp
構造体に接続する必要があります。また、アプリ デリゲートのメソッドの実装入れ替えを無効にする必要があります。詳細については、SwiftUI の手順をご覧ください。@main struct YourApp: App { // register app delegate for Firebase setup @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate var body: some Scene { WindowGroup { NavigationView { ContentView() } } } }
- Google Analytics 用の Firebase SDK を追加した場合は、アプリを実行して、Firebase のインストールに成功したという確認内容を Firebase コンソールに送信できます。
これで、状況に応じて次の手順に進んでください。
設定の際に問題が発生した場合は、Apple プラットフォームのトラブルシューティングとよくある質問をご覧ください。
使用可能なライブラリ
このセクションでは、Apple プラットフォームでサポートされている Firebase プロダクトを一覧表示しています。Firebase Apple プラットフォーム ライブラリの詳細については、以下をご覧ください。
Firebase Apple プラットフォーム SDK の GitHub リポジトリ
サービスまたはプロダクト | 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 をご覧ください。
framework SDK zip をダウンロードします。このファイルのサイズは約 200 MB で、ダウンロードに時間がかかる場合があります。
ファイルを解凍し、アプリに含めるフレームワークを統合します。
統合の手順は次のいずれかの場所でご確認いただけます。
- Firebase iOS SDK GitHub リポジトリ。
- ダウンロードした zip ディストリビューション内の
README.md
ファイル。
フレームワークのバージョンまたは依存関係については、ダウンロードした zip ディストリビューション内の
METADATA.md
ファイルをご覧ください。ターゲットのビルド設定で
Other Linker Settings
に-ObjC
リンカーフラグを追加します。
次のステップ
以下で Firebase の詳細を確認します。
Firebase プロジェクトとプロジェクトに関するベスト プラクティスについては、Firebase プロジェクトについて理解するをご覧ください。
Firebase アプリのサンプルを確認する。
Firebase iOS Codelab を使用して実際に体験する。
GitHub のオープンソース コードを調べる。
アプリを起動する準備をする。
- Google Cloud コンソールでプロジェクトの予算アラートを設定する。
- Firebase コンソールの [使用量と請求額] ダッシュボードをモニタリングして、複数の Firebase サービスを通じたプロジェクトの全体的な使用状況を確認する。
- Firebase リリース チェックリストを確認する。
Firebase や Apple プロジェクトでお困りの場合は、Apple プラットフォームのトラブルシューティングとよくある質問をご覧ください。
Firebase サービスをアプリに追加します。
Analytics でユーザー行動を把握する。
Authentication を使用してユーザー認証を設定する。
Cloud Firestore または Realtime Database にユーザー情報などのデータを保存する。
Cloud Storage に写真や動画などのファイルを保存する。
Cloud Functions を使用した安全な環境でバックエンド コードをトリガーする。
Cloud Messaging を使用して通知を送信する。
Crashlytics を使用して、アプリがクラッシュする場所と理由を確認する。