10
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

令和最新版 Google Play Console アプリアップロード自動化のための設定フロー

Last updated at Posted at 2022-06-23

2022年6月時点の Google Play Console へのアプリバイナリ (apk, aab) アップロード自動化のための、主に Google Play Console や Google Cloud Platform の設定のやりかたです。

ステップ

  1. Google Play Developer API 用の鍵の発行
  2. 適切な権限を設定する
  3. リリース用のツールをセットアップ

1. Google Play Developer API 用の鍵の発行

リリース用のツールで API を触るために鍵の発行が必要です。すでに鍵がある人はこのステップをスキップできます。

1-1. Google Cloud プロジェクトと紐づける

まず Google Play Console にログインして 「設定」 > 「API アクセス」を開きます:

API_アクセス-2.png

そうすると 一番最初は Google Cloud プロジェクトが紐づいてないので
「新しい Google Cloud プロジェクトを作成する」か「既存の Google Cloud プロジェクトをリンクする」のどちらかを選びます。
今回はこれ用に Google Cloud プロジェクトを作成します。
(あとで外してこの状態に戻すこともできます)

したらば、権限がない場合は必要な権限を有効にするか訊かれるので OK を押すと、
しばらくしたのちに表示が変わってリンクされたダッシュボードになります:

API_アクセス.png

1-2. サービスアカウントを作成

サービスアカウントを使って自動化を行いますが、今はなにも作成されていないので作成します。

「サービスアカウント」の節の右端の Learn how to create service accounts を押します。

API_アクセス-3.png

そうするとモーダルが出て作成手順が紹介されるので、
手順にそって Google Cloud Platform 側で作業を行いましょう。
(1) の Google Cloud Platform のリンクを別タブあたりで開き
こちらで作業を継続します。

サービス_アカウント_–IAM_と管理–Google_Play_Console…–_Google_Cloud_Console.png

先ほど新規作成されたプロジェクトのサービスアカウント画面が表示されます。
「+サービスアカウントを作成」のボタンからサービスアカウントを作成しましょう。

サービス_アカウントの作成_–IAM_と管理–Google_Play_Console…–_Google_Cloud_Console-3.png

サービスアカウント名は任意です。いい感じになったら「作成して続行」ボタンを押して次のステップに移動します。

サービス_アカウントの作成_–IAM_と管理–Google_Play_Console…–_Google_Cloud_Console-2.png

ロールを指定できるので「サービスアカウントユーザー」のロールを指定します。

次のステップはスキップで完了してサービスアカウントを作成できました。

サービス_アカウント_–IAM_と管理–Google_Play_Console…–_Google_Cloud_Console-2-3-2.png

1-3. サービスアカウントの鍵を作成

作成したサービスアカウントをツールから API 経由で操作するための鍵のファイルを作成します。

サービス_アカウント_–IAM_と管理–Google_Play_Console…–_Google_Cloud_Console-3-2.png

右端の「操作」メニューの「鍵を管理」を選択します。

google-play-deploy_–IAM_と管理–Google_Play_Console…–_Google_Cloud_Console.png

そうすると、いかにも鍵を管理しそうな画面が表示されるので、
「鍵を追加」ボタンから「新しい鍵を作成」を選択して鍵を作成します。

google-play-deploy_–IAM_と管理–Google_Play_Console…–_Google_Cloud_Console-2.png

鍵の形式は JSON を選択して「作成」します。これで鍵のファイルが自動的にダウンロードされるので、これは大事に保管します。

2. 適切な権限を設定する

ここでは Google Cloud Plaform のページから、さきほどの Google Play Console の API アクセスの画面に戻ります。
閉じてた人はふたたび Google Play Console の「設定」>「API アクセス」を開きます。

API_アクセス-3.png

このモーダルは「完了」を押して閉じます。画面が更新され、サービスアカウントに作成したアカウントが追加されているのを確認します:

API_アクセス-4.png

右端の Manage Play Console permissions を選択し権限の設定を行います。

ユーザーを招待.png

すると、ユーザーを招待の画面が表示されるので、まず「アカウントの権限」タブで権限を設定します。

ユーザーを招待-3-2.png

リリースだけであればこのあたりの権限があればよいので、必要に応じて選択します。

忘れてはいけないのは「アプリの権限」タブで、このシートも表示して対象のアプリを追加しましょう。

ユーザーを招待-2.png

アプリに対する権限選択の画面が出るので適宜選択します。

ユーザーと権限の詳細-2.png

すべて指定できたら右下の「ユーザーを招待」ボタンをクリックして完了です。後で変更もできます。

3. リリース用のツールをセットアップ

最後にリリース用のツールをセットアップしてうまくいくか確認します。
Gradle のプラグインや Fastlane などありますが、今回は Fastlane を使いましょう。

3-1. Fastlane のセットアップ

Fastlane は brew install fastlane あたりで導入します。
対象のアプリのプロジェクトのディレクトリで fastlane init すれば
対話的にセットアップできるので楽ちんです。

-zsh.png

途中で Path to the json secret file: と鍵の位置を尋ねてくるので指定します。

3-2. Fastfile の調整

あとは適当に作成された fastlane ディレクトリの Fastfile をいじったりします。

  desc "Deploy a new version to the Google Play"
  lane :deploy do
    gradle(task: "clean bundleRelease")
    upload_to_play_store(
        track: "internal",
        release_status: "draft",
        skip_upload_apk: true,
        skip_upload_metadata: true,
        skip_upload_changelogs: true,
        skip_upload_images: true,
        skip_upload_screenshots: true,
    )
  end

AAB をアップロードできるように bundleRelease にしたり
お試しなので穏当に内部テスト版としてアップロードするようにしてみます。

3-3. Fastlane でのデプロイ

fastlane deploy を行いデプロイを実行します。

-zsh-2.png

Google Api Error: 〜 とエラーが出ず Successfully finished the upload to Google Play とリリースが作成されていれば OK です。
エラーが出た場合は権限やリリース状態などをチェックします。

権限が正しく設定されてないと The caller does not have permission というエラーが出ます。
エラーメッセージに沿って試行錯誤する必要があります。

Google Play Console で内部テスト版にいい感じで下書きリリースが追加されていれば OK です:

内部テスト___Test_App-2.png

以上です。

10
9
1

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
10
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?