サーバーに Firebase を追加する

事前準備

Firebase を追加する前に、次の準備をしてください。

  • Node.js SDK を使用する場合は、Node.js 0.10 以降を実行するサーバー。
  • Java SDK を使用する場合は、Java 7 以降を実行するサーバー。
  • サーバーアプリ。

アプリに Firebase を追加する

Firebase をアプリに追加するには、Firebase プロジェクト、Firebase サービスと通信するためのサービス アカウント、サービス アカウントの認証情報が設定された設定ファイルが必要です。

  1. Firebase プロジェクトをまだ用意していない場合は、Firebase console で Firebase プロジェクトを作成します。アプリと関連付けられた既存の Google プロジェクトがある場合は、[Google プロジェクトをインポート] をクリックします。それ以外の場合は、[新しいプロジェクトの作成] をクリックします。
  2. [設定] をクリックして [権限] を選択します。
  3. 左側にあるメニューから [サービス アカウント] を選択します。
  4. [サービス アカウントを作成] をクリックします。
    1. サービス アカウントの名前を入力します。必要に応じて、名前から自動的に生成された ID を基に、ID をカスタマイズできます。
    2. [新しい秘密鍵の提供] を選択し、[キーのタイプ] を [JSON] のままにします。
    3. [Google Apps のドメイン全体の委任を有効にする] はオフのままにします。
    4. [作成] をクリックします。

サービス アカウントを作成すると、サービス アカウントの認証情報が含まれる JSON ファイルがダウンロードされます。 この認証情報は、次のステップで SDK の初期化に必要です。

SDK を追加する

新しいプロジェクトを設定する場合は、選択した言語の SDK をインストールする必要があります。

Node.js

コマンドラインで npm を使用して Firebase Node.js モジュールをインストールできます。

$ npm install firebase --save

アプリケーションで Firebase Node.js モジュールを使用するには、require で Firebase モジュールを要求します。

var firebase = require("firebase");

Java

Firebase Java SDK を Maven 中央レポジトリに公開します。ライブラリをインストールするには、build.gradle ファイルで依存関係として宣言します。

dependencies {
  compile 'com.google.firebase:firebase-server-sdk:[3.0.0,)'
}

Maven を使用してアプリケーションを構築する場合は、次の依存関係を pom.xml に追加します。

<dependency>
  <groupId>com.google.firebase</groupId>
  <artifactId>firebase-server-sdk</artifactId>
  <version>[3.0.0,)</version>
</dependency>

SDK を初期化する

Firebase console プロジェクトを作成し、サービス アカウントの認証情報が含まれる JSON ファイルをダウンロードしたら、以下のコード スニペットを使用して SDK を初期化します。

Node.js

var firebase = require("firebase");

firebase.initializeApp({ serviceAccount: "path/to/serviceAccountCredentials.json", databaseURL: "https://databaseName.firebaseio.com" });

Java

FirebaseOptions options = new FirebaseOptions.Builder()
  .setServiceAccount(new FileInputStream("path/to/serviceAccountCredentials.json"))
  .setDatabaseUrl("https://databaseName.firebaseio.com/")
  .build();

FirebaseApp.initializeApp(options);

データベース名は、Firebase console の [Database] ページにあります。

サービス アカウント ファイルを参照できない場合、Node.js を使用しているのであれば、サービス アカウントのフィールドをインラインで渡す方法があります。

Node.js

var firebase = require("firebase");

firebase.initializeApp({ serviceAccount: { projectId: "projectId", clientEmail: "foo@projectId.iam.gserviceaccount.com", privateKey: "-----BEGIN PRIVATE KEY-----\nkey\n-----END PRIVATE KEY-----\n" }, databaseURL: "https://databaseName.firebaseio.com" });

これでサーバーで Firebase SDK を使用してカスタム認証を実装したり、Realtime Database のデータを読み書きしたりできるようになりました。

フィードバックを送信...