【Google Play】Androidアプリをリリースする

Flutter

この記事は、Gajeroll Advent Calendar 2022 の 24 日目の記事です。

今回は、Androidアプリを Google Play に提出する手順を紹介します。

証明書

*alias_name の部分は各自で決めてください。

keytool -genkey -v -keystore release.jks -alias *alias_name -keyalg RSA -keysize 2048 -validity 10000

質問に合わせて入力していきます。

  • パスワードは文字が表示されないだけで、内部では入力が受け付けられています。
    後で必要になるので、正確に入力し、忘れないようにメモしておきましょう。
  • 組織単位名はCOなど。
    不要ならそのままエンターで構いません。
  • パスワードと国コードは必須のようです。

キーストアのパスワードを入力してください:
新規パスワードを再入力してください:
Enter the distinguished name. Provide a single dot (.) to leave a sub-component empty or press ENTER to use the default value in braces.
姓名は何ですか。
  [Unknown]:  Devroll
組織単位名は何ですか。
  [Unknown]:
組織名は何ですか。
  [Unknown]:
都市名または地域名は何ですか。
  [Unknown]:  Tokyo
都道府県名または州名は何ですか。
  [Unknown]:  Tokyo
この単位に該当する2文字の国コードは何ですか。
  [Unknown]:  JP
CN=Devroll, OU=Unknown, O=Unknown, L=Fukuoka, ST=Fukuoka, C=JPでよろしいですか。
  [いいえ]:  y

10,000日間有効な2,048ビットのRSAのキー・ペアと自己署名型証明書(SHA384withRSA)を生成しています
    ディレクトリ名: CN=Devroll, OU=Unknown, O=Unknown, L=Fukuoka, ST=Fukuoka, C=JP
[release.jksを格納中]

コマンドを打ち込んだディレクトリで生成された release.jksandroid/app 配下に置きます。

署名

android 直下に、以下の keystore.properties を作成します。

  • *alias_name は最初に決めた *alias_name に置き換えましょう。
  • *password は、先程のパスワードに置き換えてください。
storePassword=*password
keyPassword=*password
keyAlias=*alias_name
storeFile=release.jks

gradle

app/build.gradle を以下のように編集します。

// apply ...

// 追加
def keystorePropertiesFile = rootProject.file("keystore.properties") 
// android{
   // ...

    // defaultConfig {
        // ...
    // }

    // 追加
    signingConfigs {
        release {
            if (keystorePropertiesFile.exists()) {
                def keystoreProperties = new Properties()
                keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
                keyAlias keystoreProperties['keyAlias']
                keyPassword keystoreProperties['keyPassword']
                storeFile file(keystoreProperties['storeFile'])
                storePassword keystoreProperties['storePassword']
            }
        }
    }

    // buildTypes {
        // ...
    // signingConfigs {
        // ...
    // }

    // buildTypes {
        // debug {
            // ...
        // }
        // release {
            // resValue "string", "app_name", "アプリ名"

            // 追加
            signingConfig signingConfigs.release
        // }
    // }
 // ...
// }

.gitignore

GitHubにあげないファイルを管理対象から外します。

.gitignore ファイルに追記することで設定できます。

# ...

# 追加
*.jks
keystore.properties

アプリ名

android/app/src/main/AndroidManifest.xml ファイルを編集します。

ダブルクォーテーション内の *アプリ名 の部分を書き換えてください。

    <!-- <application -->
        <!-- 変更 -->
        android:label="*アプリ名"

アプリケーションID

com.example.myapp をアプリ固有のIDに変更します。

{ドメインの逆表記}.{アプリ名} のように記述しますが、com.example.{アプリ名} は使えないようです。

アプリ モジュールを設定する  |  Android デベロッパー  |  Android Developers
build.gradle で使用できる便利な設定について説明します。

以下のIDやディレクトリ名を変更します。

  • android/app/main/AndroidManifest.xmlpackage
  • android/app/debug/AndroidManifest.xmlpackage
  • android/app/profile/AndroidManifest.xmlpackage
  • android/app/build.gradledefaultConfigapplicationId
  • android/app/src/main/kotlin 以降の com/example/myapp のディレクトリ名
  • android/app/src/main/kotlin/{...}/MainActivitly.kotlinpackage

バージョン管理

pubspec.yamlversion: x.y.z+n を変更します。

最初は version: 1.0.0+1 のままで構いません。

x.y.z+n の部分の命名は以下のようになります。

  • n: 通し番号で、リリースするたびに数字を増やす。
  • x.y.z: 基本的にzから優先的に数字を増やしていくイメージ。
    • バグ修正など軽微な変更はz(パッチバージョン)を増やす。
    • 機能の追加など互換性を維持した変更はy(マイナーバージョン)を増やす。
      zは0にリセットする。
    • 機能の削除や大幅な改変など、互換性のない変更はx(メジャーバージョン)を増やす。
      y.zは0.0にリセットする。

詳細は「セマンティック・バージョニング」で調べてみてください。

ビルド

ビルドコマンドを実行します。

Flutterの場合は以下のようになります。

flutter build appbundle --release

build/app/outputs/bundle/release 内に .aab ファイルが出力されます。

Google Play Console

Google Play Consoleを開きます。

Google Play Console | Google Play Console
ユーザーにリーチしてエンゲージメントの向上を図るツールやプログラム、インサイトを活用し、アプリやゲームを成長させましょう。

初回はサインアップ、登録もしましょう。

ただし$25の支払いが必要になります。

Google Play Console
Use the Google Play Console to manage your apps and games and grow your business on Google Play. Reach and engage with people using Android devices around the w...

「すべてのアプリ」から「アプリを作成」します。

「有料」にしておくことで、あとからでも有料・無料の変更ができます。

規約に同意して「アプリを作成」します。

「製品版」から「リリースを編集」します。

先程の .aab ファイルをアップロードします。

アップロードが完了したら、先程の pubspec.yaml に合わせてリリース名が反映されます。

アップデート内容がわかるようにリリースノートを編集しましょう。

<ja-JP>
QR I/Oをリリース
</ja-JP>

ダッシュボード

各アプリリリースの初回のみ、Google Play Console の「ダッシュボード」から、アプリ情報を登録します。

アプリ名(必須)

アプリ名として Google Play に表示されます。

30字以内で設定しましょう。

簡単な説明(必須)

アプリについての短い説明です。

80字以内で表現しましょう。

詳しい説明(必須)

4000字以内で説明しましょう。

アプリのアイコン(必須)

Google Play のストア上で表示されるアイコン画像です。

  • 透過 PNG または JPEG
  • 1 MB 以下
  • 512 x 512 ピクセル
Google Play icon design specifications  |  Android Developers
Apps & Games on Google Play are adopting a new icon system to better fit diverse developer artwork to Google Play's various UI layouts, form factors, and de...
Metadata - Play Console Help
We don't allow apps with misleading, improperly formatted, non-descriptive, irrelevant, excessive, or inappropriate metadata, including but not limited to the a...

フィーチャー グラフィック(必須)

検索結果や詳細ページで最初に表示される画像です。

専有面積が大きくなるように、横長にしましょう。

  • PNG または JPEG ファイル
  • 15 MB 以下
  • 1,024 x 500 ピクセル

動画

任意で YouTube の URL を入力して動画を追加できます。

  • 一般公開または限定公開
  • 広告をオフ
  • 年齢制限を適用しない
  • 横向き

携帯電話版のスクリーンショット(必須)

スマートフォン上の操作感がわかるスクリーンショットを準備します。

ストアで確認したところ、複数の画像を組み合わせたり文字を入れたりといった加工も認められるようです。

  • 2~8 枚
  • PNG または JPEG で
  • それぞれ 8 MB 以下
  • アスペクト比 16:9 または 9:16
  • 縦横がそれぞれ 320~3,840 ピクセル

7 インチ タブレット版のスクリーンショット(必須)

タブレットでの操作感がわかるスクリーンショットを準備します。

スマートフォン版の使い回しでも問題ないと思います。

  • 最大 8 枚
  • PNG または JPEG
  • それぞれ 8 MB 以下
  • アスペクト比 16:9 または 9:16
  • 縦横がそれぞれ 320~3,840 ピクセル

10 インチ タブレット版のスクリーンショット(必須)

タブレットでの操作感がわかるスクリーンショットを準備します。

同じく使い回しでも問題ないと思います。

  • 最大 8 枚
  • PNG または JPEG
  • それぞれ 8 MB 以下
  • アスペクト比 16:9 または 9:16
  • 縦横がそれぞれ 1,080~7,680 ピクセル

Chromebook のスクリーンショット

任意でChromebook用のスクリーンショットを追加できます。

  • 4~8 枚
  • PNG または JPEG
  • それぞれ 8 MB 以下
  • アスペクト比 16:9 または 9:16
  • 縦横がそれぞれ 1,080~7,680 ピクセル

リリース・審査

「リリースの概要」から編集したいリリースを選択します。

編集が完了したら「リリースのレビュー」に進みます。

エラーが出ていたら、その部分を修正してください。

問題なければ「製品版としての公開を開始」を押します。

これにより審査が開始します。

初回は最大で1週間ほどかかる場合があるようです。

おわりに

最後までご覧いただきありがとうございます。

PC ロールでは、テクノロジーに関する情報をまとめて発信しています。

また、おすすめのガジェットについて幅広く紹介していく、ガジェロールもあります。

ガジェットやソフトを使うエンジニア・クリエイターはぜひご覧ください。

ガジェロール
ガジェットの巻物
PCロール | PCの巻物
パソコンの知恵について幅広く紹介しています。

参考

Flutter実践入門
🌟 概要🌟 近年スマートフォンアプリの開発にGoogleのマルチプラットフォーム開発環境であるFlutterが非常に注目を集めています。 Flutterを用いることで、同じソースコードでAndroid/iOS/Web/Windows/Mac/Linuxの6つの環境に同時
【2022年最新】Flutter製AndroidアプリをPlayストアにリリースするまでの手順を徹底解説!
今回はFlutter製AndroidアプリをPlayストアにリリースするまでの手順を解説していきます。 リリースするには大きく3つのステップが必要になります。 この記事にたどり着いたという事はアプリは既に開発済みかと思う ...
セマンティック バージョニング 2.0.0
Semantic Versioning spec and website

コメント

タイトルとURLをコピーしました