Google Play Console APIを使う方法
Google Playにはapk/aabをアップロードするためのAPIがあります。これを利用すると、自動でアプリバイナリをストアにアップロードすることが可能になり、作業の自動化やヒューマンエラーの削減などが可能になります。
本記事では、そのための前準備となる設定と、Gradle Play Publisherプラグインを例に説明します。
Google Play Consoleの設定
※注意事項
UIは2022/7/8時点のものです。
Google Play Consoleの[設定] > [APIアクセス] を開きます。
初回は利用規約が表示されるため、利用規約に同意し、[新しいプロジェクトを作成]をクリックします。
サービスアカウントの作成
続いて、画面下部の[サービスアカウントを作成する方法を見る]をクリックします。
表示されるダイアログにしたがってGoogle Cloud Platformに移動します。
画面中央上部の[サービスアカウントの作成]をクリックします。
[サービスアカウントの詳細]を記載します。
サービスアカウント名:
自分が区別できる任意の名前
サービスアカウントID:
一意となるIDならなんでも可。デフォルトだと、上で入力したサービスアカウント名にsuffixなどが付けられるので、それでもOK
サービスアカウントの説明:
なんのためのアカウントなのかの説明。自分がわかるなら何でもOK
[サービス アカウント ユーザー]をロールに設定します。
オプショナルっぽくなっていますが、これを設定しないとGoogle Play Console APIは使えません。また、フィルタを使う場合は完全一致かつ「サービス アカウント ユーザー」の文字間は半角スペースなのでご注意ください。
3つ目の「ユーザーにこのサービスアカウントへのアクセスを許可」はスキップし、完了ボタンを押します。すると、以下の管理画面へと遷移します。
右側のメニューから「鍵を管理」を選択し、「鍵を追加」>「新しい鍵を作成」を選択します。
[キーの作成]で[JSON]を選択して出力します
ここでDLされたJSONファイルは、後でアプリに取り込む必要があるため、なくさない様にしてください。
Google Play Consoleに戻り、今作ったサービスアカウントが表示されることを確認します。
※リロードが走り、正常にサービスアカウントが作成されていると一覧に表示されます
サービスアカウントに権限を設定する
サービスアカウントの横にある[Google Play Consoleの権限を管理]をクリックします。
権限には[テスト版トラックのリリースを管理できます]があれば十分だと思います。(写真には別のチェックも入っていますが、スルーしてください…)
さらに必要に応じて、[アプリを追加]から該当するアプリを選択してください。
Gradle Play Publisherの設定
app moduleのbuild.gradleに以下の設定を行います。
plugins {
id 'com.android.application'
id 'com.github.triplet.play' version '2.4.1'
...
}
先ほど作ったキーのjsonファイルをアプリに配置し、gradleに設定します。
android {
...
play {
track = 'alpha' // alphaトラックへのアップロードを指定
serviceAccountCredentials = file('service-account-ke.json') // jsonのパスを設定
}
}
以上で設定は終了です。アプリをアップロードするのは以下のコマンドです。
./gradlew publishReleaseBundle
または
./gradlew publishReleaseApk
他にも細かい設定なども可能ですので、気になる方は公式ページをご覧ください。