What is plot
The Plot systems works with geofences and notifications. Geofences represent physical locations. They have, amongst other properties, a name, coordinate and a radius. Geofences can have zero or more notifications. Notifications can have time spans associated with them. If this is the case the notification is only presented when the current time falls within one of the time spans provided. If a time span consists of only a start time, it will be active from this date. If only an end time is provided it will be active before this time. Notifications have a message that is presented to the user when they are within the Geofence. By default the radius is 200m or 220 yards. Notifications can optionally be intercepted by the app to either alter or filter them with the Notification Filter. This can be used for segmentation or personalization purposes. If the user opens the notification, meta data associated with it is passed to your app so that it can react appropriately. Each notification will be presented to the user only once.
Notifications entered into the Plot system will take some time to propagate to devices. The Plot client library will utilize its resources as efficiently as possible. This means that it will increase or decrease it’s location update frequency according to a user’s behavior and other circumstances. Plot will remain active as long as possible while maintaining a very low energy consumption footprint. Expected location accuracy in urban areas will be approximately 60m (65 yards) without making use of GPS.
The plugin is optimized for use on foot. However, it is also very likely to work when cycling or slowly driving in a car. When the device is plugged in for charging it will be more likely to work in scenarios like driving on the highway and such because power consumption is then no longer an issue.
When enabled, the plugin will start a background service which will periodically poll the location of the user. The location of the user will be determined in a way that minimizes battery usage; instead of GPS the service uses Wifi-triangulation. When the user is within the radius of a geofence (default: 200 meters or 220 yards) with a published notification it will present a notification to the user. This notification can optionally be modified or filtered.
We provide a default implementation to open a browser with the URL enclosed in the notification. It is possible to replace this implementation with your own. An example of such an implementation is given later. The location polling frequency is determined automatically and is at least once every 10 minutes, but can be more frequent depending on a number of factors. The Plot plugin is optimized for users traveling at low speeds (walking, cycling). The geofences and notifications will be synchronized with our backend every couple hours. When traveling at higher speeds or when a phone can temporarily not determine its location, it is possible that a Location Based Notification is not sent even when a user is near a geofence.
iBeacon notifications are supported for our Android plugin (from version 1.7.0 and up), including multiple UUID support (from version 3.0 and up).
iBeacons allow you to target users within smaller ranges, for instance inside a store or other kind of buildings. You can add iBeacons just like normal geofences in our dashboard. Instead of a latitude and longitude, iBeacons are identified by a proximity UUID, a majorId and a minorId. iBeacon notifications are also passed through the Notification Filter and the Notification Handler as normal notifications from the Plot plugin would. Please note that iBeacons require an Android version of at least 4.3 and Bluetooth low-energy. Read all documentation regarding our iBeacon support in the iBeacons section.
It is possible to enable debug logging on Plot. Use this to receive more feedback when developing with Plot.