たくさんの自由帳

神様になった日の幼馴染かわいい。んだけど忙しいから見る時間がない。

本題

PlayConsoleを使い、PlayStoreへアプリを公開する方法を書きます。

取り返しのつかないことまとめ

とそのまえに、取り返しのつかないことを書いておきます。覚えてる範囲で

  • 公開するとアプリケーションIDの変更ができない
    • 他と被らないようにドメインを使う例が多いけど別に被らなければ何でもいいと思う
  • aab生成時(apkもそう)に使うKeyStoreってやつ(署名鍵)、あれをなくすと公開できなくなる。
    • アップロード時の本人確認でこの署名鍵で署名されたかどうかで使ってるそう。
    • でもなんか Google Play App Signing ってやつを使っていれば署名鍵を再度登録してもらえるとか
      • Google先生と要相談
  • KeyStore作成時に書いたCertificateは見ようと思えば見れる
    • 本名とか住所を入れる欄があるけど、入れるとまずい可能性がある
    • 見られたくなければ空白にできるのでそれでいい
  • 一度公開すると消せない
    • いやインターネットである以上避けれんやろwwwって話ではある
      • Twitterならツイ消しで一応消すことは出来ますが、Playストアに関しては少し違います。
      • Playストアからアプリを消した際の挙動
        • 一度もアプリを入れたことのないユーザー
          • URLから直接開いても見つけることが出来ない
        • 一度インストールしたことがあるユーザー
          • URLから直接開けばインストールできる
          • このせいで完全に消すことが出来ない。
    • なんか知らんうちにapkがよくわからんところで配信される
      • なんかめっちゃあやしい

PlayConsoleを利用できるようにする

25ドル払ってください。確かKyashで払えた気がします。
私が払った時は2863円でした。今調べたら2583円らしいです。大統領選のせい?か知りませんが円高になってますね。

署名鍵を作成する - Android Studioでの作業

メニューバーのここです。

Imgur

そしたら、aabの方を選んでください。

Imgur

署名鍵があれば

KeyStore作成時に設定した値

  • Key store password
  • Key alias
  • Key password

を入れて、

Imgur

Nextを押して次へ進みます。

署名鍵が無い時は作成

Create new...を押してください。

Imgur

こんな画面が出るので、項目を埋めていきましょう。

Imgur

必須項目は以下です。

名前詳細
Key store path署名鍵の保存先です。プロジェクトに入れるとGitHubへ公開されちゃいそうな気がするので気をつけて。
Passwordパスワード。6文字以上
Confirmもう一回パスワード入力
Key
Alias署名鍵の名前?
Passwordさっき作成したパスワードでも特にエラーは出なかったけど、Androidは違うパスワードを推奨してるっぽい
Confirmもう一回パスワード入力
Validity25年以上
Certificate注意:見ようと思えば以下の項目は見ることが出来ます。
First and Last Name鍵の所有者情報。これだけ必須項目

忘れると二回目以降公開できなくなるので十分気をつけましょう。

Imgur

入力できたら、OKを押しましょう。なんか推奨していませんみたいなメッセージが出るけど、そのまま閉じればおkです。

Nextを押して次へ進みます。

Imgur

最後、releaseを選択して、Finishを押して.aabを生成します。

Imgur

これでaabファイルを用意できました。次はブラウザでの作業です。

PlayConsoleへ登録

UIが変わりましたね()

アプリを作成

を押します。

Imgur

そしたら項目を埋めていきましょう。

Imgur

米国輸出法 #とは

よく知らないけど、
Google Play Storeはアメリカにあってアプリを入れること それは アメリカから日本へアプリを輸出している 事と同じ!
と解釈されるらしく、違反していないことにチェックを入れる必要があります。

英語:https://www.bis.doc.gov/index.php/policy-guidance/encryption

(多分)読む必要がないので折りたたんでおく

こっから合ってるかわからん

法律わからん上に英語なので詰んでる。専門家とかじゃなく、ただの学生だからそれでもよければ。

で、米国輸出法ってのはどうやら暗号化技術についての話らしく、
インターネットを扱う場合はHTTPSがもれなく暗号化技術に当たる。

EARのサイトを見てみる

有志?の日本語版をお借りして見ていきましょう。

https://www009.web.fc2.com/cipher5/Encryption_0.htm

EARの対象とならない暗号品目を開いてみる

https://www009.web.fc2.com/cipher5/notEAR.htm

・ 例えば、スマートフォン又はコンピュータ用に作成されたアプリであって、マスマーケット基準(カテゴリー5 パート2の注3で規定される基準)を満たすもののうち、無料で入手可能とされるものは、"一般に入手できる"とみなされます。 この場合、あなたは、自己番号分類報告要件を伴う5D992.cとしての自己番号分類(又はBISへの番号分類請求の提出)により、740.17 (b)(1)又は(b)(3)に基づくマスマーケット要求事項を最初に一度だけ順守しなければなりません。 その後、当該品目が一般に入手可能とされた場合(例えば、無料のダウンロード)、それ以降はEARの対象でないとみなされます。

例あるやんけ!
第5編注3に記載を見てみる https://www009.web.fc2.com/EAR_J/J774-5-2.pdf#Note3

・鍵長が 64 ビット超の対称アルゴリズム
・鍵長が 768 ビット超の非対称アルゴリズム
・鍵長が 128 ビット超の楕円暗号アルゴリズム
これらに該当する場合は、番号分類請求又は自己番号分類報告を提出しないといけない

何のことだかさっぱりですが、HTTPSは該当する模様。よって年次自己分類報告書を提出する必要がある模様。初耳()

参考ページ


iOSのAppStoreではHTTPS使ってんなら「年次自己分類報告書」書けよなって言われてるらしいので、
AndroidでもHTTPSを利用したなら書かないといけないっぽいです。やべーそんなこと一回もやったこと無いぞ

提出方法の有志?日本語版はこちらに:https://www009.web.fc2.com/cipher5/Howto_file_selfClassify.htm

詳しくは各自調べてください。

とりあえずチェックをいれてアプリを作成しましょう(今回のアプリではインターネット使ってない)

Imgur

初期設定

前のUIだと入力が終わるとナビゲーションドロワーにチェックマークがついたんだけど新UIには引き継がれなかったか昔の話は置いておいて手順を踏んでいきましょう。

Imgur

ストアの設定

で、PlayStoreで公開されるメアドを入力する必要があるので、公開されてもいいメアドを用意しておきましょう。

メインのストアの掲載情報

Playストアに表示する情報ですね。ここに売り文句を書いていきましょう。

アイコンの画像ですが、Android Studioでアイコンを設定した際に、src/main/ic_launcher-playstore.pngに生成されてると思うのでそれを使えばいいと思います。
もしアイコンを描く際、角を丸くする加工はPlayストアでやってくれるので四角い画像で作成しましょう。

フィーチャー グラフィック

はどこで使ってるのかよくわかりません。少し前のPlayストアならTwitterのヘッダーみたいに表示されてた気がしますが、いつの間にかなくなってたので私は適当に作って入れてます。

Imgur

スクリーンショット

私はAndroid StudioのAndroidエミュレータを使ってます。
端末にはPixel 2を使ってます。Pixel 3 XL だとなんかサイズが合わなくてアップロード弾かれた。

そういえばGoogleフォトの無料無制限アップロードがなくなるそうですね。SDカードの時代復活?

あと7インチタブレット、10インチタブレット用のスクリーンショットを要求されてるように見えますが、最低限スマホ用のスクショがあれば通ります。

アプリ公開

早速製品版として公開しましょう!。ナビゲーションドロワーの中から製品版を探して選んでください。

Imgur

新しいリリースを作成をえらんでaabをアップロードする画面へ進みます。

Google Play アプリ署名

次へを選んでこの機能を有効にしましょう。

  • aab形式でアプリを提出する際はこれを有効にしておく必要がある模様。
  • 一番最初に作ったKeyStoreとは別物で、こっち(Google Play アプリ署名)に関してはこれ以降触ることはないです
    • 開発者がaabをアップロードする際の本人確認として使うのが、一番最初に作ったKeyStore
    • ユーザーがアプリの更新の際に開発元が同じかどうかの証明に使うのが、Google Play アプリ署名
      • Googleが管理するので私達は気にする必要なし
    • aab提出時に使う署名とアプリをダウンロードする際の署名がそれぞれ違うので、万が一KeyStoreを紛失してもGoogle先生と相談すればリセットしてもらえるし、既存ユーザーはそのままアップデートを受け取れる。
    • (多分こんな感じだと思う)

Imgur

そしたら、App Bundle と APKの欄にapp-release.aabをドラッグアンドドロップさせます。

Imgur

もしバージョンアップ(二回目以降の提出)させる場合は

appフォルダ内にあるbuild.gradleを開き、

defaultConfig {
    applicationId "io.github.takusan23.countdownwidgetlist"
    minSdkVersion 21
    targetSdkVersion 30
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

この中の

  • versionCode
    • 提出の度に1足す(インクリメント)しないとだめです。
  • versionName(一応)
    • 1.0.1 みたいな感じのバージョンはここで指定します。

この2つを書き換えておきましょう

リリースノート

更新内容ですね。最初のバージョンなのでとりあえず初回版とか書いておけばいいと思います。

Imgur

できたら 保存 → リリースのレビュー を押します。

Imgur

なんか設定忘れてたっぽいので設定しましょう。

国/地域

製品版の中にあります。

Imgur

国 / 地域を追加を押して、一覧の中の一番上に有る国 / 地域にチェックを入れることですべての国で使えるようになります。多分大丈夫だと思います。(実は他の国でアプリが公開できなくなった事がある)

これでアプリの公開ができるようになったはずです。

製品版として公開を開始を押して出てきたダイアログの公開を押すことで審査が始まります。
スマホにPlayConsoleアプリを入れておくことで公開された際にプッシュ通知が行きますよーいくいく。

Imgur

あとは公開されるのを待つだけです。たのしみ~

追記

2020年11月14日の19時33分に公開されたとPlayConsoleアプリが通知を飛ばしてきました。