Firebase Realtime Database は、クラウドでホストされるデータベースです。データは JSON として保存され、接続されているすべてのクライアントにリアルタイムで同期されます。 Android、iOS、JavaScript SDK を使用してクロスプラットフォーム アプリを構築すると、すべてのクライアントが 1 つの Realtime Database インスタンスを共有し、最新データの更新を自動的に受け取ります。
Firebase Realtime Database は、iOS、macOS、macOS Catalyst、tvOS、watchOS など、すべての Apple プラットフォームで利用できます。アプリ クリップでは使用できません。このページのセットアップ手順は、特定の例で iOS を参照していますが、一般的なものであり、あらゆる Apple プラットフォーム ターゲットで機能します。
前提条件
- Firebase SDK をインストールします。
- Firebase コンソールでアプリを Firebase プロジェクトに追加します。
データベースを作成する
Firebase コンソールのRealtime Databaseセクションに移動します。既存の Firebase プロジェクトを選択するよう求められます。データベース作成ワークフローに従います。
Firebase セキュリティ ルールの開始モードを選択します。
- テストモード
モバイルおよび Web クライアント ライブラリの使用を開始するのに適していますが、誰でもデータの読み取りと上書きを行うことができます。テスト後、 「Firebase Realtime Database ルールを理解する」セクションを必ず確認してください。
Web、Apple、または Android SDK を開始するには、testmode を選択します。
- ロックモード
モバイルおよび Web クライアントからの読み取りと書き込みをすべて拒否します。認証されたアプリケーション サーバーは引き続きデータベースにアクセスできます。
データベースの場所を選択します。
データベースの場所に応じて、新しいデータベースの URL は次のいずれかの形式になります。
DATABASE_NAME .firebaseio.com
(us-central1
のデータベース用)DATABASE_NAME . REGION .firebasedatabase.app
(他のすべての場所のデータベース用)
[完了]をクリックします。
Realtime Database を有効にすると、 Cloud API Managerの API も有効になります。
アプリに Firebase Realtime Database を追加する
Swift Package Manager を使用して、Firebase の依存関係をインストールおよび管理します。
- Xcode で、アプリ プロジェクトを開いた状態で、 File > Add Packagesに移動します。
- プロンプトが表示されたら、Firebase Apple プラットフォーム SDK リポジトリを追加します。
- Realtime Database ライブラリを選択します。
- 完了すると、Xcode はバックグラウンドで依存関係の解決とダウンロードを自動的に開始します。
https://github.com/firebase/firebase-ios-sdk
Realtime Database ルールの構成
Realtime Database は、データの構造化方法、インデックスの作成方法、およびデータの読み取りと書き込みを行うタイミングを定義できる宣言型ルール言語を提供します。
Firebase Realtime Database をセットアップする
Firebase アプリ参照を作成または使用する前に、Firebase を初期化する必要があります。別の Firebase 機能で既にこれを行っている場合は、この手順を省略できます。
-
UIApplicationDelegate
にFirebaseCore
モジュールをインポートし、アプリ デリゲートが使用する他のすべてのFirebase モジュールをインポートします。たとえば、Cloud Firestore と認証を使用するには:SwiftUI
import SwiftUI import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
迅速
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()
迅速
// 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() } } } }
- データベースへの参照を作成し、書き込み先の場所を指定します。
迅速
注:この Firebase 製品は、App Clip ターゲットでは使用できません。var ref: DatabaseReference! ref = Database.database().reference()
Objective-C
注:この Firebase 製品は、App Clip ターゲットでは使用できません。@property (strong, nonatomic) FIRDatabaseReference *ref; self.ref = [[FIRDatabase database] reference];
次のステップ
Realtime Database のデータを構造化する方法を学びます。
アプリを起動する準備をします。
App Checkを有効にして、アプリのみがデータベースにアクセスできるようにします。
Google Cloud Console でプロジェクトの予算アラートを設定します。
Firebase コンソールで使用状況と請求のダッシュボードを監視して、複数の Firebase サービスにわたるプロジェクトの使用状況の全体像を把握します。より詳細な使用状況については、リアルタイム データベースの使用状況ダッシュボードにアクセスすることもできます。
Firebase の起動チェックリストを確認します。