1.3 Implementation considerations
The following optional features can be considered when implementing the Plot plugin. An overview of the support for these and other features can be seen here.
To prevent sending too many notifications to a user, the Plot plugin provides a cooldown period. When the cooldown period is set on the plugin, Plot will make sure that at least this amount of time has elapsed between two notifications. This is useful when your application has a lot of location based notifications, but you want to prevent overwhelming your users with notifications. The default is to use no cooldown period.
Find more information about implementing the cooldown period please see the sections iOS reference and Android reference.
You can also set a cooldown period on a single notification, instead of for the entire plugin. This allows notifications to be received multiple times by a user, but not before the cooldown for that specific notification has passed.
Use a notification filter if you want to prevent notifications from being shown or modify notifications before they are shown. A notification filter is a method that is called before the notifications are shown to the user. This can be used to only show notifications that match with the interests of the user or to personalize the notification. On Android it is possible to send rich notifications, for example notifications with a large image. The notification filter feature isn't available on the Phonegap plugin and Appcelerator Titanium module.
If a notification is set to landing page, it will bypass the notification filter and just open the attached URI in full view as HTML page.
Find more information about implementing the notification filter please see the sections iOS Notification filtering, Android Notification filtering, Appcelerator Notification filtering and Phonegap Notification filtering.
A notification handler makes it possible to specify what should happen when the user taps on a notification sent by Plot. This for example allows directly opening a view in your app that shows more information about the subject that was shown in the notification.
When no notification handler is specified, it will treat the data attached to the notification as URI and that URI will be opened. If a notification is set to landing page, it will bypass the notification handler and just open the attached URI in full view as HTML page.
Find more information about custom notification handling please see the sections iOS Notification handling, Android Notification handling, Appcelerator Notification handling and Phonegap Notification handling.
A geotrigger handler makes it possible to define your own custom trigger when the device enters a geofence or gets in range of a iBeacon. You can filter geotriggers depending on your own logic, as you would in the notification filter. You can also use the geotrigger handler as a trigger for your own custom events in your app, for example to smoketest your notification filter.
When no geotrigger handler is specified, all geotriggers will be seen as handled by your app.
Find more information about custom geotrigger handling and implementation in the sections iOS Geotrigger handling, Android Geotrigger handling and Appcelerator Geotrigger handling. We have also blogged about it here.
Retrieve cached notification and geotriggers
It is possible to retrieve the list of notifications and geotriggers the Plot library is currently listening to. You can use this to show the user what is near him. This can also be used to see what Plot has loaded for debugging purposes.
For more information about this feature and its implementation, see section iOS Retrieve cached notifications, Android Retrieve cached notifications, Appcelerator Retrieve cached notifications and Phonegap Retrieve cached notifications.
Retrieve sent notifications and geotriggers
The plugin keeps a list of all the notifications and geotriggers that have been sent. You
can retrieve these separately from the plugin to use in your app, for example to show a list of all the interesting the locations the
user has passed since the last time he opened the app.
For more information about this feature and its implementation, see section iOS List sent notifications and geotriggers, Android List sent notifications and geotriggers, Appcelerator List sent notifications and geotriggers and PhoneGap List sent notifications and geotriggers.
Our QuickSync feature is an improved way to synchronise your app users' devices with our server. Our default synchronisation lets a device poll for new notifications or geofence every once in a while. This means that after create a notification it can take some time until you receive the notification when testing.
With Quicksync, this issue is resolved because after creating a notification it will get sent to all your users' devices immediately. In order to enable this feature some additional steps are needed, we have written an integration guide for iOS and one for Android.
More information about QuickSync can be found in our seperate blog post about this feature.
You can use the notification events to connect the plugin with your own analytics.
Our plugin provides notification events for every notification shown to the user, and for every time a notification is tapped.
For more information about this feature and its implementation, see section iOS notification events and Android notification events.
Advertising identifier for custom reporting
The Plot Plugin makes it possible to offer better targeted advertisements and improved segmentation by
using the user’s advertising identifier. This identifier can be used in custom reports, which we offer for Gold plans and up.
The advertising identifier can be set in the Plot Plugin from version 1.10.0 and up.
In Android this functionality is shipped as part of Google Play Services since version 4.0 and in iOS this is available since version 6.
It is possible for end-users, both on Android and iOS, to opt-out from the advertising identifier.
In Android the user this is done in the Google Settings app. In iOS this setting is available through the device settings.
Contact us for the possibilities and how to set the custom reporting up. For technical information about this feature's implementation, see iOS library reference and Android library reference.