pwittchen / ReactiveBeacons

Android library scanning BLE beacons nearby with RxJava
Apache License 2.0
169 stars 38 forks source link

Detecting when beacon signal is lost #77

Open mseroczynski opened 7 years ago

mseroczynski commented 7 years ago

Thanks for amazing lib, much better than anything I've tried before :).

Is it currently possible with already implemented api to determine when beacon gets out of range? I've checked sources and it looks like viewed collection (on list) works as 'discovered? add to list and forget forever'. Am I understanding correctly that such feature (checking when the signal was last active, and outdating it after x seconds) needs to be implemented outside of lib?

pwittchen commented 7 years ago

Hi,

thanks for reporting the issue. Right now, library simply scans beacons around and displays them as soon as they're visible to the scanning device. It's much simpler approach than most BLE APIs provide. In other APIs for Beacons like Estimote or Kontakt.io there's concept of ranging and monitoring, but ReactiveBeacons doesn't have it.

Detecting when the beacon signal is lost is not implemented in the library, but I think it could be possible to implement it with library API. We need to detect the situation when beacon with specified MAC address is detected for the first time with a proper subscription, save it somewhere and then subscribe stream of beacons and check if the previously detected beacon is available on the list. If not, we may consider beacon signal as lost.

pwittchen commented 7 years ago

I've created issue #79 for that feature. It can be a subject of implementation in the future.