App Centerを通じてXamarin.Formsで作ったAndroidアプリをストアに公開する
Googleデベロッパー登録する
外部ツールからのAPIアクセスを許可する
App CenterからGoogle Play Storeにアプリを公開するために,Googl Play StoreのAPIを外部ツールが利用できるようにする必要があります.
まずはGoogle Play Consoleにログインします.
左側に設定
という項目があるのでそれを選択します.
次にデベロッパーアカウント > APIアクセス
を選択します.
新しいプロジェクトを作成
ボタンを押します.
自分のGoogle Play ConsoleとリンクしたAPIプロジェクトが自動で作成されます.
一番下にサービスアカウント
という項目があるので,サービスアカウントを作成
ボタンを押します.
サービスアカウント作成
ダイアログが表示されます.
これは作成の手順が示されているだけですので,まず手順1のGoogle API コンソール
へのリンクをクリックします.
Google Cloud Platformのページが開きます.
上部に+ サービスアカウントを作成
を押します.
サービスアカウントの作成
ページが開きます.
以下のようにサービス名(任意)をつけて,作成
ボタンを押します.
次のステップでは権限を設定します. ロール
にオーナー
を選んで続行
ボタンを押します.
次のステップはそのまま完了
を押します.
一番最初のページに戻ってきます.リストに作成したサービスアカウントが追加されています.
キーID
の項目が「キーがありません」となっているので,キーを作成します.
操作
の項目にあるアイコンをクリックして表示されるメニューから鍵を作成
を選びます.
秘密鍵の作成
ダイアログが開きます.
鍵をJSONファイルでダウンロードしますが,注意書きにもあるようにこのファイルは再発行できないので紛失しないように気をつけます.
キーのタイプにJSON
を選択し,作成
ボタンを押すとダウンロードされます.
ファイルを保管してGoogle Cloud Platformを閉じます.
Google Play Consoleに戻ると,以下のようにサービスアカウントがリストに追加されているので,アクセスを許可
ボタンを押します.
権限などの情報が表示されます.ここではこのままユーザーを追加
を押します.
Google Play Console側の手順はこれで完了?
App CenterでGoogle Play Connectionを作成する
App Centerの対象のアプリのページで,左側のメニューからDistribute > Stores
を選択すると,以下のようなページが表示されます.
Connect to store
ボタンを押します.
以下のように公開先の選択肢が表示されるので,Google Play
を選択します.
次のステップではサービスアカウントを作成したときにダウンロードした秘密鍵のJSONファイルをアップロードします.
最後のステップではGoogle Play Storeに公開されているアプリを指定します.
指定にはAndroidアプリのパッケージ名(例:com.harusoft.XFMyDecode2020)を指定します.
しかし,指定したアプリがPlay Storeに見つからない,と言われます.
App Centerはすでにストアにあるアプリのアップデートだけができる,とのことです.
App Center can only upload new versions to existing apps that are already published on to Google Play.
初回は手動でGoogle Play Storeに公開する必要があります.
Google Play Consoleでアプリを登録する
(長くなったのでこちらに移動.) shuhelohelo.hatenablog.com
追記)2020/10/9の夜にアプリがストアに公開されました.申請したのが10/6日だったので大体3日間かかりました.
公開されるとメールが届くので気長に待ちましょう.
Google Play Consoleでは以下のようにステータスが「公開中」に変わります.
App CenterでGoogle Play Connectionを作成する(続き)
まだ公開はされていませんが,ストアにアプリの情報が入ったのでGoogle Play Connectionを作成できるようになりました.
中断していた手順を再開し,ストアに公開したアプリのパッケージ名を入力します.
Connectionが作成され,以下のように表示されます.
App CenterのDistribute -> Stores -> Production
を選択すると,この時点では以下のように「何もないよ」という表示がされます.
App Centerで自動デプロイからストアへ
さて,現時点でmaster
とdevelop
という2つのブランチがあり,ストアにはmasterブランチの内容でアプリを公開してあります.
申請してから公開されるまでの3日間で,ちょっとした修正があり,その修正はdevelopブランチで行いました.
このdevelopブランチの修正をmasterブランチにマージして,その際にストアに自動的にアップロードされるようにしたいと思います. 製品を自動アップロードするのが正しいのかはおいておいて.
上の画面でmasterブランチの🔧
アイコンをクリックして設定画面を開きます.
Distribute builds
の項目でリリース先をStore
にします.
Select destination
というドロップダウンリストがあるので,Production
を選択します.
Release noteの項目を必要であれば記入し,Save
ボタンを押します.
それでは,Githubのほうでdevelopをmasterにマージします.
App Centerのほうでmasterブランチのビルドがはじまりました.
ビルドが完了したあと,Google Play Consoleをみてみると,以下のようにアップデートを処理しています
となりました.
どうやらうまくいったようです.
数日後に処理が完了したらきっとまたメールが来ると思います.