proximity-sdk / com.estimote.proximity_sdk.api / ProximityObserver


interface ProximityObserver

The basic object for proximity observation. It lets you define the zones in which your actions will be called, when defined preconditions were met.

Each zone is build around a tag. Many beacons can have the same tags associated, making your zone to consist of more than one beacon.

You can define as many zones as you need, using ProximityZoneBuilder created zones to the ProximityObserver. There will be no interaction with bluetooth scan until you will call ProximityObserver.startObserving method. After that, the scan will be started, and you will receive a Handler object that you should use to stop the scanning later on. It is suggested to keep the reference to the Handler for as long as the scan should persist.

Estimote Inc. (



interface Handler

Handler interface for stopping the started class. You can get objects of this interface after using ProximityObserver.startObserving.



abstract fun startObserving(vararg proximityZones: ProximityZone): Handler
abstract fun startObserving(proximityZones: List<ProximityZone>): Handler

Starts the actual BLE scanning. The scan will be performed according to the construction parameters of ProximityObserver set by using ProximityObserverBuilder. Notice, that depending on configuration, the ProximityObserver.startObserving method may invoke some additional network calls.