iOS でのインストールと設定

Firebase Realtime Database はクラウドホスト型データベースです。データは JSON として保存され、接続されているすべてのクライアントとリアルタイムに同期されます。Android、iOS、JavaScript SDK を使用してクロスプラットフォーム アプリを構築すると、すべてのクライアントによって 1 つの Realtime Database インスタンスが共有され、最新のデータによる更新が自動的に受信されます。

前提条件

  1. Firebase SDK をインストールします。
  2. Firebase コンソールでアプリを Firebase プロジェクトに追加します。

データベースを作成する

  1. まだ Firebase プロジェクトを作成していない場合は作成します。Firebase コンソールで [プロジェクトを追加] をクリックし、画面の指示に沿って、Firebase プロジェクトを作成するか、既存の GCP プロジェクトに Firebase サービスを追加します。

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

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

    テストモード

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

    ウェブ、iOS、Android SDK を使用する場合は、テストモードを選択します。

    ロックモード

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

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

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

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

  1. Firebase Realtime Database の依存関係をプロジェクトの Podfile に追加します。

    pod 'Firebase/Database'
    
  2. pod install を実行し、作成された .xcworkspace ファイルを開きます。

Realtime Database のルールを構成する

Realtime Database には宣言型のルール言語が用意されているため、データの構造化方法、インデックスの作成方法、データの書き込みと読み取りのタイミングを定義できます。認証ユーザーのみがデータの読み取りと書き込みができるように、データベースへの読み書きアクセスはデフォルトでは制限されています。Authentication を設定せずに開始するには、公開アクセスルールを構成します。この場合、アプリを使用しない人を含むあらゆる人々にデータベースが公開されるため、認証の設定時には、データベースのアクセスを必ず制限してください。

Firebase Realtime Database を設定する

Firebase アプリの参照を作成または使用する前に、Firebase を初期化する必要があります。他の Firebase 機能ですでに初期化を行っている場合は、この手順をスキップできます。

  1. Firebase モジュールを UIApplicationDelegate にインポートします。

    Swift

    import Firebase

    Objective-C

    @import Firebase;
  2. FirebaseApp 共有インスタンスを構成します。通常はアプリの application:didFinishLaunchingWithOptions: メソッドで行います。

    Swift

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

    Objective-C

    // Use Firebase library to configure APIs
    [FIRApp configure];

Firebase Realtime Database を初期化したら、次のようにデータベースへの参照を定義し、作成します。

Swift

var ref: DatabaseReference!

ref = Database.database().reference()

Objective-C

@property (strong, nonatomic) FIRDatabaseReference *ref;

self.ref = [[FIRDatabase database] reference];

次のステップ