TKG Beacon
  • 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をクリックすることで認証が完了します。

リンク

使用技術

言語 ・・・ Kotlin フレームワーク、ライブラリ ・・・ AltBeacon, Coil, uCrop バックエンド ・・・ Firebase Auth, Realtime Database, Cloud Firestore, Cloud Storage ツール ・・・ Adobe XD