画竜点睛を衝く@mapyo

日々やった事をつらつらと書くブログです

fastlaneを使ってGoogle Playのベータ版にアップする

http://mapyo.hatenablog.com/entry/2017/07/23/032630

この辺で日々のビルドをするためにfastlaneを使ったので、次はGoogle Playにアップするところで使ってみる。

いきなり本番は流石に辛いのでベータ版にアップする部分を自動化して、手元で確認してから、Developer Console上で操作して本番に公開という流れをとりたい。

fastlane的なbetaとFabricのBetaとデベロッパーコンソールのBetaといろいろ混同しそうなので注意。

基本的な導入周りはこの辺でいい感じに出来てる

http://qiita.com/gupuru/items/9ddeff0906b02d779ed9

公式ドキュメントも参照

https://docs.fastlane.tools/getting-started/android/setup/

認証情報の設定

https://docs.fastlane.tools/getting-started/android/setup/#collect-your-google-credentials

この辺を見ればOK。内容的には同じだけど、僕のメモを書いとく

  1. Google Play Consoleにアクセス https://play.google.com/apps/publish/
  2. 左上のハンバーガーメニューをクリック
  3. 設定→APIアクセス
  4. サービスアカウントを作成をクリック
  5. ダイアログが表示されて、説明に書いてある通りにGoogle Api コンソールに移動
  6. サービスアカウントを作成
  7. サービスアカウント名を入れる。役割はプロジェクト→サービスアカウントアクターを選択
  8. 新しい秘密鍵の提供にチェックを入れる。キーのタイプはJSON(デフォルトでそうなってた気がする)
  9. 作成をクリック
  10. 秘密鍵が作成されてダウンロードされるので、大事に保存しときましょう
  11. Google Play Consoleに戻って、出てたダイアログの完了をクリック
  12. 新しいサービスアカウントが出来てる事を確認
  13. 新しく出来たやつの、アクセスを許可をタップ
  14. 権限で、「アルファ版とベータ版の APK の管理」以外の権限すべてをOFFにする。これで安心。
  15. ↑と思ったら、「表示設定」の権限は最低限必要だった。アプリ個別に設定するか、全体に設定するかが必要そう。
  16. 終わったらユーザを追加をクリック(しかし、何で権限の変更をしたつもりがユーザの追加になるんだ?権限の設定が終わって初めてユーザを追加するという意味なのかな。)

という感じでもろもろ設定が終わり。権限を絞っているので、何か起きたとしてもアルファ版かベータ版がどうにかなるだけなので、ある意味安心出来る(笑)

ダウンロードしたjsonを好きな場所に置いて、

fastlane/Appfile

ここに追記すればOK

fastlane側の設定

https://docs.fastlane.tools/getting-started/android/beta-deployment/#supported-beta-testing-services

この辺を見て設定する

今回追加したlaneはこちら

  lane :googleplay_beta do
    gradle(task: "clean assembleRelease")
    supply(track: 'beta')
  end

ハマったところは、ここの設定じゃないんだけど、サンプル用にGoogle Play上にアプリを作ったんだけど、公開するために必要なものを一通り設定して、1回でも公開(ベータ版でも可)しないとapiでアップする事が出来なかった。。。

mapping.txtとかどうするの?

BITRISEを使っていると、 deploy-to-bitrise-ioというstepをとりあえず実行しとけば apkとかも含めてそのビルドに保存してくれるので楽。

所感

これでgoogle playのベータにアップするところが自動化出来て最高。という感じ