- Android
- Kotlin
- AltBeacon
- Firebase
BLEビーコンを活用した、学校内の位置共有アプリ「TKG Beacon」です。教室一つ一つにビーコンを置き、そのビーコンのIDをアプリが取得することで、位置を把握する仕組みになっています。 学校に滞在する先生に用がある時に、どの教室にいるかが一目でわかります。
初回起動時はログイン画面とパーミッション確認があり、ログイン画面ではUXの向上などの観点から、パスワードレス認証であるマジックリンクを採用しました。 この認証方法では、登録されたメールアドレス宛に1回限り使えるログイン用の認証リンクを送り、それをクリックすることでログインできます。
発表資料
技術面など
Androidアプリの開発にはKotlin、バックエンドはFirebaseを使用しました。 教室に設置したビーコン情報の検知には、AltBeaconライブラリを使用し、Appleが規格したBLE(Bluetooth Low Energy)のiBeaconのみに対応しました。
ビーコンには主に、Major(階数)とMiner(同一階のID)とUUID(教室名などと紐付け)の3つのデータを設定しており、フォアグラウンドで取得したデータを、定期的にRealtime Database上に送信することで、リアルタイムに位置情報を反映することができます。
ユーザー情報やプロフィール画像は、FirestoreやCloud Storage内に保存しました。 また、Firebase Authenticationを使用して、SlackやMediumで採用されているメールリンク認証(パスワードレス認証)を実現しました。 メールアドレスを入力して、その受信ボックス宛に送られてきたURLをクリックすることで認証が完了します。
リンク
-
リリース版(Android) https://github.com/sakusaku3939/Beacon/releases
使用技術
言語 ・・・ Kotlin フレームワーク、ライブラリ ・・・ AltBeacon, Coil, uCrop バックエンド ・・・ Firebase Auth, Realtime Database, Cloud Firestore, Cloud Storage ツール ・・・ Adobe XD