前回、ChatGPTの助けで、はじめてアンドロイドアプリのコードづくりに触れた。
https://qiita.com/tkoji3744/items/8081b929c79f0f536dc1
流れは以下のようだった。
まず、PCに
(1)AndroidStudio
(2)flutterSDK(=flutter)
(3)Android Studio内の SDK ManagerをAndroid Studioからダウンロード。
次に、 PCのコマンドプロンプトにて
cd C:\Users\koji3
flutter create dentaku_invader (フォルダの名はアプリ名)
cd dentaku_invader(ここに、フォルダがつくられる)
ここでのポイントは、これでdentaku_invaderという名のフォルダが一つつくられるだけなのでなく、そのフォルダ中に<flutter一式>(複数ファイル)が自動で一気に作成されることだ。
そしてこのdentaku_invader内に自動で作成された中のlib/main.dart に、こちらがリクエストしたものにしたがってChatGPTが作成したプログラム(320行の自動生成!)をそのままコピペ。
その後、AndroidStudioでこのdentaku_invaderを選び、Runすればもう動いた。
今回、この流れで、単純な血圧記録アプリ(名前:Simple血圧記録、フォルダ: C:\Users\koji3\simple_bp_logger)を作成した。
そして、この<flutter一式>は、その後さらに、C:\Users\koji3\simple_bp_logger\build\app\outputs\bundle\release\app-release.aab
という、Google Play Console にアップロードする最終成果物 をスムーズに作成する便利さも持っていることがわかったこと、そして、最後にアンドロイドアプリ登録直前までいった(が、しなかった)ことを報告する。
ぼくは開業医なので、降圧剤を処方するケースは少なくない。可能であれば、受診時、家庭での安静時血圧を記録したものをもってくるように言っている。もちろん、記録を持参しない人も多い。記録の方法で一番人気は「日本血圧協会」の血圧手帳。体裁は、今回のスマホ「Simple血圧記録」のように単純。自前のノートに書きこんで来る人はなぜか少ない。また、当院は高齢者が多いせいか、スマホのアプリに記録してくる人は数名しかいない。そのアプリをみせてもらうのだが、実は「機能が豊富すぎて返って見にくい」。週、月の平均血圧や、その過去との比較データは、(少なくとも処方には)不必要だ。また、数字のグラフ化も、目盛りが狭いために、実は見にくい。実際に、Google Play等を見せてもらうと、多くの血圧記録アプリがあるが、いずれも、「機能が豊富すぎて返って見にくい」。もともと、アンドロイドアプリ作成の練習用で単純な血圧記録アプリにしたのだが、実は、こういう単純なものが有用(あってもいい)と思い、今回、アンドロイドアプリ登録まで挑戦してみた。
(1)上の流れで、C:\Users\koji3\simple_bp_logger を作成後、ChatGPTに以下のように書きこむ。
「今の血圧記録は複雑すぎると感じています。機能をふやすことでなく、記録機能を最も楽におこなうアンドロイド用スマホアプリをFlutterでつくりたい。起動するとすぐ入力画面。スマホのボタンをつかわないでいいよう(数字や漢字、英語のきりかえが煩雑)0~9の数字ボタンと、/ボタン(収縮期血圧/拡張期血圧)。入力画面には「記録する」ボタン⇒おすと記録画面へ。もうひとつ「記録をみる」ボタン⇒押すと記録画面。画面は、この入力画面と記録画面のふたつだけ。ただ、入力すると、自動で日時も同時に記録される。記録画面では「2月18日(月)18:00 148/56」この横1行が、縦に何列もならぶ。同じ日の記録は太線でくぎられる。過去90回分はスクロールできるように(それ過ぎたら、消していく)。まずはそれだけ、おそらく、これだけ。」
そして、このChatGPTのプロンプト(迅速、促す⇒指示、質問)で生成された以下の2ファイルだけ差し替え。C:\Users\koji3\simple_bp_logger\pubspec.yaml C:\Users\koji3\simple_bp_logger\lib\main.dart (363行)
AndroidStudioでこのsimple_bp_loggerを選び、Runすればもう動く。
(2)さらに、今回は、Google Play Console にアップロードする最終成果物C:\Users\koji3\simple_bp_logger\build\app\outputs\bundle\release\app-release.aab を得るために、引き続きつぎのことをすすめていく。
① パッケージ名を変更
android/app/build.gradle のapplicationId "com.example.simple_bp_logger"を"applicationId "com.kojikoji.bp"という自分専用に=最終的なアプリIDにかえる。合わせてandroid/app/src/main/AndroidManifest.xml もpackage="com.kojikoji.bp"に変更。
② keystore 作成
コマンドプロンプトで:cd C:\Users\koji3\simple_bp_logger\android そこでkeytool -genkey -v -keystore bp-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias bpkey
すると、いろいろコマンドプロンプトで入力を求められる。
Enter keystore password→ bp123456(※好きな英数字OK)
Re-enter new password→ 同じものをもう一度
What is your first and last name?
What is the name of your organizational unit?
What is the name of your organization?
What is the name of your City or Locality?
What is the name of your State or Province?
What is the two-letter country code?→ JP
Is CN= ... , OU=Compri ... correct? →yes
これで、
C:\Users\koji3\simple_bp_logger\android\bp-release-key.jks
が生成されます。
*PowerShell で keytool コマンドを実行中に「パスワードを入力してください:」と出ているのに、キーボードで打っても何も表示されない ― これは 正常な動作
③ keystore 設定(署名設定)を build.gradle に追記
ChatGPTにいわれたように、android/app/build.gradle.kts をかきかえ
④プロジェクト(andoroidフォルダ)直下に key.properties を作り、内容をChatGPTにいわれたようにかく(4行)
⑤ リリースビルド生成
ターミナルで:
flutter clean
flutter pub get
flutter build appbundle --release
成功すると:build/app/outputs/bundle/release/app-release.aab→ これが Google Play Console にアップロードする最終成果物 。
(3)次は Google Play Console 登録 。
①Google Play Console にログイン
→ 「アプリを作成」 をクリック。
*デヴェロッパーアカウント登録料は25ドル
*今は本人確認で、運転免許証などの写真を送らねばならない(必要ない時代もあった?)⇒数日たって、本人確認すんでから、さらに電話番号の確認をして、ようやく②へ
②新規アプリの基本情報を設定: アプリ名:例)「Simple血圧記録」· 言語:日本語(Japanese) アプリ or ゲーム:アプリ 無料 or 有料:無料 アプリの内容ポリシーに同意:✓
③アプリのアップロード
左メニューの
📦 [リリース]→[新しいリリースを作成]
を開いて、
👉 app-release.aab ファイルをアップロードします。
(場所)C:\Users\koji3\simple_bp_logger\build\app\outputs\bundle\release\app-release.aab
④ 必要な画面情報を入力 項目 内容例 アプリ説明(短文)「ワンタップで血圧を記録。シンプルな記録専用アプリ。詳細説明「このアプリは複雑な機能を省き、血圧記録に特化しています。0~9の数字と / ボタンで簡単入力。日時は自動記録され、最大90回分をスクロールで確認可能です。」
カテゴリ 健康/医療 連絡先メール プライバシーポリシーURL
⑤スクリーンショットを3枚用意:スマホエミュレータまたは実機で、
入力画面と記録画面を撮影。
*推奨:1080×1920(縦)3枚程度
ファイル名例:screenshot1.png screenshot2.png screenshot3.png
⑥ プライバシーポリシー
プライバシーポリシー例: Simple血圧記録アプリ プライバシーポリシー
本アプリは血圧データを端末内にのみ保存し、外部サーバー等には送信しません。入力された情報はすべてユーザー自身の端末に保管されます。本アプリはインターネット接続を必要とせず、広告・トラッキングを行いません。
制作者:kojikoji
連絡先:kojikoji@gmail.com
⑦ 審査依頼
左メニューの「コンテンツのレーティング」や「アプリの詳細」を入力後、
📩 [リリースを送信] → [審査をリクエスト]
で提出完了。
数時間~1日ほどで審査が始まります。
**********************************
のはずが、(3)次は Google Play Console 登録 。の②→③のところで、今回は終了とした。
(理由)以前は、すぐに、②→③にいけたらしい。
しかし、2023年11月以降にGoogleが導入した新しい「個人開発者アカウントの公開制限(テスト要件)」によって、
新規の個人開発者は、クローズドテストを経ないと本番公開できない ようになったという。
14日間・12人のテスターによるクローズドテスト
を形式的に実施した後、はじめて「製品版リリース申請」が可能になる、という。
14日間・12人のテスターによるクローズドテストを形式的に実施した後、はじめて「製品版リリース申請」が可能になる。それまで「本番環境へのアクセスを申請」ボタンは、有効化されない。
ChatGPTは次のようなプランを提案してきた。
1.自分+家族・スタッフ・知人で6件ほど集める
2.残りは kojikoji.test01〜06@gmail.com のように自分で作成
3.12件登録 → テストURLを開く(参加ボタンを押す)
4.14日放置(アプリ更新不要)
→ 自動的に「製品版申請ボタン」が有効化される
*2.残りは kojikoji.test01〜06@gmail.com のように自分で作成 → 自分の個人情報ひとつで、複数メールをもつ、という方法で通った、という報告が多く、これで大丈夫だろう、とのこと。
しかし、今回はここまで(アカウント登録料25ドルはどうしよう?)。

