事前準備
Firebase を追加する前に、次の準備をしてください。
- Node.js SDK を使用する場合は、Node.js 0.10 以降を実行するサーバー。
- Java SDK を使用する場合は、Java 7 以降を実行するサーバー。
- サーバーアプリ。
アプリに Firebase を追加する
Firebase をアプリに追加するには、Firebase プロジェクト、Firebase サービスと通信するためのサービス アカウント、サービス アカウントの認証情報が設定された設定ファイルが必要です。
- Firebase プロジェクトをまだ用意していない場合は、Firebase console で Firebase プロジェクトを作成します。アプリと関連付けられた既存の Google プロジェクトがある場合は、[Google プロジェクトをインポート] をクリックします。それ以外の場合は、[新しいプロジェクトの作成] をクリックします。
- [ ] をクリックして [権限] を選択します。
- 左側にあるメニューから [サービス アカウント] を選択します。
- [サービス アカウントを作成] をクリックします。
- サービス アカウントの名前を入力します。必要に応じて、名前から自動的に生成された ID を基に、ID をカスタマイズできます。
- [新しい秘密鍵の提供] を選択し、[キーのタイプ] を [JSON] のままにします。
- [Google Apps のドメイン全体の委任を有効にする] はオフのままにします。
- [作成] をクリックします。
サービス アカウントを作成すると、サービス アカウントの認証情報が含まれる 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 のデータを読み書きしたりできるようになりました。