Geotrigger Monitor
A GeotriggerMonitor monitors a Geotrigger condition and, when it is met, results in a GeotriggerNotificationInfo. A Geotrigger defines a query that is evaluated against GIS data as it changes in real time. For example, "Notify me when my device location enters one of my target areas" or "Notify me when my device location is within 50 m of my destination".
A GeotriggerMonitor is created with a Geotrigger that it continually checks to determine whether the condition has been met.
Once a GeotriggerMonitor is created, you begin checking the condition by calling GeotriggerMonitor.start. Once you are finished, call GeotriggerMonitor.stop. When a Geotrigger evaluates to true, a GeotriggerMonitor.notifications is sent. You can subscribe to the notification info to receive details of where the Geotrigger was activated and the condition that was met.
A GeotriggerMonitor can continue monitoring its Geotrigger condition when a mobile application is in the background. To enable this in an iOS or Android application, the following is recommended:
Use a LocationGeotriggerFeed with a com.arcgismaps.location.LocationDataSource based on the GPS of the device.
Add manifest entries and request user permissions to allow background location updates.
The GeotriggerMonitor uses processing time provided by device location updates to monitor the active geotrigger. For backgrounded applications, the timing of location updates (and therefore the timing of geotrigger notifications) is determined by the operating system. If a FenceGeotrigger uses FeatureFenceParameters that reference a com.arcgismaps.data.ServiceFeatureTable, and the table is associated with a com.arcgismaps.mapping.layers.FeatureLayer that has a non-zero com.arcgismaps.mapping.layers.FeatureLayer.refreshInterval, the geotrigger monitor requests fence updates from the server on that interval even when the application is in the background.
Since
200.1.0
Constructors
Constructs a GeotriggerMonitor with a Geotrigger condition.
Properties
The Geotrigger that will be monitored.
Indicates that the GeotriggerMonitor condition has been meet.
The current monitoring status of the GeotriggerMonitor. A GeotriggerMonitor begins with a monitoring status of GeotriggerMonitorStatus.Stopped and changes to GeotriggerMonitorStatus.Started when you call GeotriggerMonitor.start. When you call GeotriggerMonitor.stop, the monitoring status changes to GeotriggerMonitorStatus.Stopped.
An error that describes a problem encountered while starting or monitoring the Geotrigger. A warning can occur at various stages of monitoring a Geotrigger:
Functions
Starts evaluating the GeotriggerMonitor. When the GeotriggerMonitor is successfully performing checks, the GeotriggerMonitor.status will be GeotriggerMonitorStatus.Started.
Stops evaluating the GeotriggerMonitor. Stopping the GeotriggerMonitor prevents the condition from being evaluated and notifications from being sent. If you are using a LocationGeotriggerFeed created from a com.arcgismaps.location.LocationDataSource, the data source must also be stopped to turn off GPS receivers etc.