はじめに
最近Androidアプリ開発の勉強会に参加しAndroid開発に関して学ぶ機会がありました。そこで学んだ知識をアウトプットしたいと思いリモートでビンゴができるアプリを作成しました。
(Androidアプリのみだと実用性がないためiOS版もリリースすることにしました)
この記事ではアプリの概要と使用した技術に関して記述しようと思います。
######Android
https://play.google.com/store/apps/details?id=jp.tomowebengineer.remotebingo
サービス概要
オンライン・リモートで遊べるビンゴアプリです。
特徴としてはビンゴカードなしで遊ぶことができ、無料で遊べるアプリになっています。
使い方
###主催者編
主催者としてルームを作成します。
ルーム名、説明(任意)、パスワードを入力します。上記の入力が完了したらルーム作成ボタンをタップしてください。
※パスワードをルームに参加する際に必要になりますので参加者全員に共有してください。
参加者が集まったら「ビンゴを開始する」をタップしてください。
準備完了です。抽選ボタンをタップしたらビンゴが開始されます。
###参加者編
参加したいルームをタップしてください。
主催者が設定したパスワードを入力し参加するボタンをタップします。
これで参加完了です。
使用した技術
サーバー側の実装はすべてFirebaseに任せました。
Cloud FirestoreやFunctionsの使用経験がほとんどなかったため苦戦しました。
「実践Firestore」という書籍で細かくFirestoreの使い方に関して記載されており非常に参考になりました。
-
Firebase
- Authentication(匿名認証)
- Cloud Firestore
- Functions
- Hosting (プライバシーポリシーをデプロイするため)
- Crashlytics
- Analytics
- AdMob(インタースティシャル広告)
-
Android
言語 Kotlin
アーキテクチャー AAC
ライブラリー material-dialogs,lottie等 -
iOS
言語 Swift
アーキテクチャー MVVM
ライブラリー RxSwift,RxCocoa,RxDataSources,lottie-ios等
###その他
プライバシーポリシー
下記サイトで自動でプライバシーポリシーのHTMLを生成しました。そのHTMLをFirebaseのhostingを用いてデプロイしました。
https://app-privacy-policy-generator.firebaseapp.com/
問合せページ
アプリを公開するには問合せ先のwebページを作成します。
1から作成するのはかなり手間がかかるので「ペライチ」というサービスを用いてお問い合わせページを作成しました。無料で使えるかつ15分ぐらいで問合せフォームが作れるので非常に便利です。
https://peraichi.com/landing_pages/view/remotebingo
#おわりに
Androidアプリ開発をしてみるとiOSとの共通点が多くあり簡単なアプリを作れるレベルには成長できた気がします。(コードは汚いので時間があるタイミングで綺麗にしたい泣)
また実際にアプリを作って公開しようと思うとプライバシーポリシーの作成やストア用の画像の準備、証明書関係の整理等思ったよりやるべき事が多く苦労しました。
しかしながら自分の作りたいアプリを好きな時間で作れるのが個人開発のいい点だと思います。
今後も時間を見つけて個人開発をしていきたいです。