ArcGIS Runtime SDK for iOS
100.15
|
An AGSGeotriggerNotificationInfo
from an AGSFenceGeotrigger
.
Properties | |
NSArray< NSString * > * | actions |
NSString * | feedEntityID |
AGSLocation * | feedLocation |
id< AGSGeoElement > | fenceGeoElement |
AGSGeometry * | fenceGeometry |
NSString * | fenceID |
AGSFenceNotificationType | fenceNotificationType |
AGSGeotriggerMonitor * | geotriggerMonitor |
NSString * | message |
NSDictionary< NSString *, id > * | messageProperties |
|
readnonatomiccopyinherited |
An array of strings describing recommended actions based on this notification.
Optionally, use these strings to determine whether your app will perform custom behavior, such as showing messages or starting/stopping tracking. Note that there is no requirement to take any action when a notification is delivered, but these provide a way to understand the intention of the author of the AGSGeotrigger
. This property can be empty.
These actions are the result of evaluating the AGSGeotrigger::messageExpression
property for the specific objects that triggered this notification. If the expression returns a dictionary containing a list of strings with the key "actions", they are shown in this property.
For example, if the AGSGeotrigger::messageExpression
property evaluates to a dictionary of AGSGeotriggerNotificationInfo::messageProperties
containing the following key value pairs:
then this property would contain "startTracking". The actions are simple strings, so you can use them to control any custom action for your app.
The author of an AGSGeotrigger
can supply a set of all the possible AGSGeotrigger::requestedActions
when defining the AGSGeotrigger
. This property is an array of strings indicating the actions that should be taken by your app, based on this AGSGeotriggerNotificationInfo
.
|
readnonatomiccopyinherited |
A unique ID for the entity within the feed that triggered the notification info.
This property is consistent for all notifications for a given feed entity. For example, use this ID to count the number of sites a team member visits.
If a feed is an AGSLocationGeotriggerFeed
, all location updates for that feed share the same ID.
With an AGSFenceGeotrigger
, you can combine this property with the AGSFenceGeotriggerNotificationInfo::fenceID
property to create an ID that groups all notifications for a given feed entity and a specific fence. For example, use a concatenation of the two properties to display a list of areas of interest that are currently occupied and the details of who has entered them.
To group events by the geotrigger, use the AGSGeotrigger::geotriggerID
property.
|
readnonatomicstronginherited |
An AGSLocation
, received from the feed, that meets the AGSGeotriggerMonitor
condition.
The AGSLocation
is set if an AGSLocationGeotriggerFeed
was used to create the AGSGeotrigger
that the AGSGeotriggerMonitor
is monitoring. This allows you to access the position and meta-data from the feed, such as the horizontal accuracy, velocity, time stamp and other AGSLocation::additionalSourceProperties
.
|
readnonatomicstrong |
The AGSGeoElement
from the fence data that meets the AGSFenceGeotrigger
condition.
The AGSGeoElement
is one of the features or graphics from the AGSFenceParameters
used to create the AGSFenceGeotrigger
. Inspect the AGSGeoElement::attributes
and AGSGeoElement::geometry
properties for more details.
|
readnonatomicstrong |
The AGSGeometry
used for the fence that satisfies the AGSFenceGeotrigger
condition.
The original geometry of the AGSFenceGeotriggerNotificationInfo::fenceGeoElement
, including any adjustments (such as applying buffers) and projected to WGS84. You can compare this with the AGSLocation::position
of the corresponding AGSGeotriggerNotificationInfo::feedLocation
.
|
readnonatomiccopy |
A unique ID for the fence that triggered the notification info.
This property will be consistent for all notifications for a given fence. For example, use this ID to group enter and exit events for a specific fence to display the current occupancy.
You can combine this property with the AGSGeotriggerNotificationInfo::feedEntityID
property to create an ID that groups all notifications for a given feed element and a specific fence. For example, use a concatenation of the two properties to display a list of areas of interest that are currently occupied and the details of who has entered them.
To group events by the geotrigger, use the AGSGeotrigger::geotriggerID
property.
|
readnonatomicassign |
The type of rule that caused this AGSFenceGeotriggerNotificationInfo
.
|
readnonatomicstronginherited |
The AGSGeotriggerMonitor
that sent this notification.
The AGSGeotriggerMonitor
evaluates a specific AGSGeotrigger
condition that has been met by this AGSGeotriggerNotificationInfo
. A single AGSGeotrigger
condition can result in multiple, repeat notifications.
Use this property to interact directly with the AGSGeotriggerMonitor
. For example, if you no longer want to receive future notifications, you can call stop (AGSGeotriggerMonitor)
.
|
readnonatomiccopyinherited |
A message that describes the notification.
The notification message is the result of evaluating the AGSGeotrigger::messageExpression
for the specific objects that triggered this notification. The message could be a hard-coded string or use attributes from an area of interest that was entered to display a custom message.
For example, with an AGSFenceGeotrigger
, setting the AGSGeotrigger::messageExpression
property to:
"You have entered " + $fencefeature.area_name
would return the AGSGeotriggerNotificationInfo::message
"You have entered Area A", where "area_name" is an attribute field on the AGSFenceGeotriggerNotificationInfo::fenceGeoElement
.
You can use this message to alert the user directly or in other business logic in your app.
|
readnonatomiccopyinherited |
A dictionary of optional properties derived from the AGSGeotrigger::messageExpression
.
Optionally, you can evaluate the AGSArcadeExpression
to produce properties on top of the basic AGSGeotriggerNotificationInfo::message
. You can access this additional information via this dictionary.