見出し画像

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に移動します。

画面中央上部の[サービスアカウントの作成]をクリックします。

画像4

[サービスアカウントの詳細]を記載します。

画像5

サービスアカウント名
自分が区別できる任意の名前
サービスアカウントID
一意となるIDならなんでも可。デフォルトだと、上で入力したサービスアカウント名にsuffixなどが付けられるので、それでもOK
サービスアカウントの説明
なんのためのアカウントなのかの説明。自分がわかるなら何でもOK

[サービス アカウント ユーザー]をロールに設定します。

「サービス アカウント ユーザー」でフィルタします。フィルタは半角スペースの完全一致が必要です。
フィルタを使わない場合、「Service Accounts > サービス アカウント ユーザー」を選択します

オプショナルっぽくなっていますが、これを設定しないとGoogle Play Console APIは使えません。また、フィルタを使う場合は完全一致かつ「サービス アカウント ユーザー」の文字間は半角スペースなのでご注意ください。

3つ目の「ユーザーにこのサービスアカウントへのアクセスを許可」はスキップし、完了ボタンを押します。すると、以下の管理画面へと遷移します。

右側のメニューから「鍵を管理」を選択し、「鍵を追加」>「新しい鍵を作成」を選択します。

[キーの作成]で[JSON]を選択して出力します

画像7
鍵は後から作成することも可能です

ここでDLされたJSONファイルは、後でアプリに取り込む必要があるため、なくさない様にしてください。

Google Play Consoleに戻り、今作ったサービスアカウントが表示されることを確認します。

画像8

※リロードが走り、正常にサービスアカウントが作成されていると一覧に表示されます

サービスアカウントに権限を設定する

サービスアカウントの横にある[Google Play Consoleの権限を管理]をクリックします。

画像9

権限には[テスト版トラックのリリースを管理できます]があれば十分だと思います。(写真には別のチェックも入っていますが、スルーしてください…)
さらに必要に応じて、[アプリを追加]から該当するアプリを選択してください。

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

他にも細かい設定なども可能ですので、気になる方は公式ページをご覧ください。

この記事が気に入ったらサポートをしてみませんか?