Firebase App Distribution API
Firebase App Distributionから最新バイナリをダウンロードするためにFirebase App Distribution API を利用する。
REST APIのprojects.apps.releases.list を利用すると、App DistributionにアップロードされたバイナリのダウンロードURLを取得できる。
事前準備
Firebase App Distribution APIにはOAuth2の認証によりアクセスが可能で、事前にアクセストークンを取得する必要がある。
Firebase App Distributionへのアップロードに使ったGCPのサービスアカウントのキー(JSON)を使ってアクセストークンを取得する。
gcouldコマンドは以下の手順でインストールしておく。
gcloud CLIをインストールするcurl -sSL https://sdk.cloud.google.com | bash
コマンド
アクセストークンの取得
まずREST APIを利用するためのアクセストークンを取得する。
gcloud auth activate-service-account --key-file=サービスアカウントの鍵のJSONファイルのパス
ACCESS_TOKEN=$(gcloud auth print-access-token)
サービスアカウントの鍵のJSONファイルはFirebaseのサービス画面の「サービスアカウント」からGoogle CloudのIAM画面へアクセスし、作成したものを使う。
参考: 【Android】Firebase App DistributionへGitHub Actionsでアップロードする
ダウンロードURLの取得
REST APIでダウンロードURLを取得する。
projects.apps.releases.list
を利用する。
FIREBASE_PROJECT_NUMBER=Firebaseのプロジェクト番号
FIREBASE_APP_ID=FirebaseのアプリID
DOWNLOAD_URL=$(curl -s -H "Authorization: Bearer $ACCESS_TOKEN" \
"https://firebaseappdistribution.googleapis.com/v1/projects/${FIREBASE_PROJECT_NUMBER}/apps/${FIREBASE_APP_ID}/releases" | jq -r '.releases[0].binaryDownloadUri')
Firebaseのプロジェクト番号とアプリIDはFirebaseのプロジェクトの設定画面から取得する。
REST APIのレスポンスは以下のようになっている。
{
"releases": [
{
"name": "..",
"releaseNotes": {
...
},
"displayVersion": "...",
"buildVersion": "...",
"createTime": "...",
"firebaseConsoleUri": "https://...",
"testingUri": "https://...",
"binaryDownloadUri": "https://..."
},
...
上記コマンドでは上記JSONのうち、releasesの最初の要素のbinaryDownloadUriを取得している。
ダウンロード
curl -L -o app.apk "$DOWNLOAD_URL"
\確かな知識を身に着けたい、Androidアプリ開発を学びたい人にオススメ!/