前提条件
以下をインストールします。
- Xcode 14.1 以降
プロジェクトが次の要件を満たしていることを確認します。
- 以下のバージョンまたはそれ以降のプラットフォームをターゲットにしている必要があります。
- iOS 11
- macOS 10.13
- tvOS 12
- watchOS 6
- 以下のバージョンまたはそれ以降のプラットフォームをターゲットにしている必要があります。
アプリを実行するための物理的な Apple デバイスを設定するか、またはシミュレータを使用します。
- Google アカウントを使用して Firebase にログインします。
Xcode プロジェクトがない場合、Firebase プロダクトを試してみるだけであれば、クイックスタート サンプルをダウンロードしてお使いいただけます。
ステップ 1: Firebase プロジェクトを作成する
Apple アプリに Firebase を追加する前に、アプリに接続するための Firebase プロジェクトを作成します。Firebase プロジェクトの詳細については、Firebase プロジェクトについて理解するをご覧ください。
ステップ 2: アプリを Firebase に登録する
Apple アプリで Firebase を使用するには、アプリを Firebase プロジェクトに登録する必要があります。アプリの登録は、プロジェクトへのアプリの「追加」とも呼ばれます。
Firebase コンソールに移動します。
プロジェクトの概要ページの中央にある iOS+ アイコンをクリックして、設定ワークフローを起動します。
すでに Firebase プロジェクトにアプリを追加している場合は、[アプリを追加] をクリックするとプラットフォームのオプションが表示されます。
アプリのバンドル ID を [Apple バンドル ID] フィールドに入力します。
(省略可)その他のアプリ情報(アプリのニックネームと App Store ID)を入力します。
[アプリを登録] をクリックします。
ステップ 3: Firebase 構成ファイルを追加する
[GoogleService-Info.plist をダウンロード] をクリックして、Firebase Apple プラットフォーム構成ファイル(
GoogleService-Info.plist
)を取得します。構成ファイルを 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 アナリティクスが有効になっている場合は、必ず
FirebaseAnalytics
を追加してください。アナリティクスに IDFA 収集機能がない場合は、代わりにFirebaseAnalyticsWithoutAdId
を追加してください。
https://github.com/firebase/firebase-ios-sdk
上記の作業が完了すると、Xcode は依存関係の解決とバックグラウンドでのダウンロードを自動的に開始します。
ステップ 5: アプリで Firebase を初期化する
最後に、アプリケーションに初期化コードを追加します。この手順は、アプリに Firebase を追加するときにすでに完了している可能性があります。クイックスタートのサンプル プロジェクトを使用した場合は自動で完了しています。
UIApplicationDelegate
にFirebaseCore
モジュールと、アプリのデリゲートが使用する他の Firebase モジュールをインポートします。たとえば、Cloud Firestore と Authentication を使用するには、次のようにします。SwiftUI
import SwiftUI import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
Swift
import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
Objective-C
@import FirebaseCore; @import FirebaseFirestore; @import FirebaseAuth; // ...
- アプリ デリゲートの
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];
- 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() } } } }
- Google アナリティクス用の Firebase SDK を追加した場合は、アプリを実行して、Firebase のインストールに成功したという確認を Firebase コンソールに送信します。
設定は以上です。状況に応じて次の手順に進んでください。
設定の際に問題が発生した場合は、Apple プラットフォームのトラブルシューティングとよくある質問をご覧ください。
使用可能なライブラリ
このセクションでは、Apple プラットフォームでサポートされている Firebase プロダクトを一覧表示しています。Firebase Apple プラットフォーム ライブラリの詳細については、以下をご覧ください。
Firebase Apple プラットフォーム SDK の GitHub リポジトリ
サービスまたはプロダクト | Pod | SwiftPM ライブラリ | アナリティクスの追加 |
---|---|---|---|
AdMob | pod 'Google-Mobile-Ads-SDK' |
該当なし | |
アナリティクス | 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 カスタムモデル API | pod 'FirebaseMLModelDownloader' |
FirebaseMLModelDownloader |
|
Performance Monitoring | pod 'FirebasePerformance' |
FirebasePerformance |
|
Realtime Database | pod 'FirebaseDatabase' |
FirebaseDatabase |
|
Remote Config | pod 'FirebaseRemoteConfig' |
FirebaseRemoteConfig |
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 サービスをアプリに追加します。
アナリティクスでユーザー行動を把握する。
Authentication を使用してユーザー認証をセットアップする。
Cloud Firestore または Realtime Database にユーザー情報などのデータを保存する。
Cloud Storage に写真や動画などのファイルを保存する。
Cloud Functions を使用した安全な環境でバックエンド コードをトリガーする。
Cloud Messaging を使用して通知を送信する。
Crashlytics を使用して、アプリがクラッシュする場所と理由を確認する。