Realtime Database を使ってみる

前提条件

  1. firebase_core をインストールし、初期化コードをアプリに追加します(まだ行っていない場合)。
  2. Firebase コンソールでアプリを Firebase プロジェクトに追加します。

データベースを作成する

  1. Firebase コンソールの [Realtime Database] セクションに移動します。既存の Firebase プロジェクトを選択するよう求められます。データベース作成ワークフローに従います。

  2. セキュリティ ルールの開始モードを選択します。

    テストモード

    モバイルおよびウェブ クライアント ライブラリを使用する場合に適していますが、すべてのユーザーがデータを読み取り、上書きできます。テストが終わったら、Firebase Realtime Database ルールについてを確認してください。

    開始するには、テストモードを選択します。

    ロックモード

    モバイルおよびウェブ クライアントからのすべての読み書きを拒否します。認証されたアプリケーション サーバーは引き続きデータベースにアクセスできます。

  3. データベースのリージョンを選択します。選択したリージョンに応じて、データベースの名前空間は <databaseName>.firebaseio.com または <databaseName>.<region>.firebasedatabase.app という形式になります。詳しくは、プロジェクトのロケーションを選択するをご覧ください。

  4. [完了] をクリックします。

Realtime Database を有効にすると、Cloud API Manager で API も有効になります。

アプリに Firebase Realtime Database を追加する

  1. Flutter プロジェクトのルートから、次のコマンドを実行してプラグインをインストールします。

    flutter pub add firebase_database
    
  2. 完了したら、Flutter アプリケーションを再ビルドします。

    flutter run
    

データベース ルールを構成する

Realtime Database には宣言型のルール言語が用意されているため、データの構造化方法、インデックスの作成方法、データの書き込みと読み取りのタイミングを定義できます。

Firebase Realtime Database パッケージを初期化する

プロジェクト内で Realtime Database パッケージの使用を開始するには、プロジェクト ファイルの先頭でインポートします。

import 'package:firebase_database/firebase_database.dart';

デフォルトの Database インスタンスを使用するには、FirebaseDatabaseinstance ゲッターを呼び出します。

FirebaseDatabase database = FirebaseDatabase.instance;

セカンダリ Firebase アプリで使用する場合は、静的な instanceFor メソッドを使用します。

FirebaseApp secondaryApp = Firebase.app('SecondaryApp');
FirebaseDatabase database = FirebaseDatabase.instanceFor(app: secondaryApp);

同じプロジェクトで別の RTDB インスタンスを使用する場合は、静的な instanceFor メソッドを使用して databaseUrl でインスタンスを渡すことができます。

final firebaseApp = Firebase.app();
final rtdb = FirebaseDatabase.instanceFor(app: firebaseApp, databaseURL: 'https://your-realtime-database-url.firebaseio.com/');

次のステップ