There are several important events that can happen during a store visit. Each of these is fired by a particular REST API method in the BeaconManager
actor to notify the system that the event has occurred.
The beacon manager results in events being fired in response to whatever method on the REST API that was called.
In Store.Mobile.DCS-CSR
, the BeaconMessageSink
listens for the messages (events). These messages are handled and result in records being placed into the repository, these indicate that users are in store. Not sure on the detail you want to go into but look at: BeaconMessageSink
, BeaconMessageHandler
and DeviceLocationManger
. At a high level, BeaconMessageSink
listens for the events that have been triggered by IUA, via the REST API. The message (the payload of the event) is passed to the BeaconMessageHandler
, this decides what method to invoke on DeviceLocationManager
. The DeviceLocationManager
inserts records into the repository, signifying the presence of in store users. It also provides query methods that are exposed via REST to ASA by the InStoreDeviceActor
.
Event | BeaconManager method | Description |
---|---|---|
|
| Indicates the first time any beacon in a particular store has been detected. The first time is determined by the lack of a current store session |
|
| Indicates when the device’s store session times out. |
|
| Indicates when the device detects it has entered the range of a beacon. |
|
| Indicates when the device detects it has exited the range of a beacon. |
|
| Indicates when the device updates the server with the current state of beacon ranging. |
|
| Indicates when the user presses the request help button. |
|
| Indicates when the user cancels the help request or when the device times-out the help request. |