This sample application is that performs proximity communication using BLE (Bluetooth Low Energy).
In recent years, proximity communication has been attention.
For example, there are the following cases.
- Set the beacon in the store and deliver the coupon when the user passed the store.
- Set the beacon at the bus stop and display the bus timetable when the user approaches the bus stop.
This sample application activates the Android device as a beacon (Eddystone-UID) and each Android devices advertise and subscribe by using BLE.
When you can detect nearby users and you can get the user information.
Use Google sign in.
You can detect nearby users.
Detection of nearby users is performed in the foreground and in the background.
You can see the history of detecting the nearby users in chronological order.
You can see detected user profile.
User profile contains personal information (such as name, email) associated with a Google Account and environment data (such as weather, location) when proximity communication has occurred.
It is possible to manage nearby users as favorites and access favorite user profile.
You can track the location of the device.
When other user detect your devices, your device location saved and you can see that location.
This sample application uses Firebase that known as mobile backend as a service (MBaaS).
You need to create a Firebase project, and download a google-services.json
file.
After downloading the google-services.json file
, copy this into your project's module folder, typically app/.
And, you must add SHA-1 fingerprint of your application to Firebase.
Please refer to the following link.
How to add Firebase to your Android Project
Please refer to the following link.
Authenticate Using Google Sign-In on Android - Before you begin
This sample application uses Firebase as a backend service.
This sample application uses Firebase functions that Realtime Database, Analytics, Crash Reporting.
AltBeacon is beacon library.
This sample application advertise and subscribe as a beacon by using AltBeacon library.
When detect nearby users, get the user's current environment (such as weather, location, user activity) by using Google Awareness API.
Show getting user's environment on user profile screen.
Show detected user on map by using Google Maps API.
This sample application approaches Clean Architecture using dependency injection.
Dagger is library of dependency injection.