Privacy policy of Typrov for Android

The privacy policy regarding the handling of personal information on the application Typrov for Android is as follows

  • Collection of approximate location
    Typrov for Android collects approximate location of a user device.

  • Collection of Personal Information
    Typrov for Android does not collect any personal information.

  • Contact Information
    For inquiries regarding Typrov's handling of personal information, please contact us at the following email address.
    Email: much.more.most@gmail.com

  • Revisions
    The latest privacy policy, as amended, will always be posted on this page.

  • Date of Enactment/Revision
    Enacted: Jan. 11, 2023


アプリTyprovにおける個人情報の取扱いについて、以下のとおりにプライバシーポリシーを定めます。

  • おおよその位置情報の収集
    Typrov for Android はユーザ端末のおおよその位置情報を収集します。

  • 個人情報の収集
    Typrov for Android は一切の個人情報を収集しません。

  • お問い合わせ先
    Typrovでの個人情報の取扱いに関しては、以下のメールアドレスにお問い合わせください。
    Email: much.more.most@gmail.com

  • 改定
    改定された最新のプライバシーポリシーは常に本ページにて開示されます。

  • 制定日・改定日 制定:2023年1月11日

Privacy policy of 2D Outliner

The privacy policy regarding the handling of personal information on the application 2D Outliner is as follows

  • Collection of Personal Information
    2D Outliner collects and sends the following information to Google AdMob.

    • Approximate location
    • Page views and taps in app
    • Crash logs
    • Diagnostics
    • Device or other identifiers
  • Contact Information
    For inquiries regarding 2D Outliner's handling of personal information, please contact us at the following email address.
    Email: much.more.most@gmail.com

  • Revisions
    The latest privacy policy, as amended, will always be posted on this page.

  • Date of Enactment/Revision
    Enacted: Oct. 27, 2022 Revision: Apr. 17, 2023


アプリ2次元アウトライナーにおける個人情報の取扱いについて、以下のとおりにプライバシーポリシーを定めます。

  • 個人情報の収集
    2次元アウトライナーは以下の情報を収集し、Google AdMobに送信します。

    • Approximate location
    • Page views and taps in app
    • Crash logs
    • Diagnostics
    • Device or other identifiers
  • お問い合わせ先
    2次元アウトライナーでの個人情報の取扱いに関しては、以下のメールアドレスにお問い合わせください。
    Email: much.more.most@gmail.com

  • 改定
    改定された最新のプライバシーポリシーは常に本ページにて開示されます。

  • 制定日・改定日 制定:2022年10月27日 改定:2023年4月17日

Androidアプリを公開する

GooglePlayConsoleに作成したアプリを登録する。 公開前チェックリストを確認しながら進めれば大丈夫

1. リリース用アプリの作成

  • リリース用にアプリを設定する。
    • Log 呼び出しを削除
    • マニフェスト ファイルから android:debuggable 属性を削除
    • [File]-[Project Structure...]のModule/DefaultConfig TabでversionCodeとversionName+VersionNameSuffixを設定する。 versionCodeの数値はバージョンアップに伴って増加させないとならないので、お約束の方法、日付+2桁にすれば間違いない。 一方、versionNameは任意の文字列だが、普通にメジャーバージョン+マイナーバージョン+サフィックスとかにする。

Version Code 22070701
Version Name "0.1" version Name Suffix "1"

  • iconを作成
    Image Asset Studio を実行する。 res フォルダを右クリックして、[New] > [Image Asset] を選択。

    • アダプティブ ランチャー アイコンとレガシー ランチャー アイコンを作成
    • アクションバー アイコンまたはタブアイコンを作成
    • 通知アイコンを作成
  • アプリへの署名

  • aab (Android App Bundle)形式で、公開版アプリをビルドする。

2. デベロッパー アカウント作成

  • デベロッパー アカウント申込
  • 個人用
  • 登録料 $25 (痛い)
  • 本人確認書類(運転免許証)はカードの端も撮れていないと受付してもらえない場合がある。
  • 本人確認には数日掛かるらしい

3. リリース版アプリをテストする。

スマートフォンタブレットのそれぞれについて、少なくとも 1 つの対象機種でテストする。

  • ローカライズを計画する
    僕の場合は英語と日本語を用意している。 ローカライズ チェックリスト

  • Privacy Policy の作成
    下記の事項を盛り込んで、インターネットアクセス可能な場所で公開する。

    • 個人情報の収集
    • 問い合わせ先
    • 改定について
    • 制定日・改定日
  • 問い合わせ先メールアドレス
    公開可能なメールアドレスを用意する。

  • 内部テスト
    知り合いのGmail利用者にテストしてもらう。自分だけでも可。

    • アプリのPlayストアの掲載情報を作成
      スクリーンショット、アプリ名、説明文、プライバシーポリシー等。 ストアには大量のアプリがあるので、作ったアプリの他とは違う特徴を主張し、検索でヒットしやすいようなキーワードを入れ込む。 Playストア用の512x512のアイコンは app\src\main\ic_launcher-playstore.png
  • クローズドテスト(α版)
    内部テストと同様に知り合いのGmail利用者にテストしてもらう。自分だけでも可。 アプリのPlayストアの掲載情報は内部テストに問題が無ければそのままで良い。

  • オープンテスト(β版) アプリのPlayストアの掲載情報はクローズドテストに問題が無ければそのままで良い。

4. アプリを公開する

製品版のリリースを作成する。 オープンテストで問題がなければ、オープンテストと同じでも可。 アプリのPlayストアの掲載情報もオープンテストに問題が無ければそのままで良い。 審査が済むと晴れて「製品版」として完全公開となる。

祝!初公開アプリ:ミニマリスト置時計

5. アプリの改善

アプリを公開すると、自分だけでは気づかなかった改善点が見えてくる。 ユーザーからのレビューであったり、統計情報であったり。 統計情報ではユーザー数やアンインストール数の国別とか言語別も分かるので、特定の国のユーザーがすぐにアンインストールされるようであれば、その国の言語等で何か不具合が生じている可能性が高い。

6. 利用状況の確認

GooglePlayConsoleでインストール数やアンインストール数を確認できる。最初の1か月ほどはどこかで(どこ?)プロモートしてくれているようで、インストール数は多いが、3か月ほど経つとめっきり減ってくる(;_;)

Appendix おまけ

審査

リリースやストアの掲載情報を更新するとステータスが「審査中」になる。 審査完了後に更新内容に公開される。 審査には数時間から2週間以上掛かる時もある。

Analyze APKしたAndroidManifest.xmlファイルでエラー表示

xmlns:android="http://schemas.android.com/apk/res/android" がエラー "URI is not registered (Settings | Languages & Frameworks | Schemas and DTDs)" となることがあるが無視して良さそうだ。

Privacy policy of minClock

The privacy policy regarding the handling of personal information on the application minClock is as follows

  • Collection of Personal Information
    minClock does not collect any personal information.

  • Contact Information
    For inquiries regarding minClock's handling of personal information, please contact us at the following email address.
    Email: much.more.most@gmail.com

  • Revisions
    The latest privacy policy, as amended, will always be posted on this page.

  • Date of Enactment/Revision
    Enacted: July 15, 2022 Revised: Oct 27, 2022 (change App name to minClock)


アプリ minClock における個人情報の取扱いについて、以下のとおりにプライバシーポリシーを定めます。

  • 個人情報の収集
    minClock は一切の個人情報を収集しません。

  • お問い合わせ先
    minClockでの個人情報の取扱いに関しては、以下のメールアドレスにお問い合わせください。
    Email: much.more.most@gmail.com

  • 改定
    改定された最新のプライバシーポリシーは常に本ページにて開示されます。

  • 制定日・改定日 制定:2022年7月15日 改定:2022年10月27日(アプリ名をminClockに変更)

ド初心者がAndroid アプリを作ってみた

「ド初心者」といってもAndroidアプリ開発の初心者です。 オブジェクト指向言語や統合環境も、ほぼ初心者です。 ただ、C言語でのプログラミングは40年近いキャリアがあります。

イ)Android Studioをインストールする

開発環境Android Studioココからダウンロードし、インストールする。

Java or Kotlin それが問題だ

現在、Androidアプリの開発言語としてはKotlinとJavaがある。 Kotlinの方が新しいのでJavaよりも優れている点があるのだが、新しい分、ライブラリの改廃や変更が有ったりして、ネットの過去の情報が使えないことが多く、よっぽどの愛が無ければ挫ける(私は挫けた)。 なので、まだしばらくはJavaで行こう。

ロ)プロジェクトの作成例

時計を作ってみた。

ロ-1. 新規プロジェクト作成

「New Project」「Empty Activity」で新規プロジェクトを作成

これで、実行可能な最小限のプログラムの雛形が生成される。

ロ-2. とりあえず Run

メニューバーから「Run」「Run 'App'」すると、Buildして端末エミュレータを起動し、アプリが実行される。 画面中央に"Hello World!"と表示されていれば、ここまでは問題無い。

自動的に作成された雛形を"Run"したところ

ロ-3. プログラムを修正する

activity_main.xml

<TextView

<TextClock

に変更する。

これだけである。大事なところなのでもう一度言う、これだけで時計ができる

ロ-4. 再び「Run 'App'」

画面中央に時計(らしきモノ(*))が表示される。

時計が表示された

このように、TextView Class を TextClock Class に置き換えるだけで、いとも簡単に時計を作れてしまう。 "Hello World!"のような無意味な静的表示ではなく、時計のような実用性のある動く表示を実現できた。 オブジェクト指向万歳!(なのか?)

もちろん、秒を表示したりタイムゾーンを指定したり、あるいは、フォントや画面位置の設定など、 実利用するためには様々な設定を加える必要があるが、ここではアプリ開発の流れを示す例なので、ここまでとする。

(*) タイムゾーンが未設定なので、この時点では時刻がズレているかもしれない。いや、たぶんズレているだろう。 エミュレータタイムゾーンの設定はエミュレータ上の「設定」からできる。

ハ)作ったアプリをスマートフォンにインストール

APKを作ってスマートフォンにインストールする。 APKの作り方はココを参考。

スマートフォンへのAPKファイルのコピーはGoogle Drive経由が楽だろう。

オマケ

参考書

Platform-ToolsにPATHを通す

adbを使いたいのでPATHを通した。

Class について

様々な部品(Class)をうまく使えば、アプリを効率良く作ることができるだろう。 しかし、オブジェクト指向プログラミングの大きな欠点であるが、どんなClassがあるのかが分からない。 地道にDeveloper Referenceで検索するくらいか。 きっと、欲しい機能が既に存在していると信じて。

Trouble Shooting

  • Android Studio でEmulatorが起動しない
    久しぶりにAndroid Studio を使おうと思ったら、Emulatorが起動しない。 ログ /mnt/c/Users/(user name)/AppData/Local/Google/AndroidStudio2021.2/log/idea.log を見ると、エラーが出ている。

ERROR - Emulator: Pixel 5 API 31 - Could not find GLES 2.x config!

そこで、Device ManagerのEdit this AVDでEmulated PerformanceをGraphics: Software - GLES 2.0 に変更したら、問題解決した。