LoginSignup
2

More than 1 year has passed since last update.

Firebase Management APIを使ってFirebaseプロジェクトの登録をする方法

Last updated at Posted at 2021-12-10

現職で自動的にFirebaseの設定が追加できないかを調査していたところ一部はbeta版ではありますが方法があったのでメモ。

なぜ調べたのか?

普通のアプリであれば、コンソールでぽちぽちやってjsonファイルを取得すれば事足りるのですが新規で作成するアプリの数が多いことからその部分自動化したいねというところからスタートしました。

Firebase Management APIとは?

Firebaseプロジェクトの新規作成だったり、プロジェクトの情報取得や変更ができるAPIです。

利用したAPIの簡単な説明

projects.list

現在登録されているプロジェクトの一覧を取得します。

スクリーンショット 2021-11-27 12.13.56.png

該当のレスポンス情報

{
  "results": [
  {
      "projectId": "test-52060",
      "projectNumber": "206091014636",
      "displayName": "test",
      "name": "projects/test-52060",
      "resources": {
        "hostingSite": "test-52060",
        "realtimeDatabaseInstance": "test-52060"
      },
      "state": "ACTIVE"
    }
  ]
}

projects.androidApps.list

対象のプロジェクトに登録されているAndroidアプリの設定一覧を取得できます。

ReqeustParameterの指定
parent:projects/test-52060 

スクリーンショット 2021-11-27 12.20.24.png

該当のレスポンス情報

{
  "apps": [
    {
      "name": "プロジェクト名/androidApps/appIDが入ります",
      "appId": "appID",
      "projectId": "test-52060",
      "packageName": "jp.test.co.jp"
    },
    {
      "name": "プロジェクト名/androidApps/appIDが入ります",
      "appId": "appIDが入ります",
      "displayName": "test",
      "projectId": "test-52060",
      "packageName": "jp.co.k.f.pd.test"
    }
  ]
}

projects.androidApps.create

対象のプロジェクトにAndroidアプリの設定を追加します。

ReqeustParameterの指定例
parent:projects/test-52060 

Requestbodyの指定例
"packageName:"パッケージ名"
"displayName": "表示名"

projects.androidApps.getConfig

こちらで該当のアプリのjsonファイルをbase64形式で取得できます。

RequestParameterの指定例
parent :projects/test-52060/androidApps/appID/config

該当のレスポンス情報

{
  "configFilename": "google-services.json",
  "configFileContents": "base64でエンコードされた文字列"
}

まとめ

こちらを利用することでFirebaseの該当プロジェクトにアプリを追加し、jsonファイルが取得できるところまでを自動化することができました。
最初に貼ったFirebase Management APIを使って比較的簡単に自分のプロジェクトで試せるので興味がある方は一度お試ししてみるといいかも知れないです!

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2