Android アプリを個人開発でリリースした話


はじめに
====
この度、Androidアプリを個人開発でリリースしました。
過程でやったこと・戸惑ったことを書いていきます。

想定読者
====
個人開発でアプリをリリースしたことがなく、
これから個人開発でアプリをリリースしてみようと思う方

この記事に書いていないこと
====
以下については記載していません。
・アプリの実装
・Google Play配信の具体的な方法
・各種ツールの使い方
公式を当たるのが最新かつ間違いないはずです。
手段を知らなければ公式を参照することもできないので
手段を知るきっかけにしていただければと思います。

宣伝
====
個人開発を行ったアプリはメモ帳です。
Android 10からAndroid標準のバブルを利用したメモ帳です。
もしよかったらDLしてみてください。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/487320/9ae64f2d-d76d-e097-a232-4db5216dcad5.png" width=150>    [<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/487320/daa76256-e1d9-690a-8695-c24ad73df14d.png" width=200 href="">](https://play.google.com/store/apps/details?id=io.github.kurramkurram.bubblememo)
Google Play および Google Play ロゴは、Google LLC の商標です。


目次
====
ApplicationIdの設定
レイアウトリソース
アプリアイコンの設定
広告
分析
アプリケーションプライバシーポリシー（APP）
オープンソースライセンス
ソース管理
Google Play配信

ApplicationIdの設定
==
AppliacationIdはアプリを識別する一意の文字列です。
ApplicationIdは[一般的](https://codeforfun.jp/java-for-android-2/#i-4)にはドメインを取得して使用します。
業務での開発であれば、企業ドメインとアプリ名称で決まるかと思います。
個人の開発の場合、ドメインを持っていれば問題ないですがこのために取得してもいいかと思います。

あるいは[GitHub Pages](https://pages.github.com/)を利用してドメインを取得することができます。
取得することのできるドメインは [GitHubのユーザ名].github.ioとなります。


レイアウトリソース
==
[Adobe XD](https://www.adobe.com/)を使ってリソース作成しました。
導入背景としては、次のようになります。
・スタータープランですぐに作成可能
・Android向け複数のdpiに出力可能

アプリアイコンの設定
==
Android StudioのImage Assetを使用して作成しました。
ベースとなる画像はAdobe XDを利用しました。

![Image Asset.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/487320/a6fbb700-84fc-66df-ed9a-d571b2c57fbb.png)

広告
==
広告入れておきました。
[adMob](https://developers.google.com/admob/android/quick-start?hl=ja)のバナー広告を入れています。

分析
==
Firebaseの[Analytics](https://firebase.google.com/docs/analytics?hl=ja), [Crashlytics](https://firebase.google.com/docs/crashlytics/get-started?hl=ja&platform=android)を入れています。

アプリケーションプライバシーポリシー（APP）
==
[App Privacy Policy Generator](https://app-privacy-policy-generator.firebaseapp.com/)を利用しました。
アプリ内に専用画面を設けました。
また、このAPPはGoogle Play配信時に公開先のリンクの入力を求められることがあります。
この時もGitHub Pages内にディレクトリを作成し、Appのhtmlを配置しました。

オープンソースライセンス
==
[Including Open Source Notices](https://developers.google.com/android/guides/opensource)を利用しました。
アプリ内に専用画面を設けました。
導入手順は以下の記事を投稿しています。
[[Android]公式のOSS表示ライブラリ](https://qiita.com/kurramkurram/items/4b32b9f03aa7fcbc7bf5)

ソース管理
==
GitHubのprivateリポジトリを利用しています。
途中まではpublicリポジトリを利用していましたが、
広告を入れるにあたってキーを公開しない方がいいと判断したためprivateリポジトリとしました。

Google Play配信
==
[PlayConsole](https://play.google.com/console/developers)から配信を行います。

コスト
------
Play Consoleにdeveloperアカウント（Googleアカウント）登録時に$25.00かかります。

手順
------
手順は以下に沿って行いました。
[アプリを公開する](https://developer.android.com/studio/publish?hl=ja)
Android App Bundle（aab）の作成を行います。
2021年8月以降に新規で配信する場合にはアプリバイナリはapkではなくaabで配信する必要があります。

aabが作成できたら以下に沿ってPlay Consoleに登録していきます。
[リリースを準備して公開する](https://support.google.com/googleplay/android-developer/answer/9859348?hl=ja)

テスト
-----
オープンテスト・クローズドテスト・内部テストがあります。
限られたユーザに対してGoogle Playから配信して動作の確認をすることができます。

申請期間
-----
1月2日に申請したので年始ということもあり、3日後に公開されました。
以下のようなメールがdeveloperアカウントに届けば申請完了のようです。

```
IARC Live Rating Notice: <アプリ名>
```

Play公開
-----
Google Playにて検索の結果出てくるまでには24時間ほどかかるようです。
[Androidアプリが公開されるまでの時間](https://jjworkshop.com/blog/archives/2020/01/android_62.html)
PlayConsoleから払い出されるURLを直接参照すれば、申請通過後に即時でDLできます。
![dashboard.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/487320/229e3fba-299c-2e07-ccaf-855ac77ecc33.png)


参考文献
===
[個人開発のすゝめ](https://qiita.com/masaibar/items/fdc1a7ee46de0edcd612)
[一般的](https://codeforfun.jp/java-for-android-2/#i-4)
[GitHub Pages](https://pages.github.com/)
[Adobe XD](https://www.adobe.com/)
[adMob](https://developers.google.com/admob/android/quick-start?hl=ja)
[Analytics](https://firebase.google.com/docs/analytics?hl=ja)
[Crashlytics](https://firebase.google.com/docs/crashlytics/get-started?hl=ja&platform=android)
[App Privacy Policy Generator](https://app-privacy-policy-generator.firebaseapp.com/)
[Including Open Source Notices](https://developers.google.com/android/guides/opensource)
[[Android]公式のOSS表示ライブラリ](https://qiita.com/kurramkurram/items/4b32b9f03aa7fcbc7bf5)
[PlayConsole](https://play.google.com/console/developers)
[アプリを公開する](https://developer.android.com/studio/publish?hl=ja)
[リリースを準備して公開する](https://support.google.com/googleplay/android-developer/answer/9859348?hl=ja)
[Androidアプリが公開されるまでの時間](https://jjworkshop.com/blog/archives/2020/01/android_62.html)