Frequently Asked Questions

General

The Point SDK is software that can be integrated into iOS and Android apps to make them ‘location aware’. It enables smartphones and tablets to react to predefined geographic locations (geofences as precise as several meters wide).
You can select from a range of pre-built actions that the mobile device will perform when entering these locations, including sending messages, opening websites, playing tones and more. You can also set specific conditions for these actions to take place, such as the date, time and travel path of the device. All of these can quickly be set using our intuitive user interface or the REST based public APIs and allow high levels of customization.

By intelligently managing various location determination techniques and instruments, the Point SDK manages to deliver precise location awareness but without the battery drain usually associated with precise GPS-based solutions.

You don’t need any hardware or infrastructure to use the Point SDK, which means that you can use it in situations where there are many users, many locations or where locations change over time. It’s a flexible, cost effective and scalable way to interact with your end-users exactly when and where you want to.
Yes. The Point SDK and our back-end system – Bluedot Point Access – have been designed to scale and handle the high volumes needed for enterprise solutions. The leading technologies and innovative methods we use allow the Point SDK to support virtually any number of users and thousands of locations. Contact Us, if you’re an enterprise-level client to discuss possible packages.
We want you to have the best possible experience using the Point SDK. We provide a variety of support options for our clients, including email based support via support@bluedotinnovation.com and direct phone support for enterprise level clients.

We also suggest you refer to the user guides and other supporting material to get the performance and functionality for your app.
Pricing with Bluedot is designed to be simple and to suit your use case. It’s a subscription model where you select a pricing package based on how much you expect to use.

Usage is based on the number of location-based actions or ‘Triggers’ that are initiated in your app using the Point SDK. A Trigger occurs when an end-user with a mobile device enters a location you’ve configured and initiates one or more actions (e.g. messages, tones, vibration, emails, check-ins). If multiple actions occur simultaneously then it counts as one Trigger.

We don’t count how many end-users or locations you have, just the number of location-based actions because that’s the value our technology provides.

The more you use, the cheaper each action triggered by your end-users becomes.

Your credit card will be charged monthly for self-service accounts.

We develop custom packages for enterprise-level clients.Contact Us, if you’re an enterprise-level client to discuss possible packages.

Please see our Billing Policy for more information.
We take security and privacy seriously. We’ve developed the Point SDK so that it promotes industry-leading privacy protection. At no point do we track or collect the personal information of your end-users. We suggest you read our Privacy Policy for the details – it’s unlike any privacy policy you’ve seen before!

We also employ state of the art security measures, such as bank-level SSL encryption standards on all communication between the Bluedot Point Back-end and your application. The Bluedot backend and services are hosted on dedicated infrastructure in a secure data center with comprehensive security and redundancy measures.

Any billing details you provide are not recorded or stored by Bluedot Innovation. They’re entered directly into the integrated payment interface of our payment gateway provider, Braintree Payments Inc. (a subsidiary of PayPal), in accordance with PCI DSS requirements.
The Point SDK is compatible with both iOS and Android operating systems.

For iOS, the minimum requirement is iOS 8.0 and later.

For Android devices, the minimum requirement is Android 4.0 – ICS (API level 14) and later.
Yes, The Point SDK for iOS can be used in Swift projects as of v1.4.

In order to use our SDK, the minimum required XCode version is 7.1.

If you are keen to integrate with your Swift projects sooner, we have an example Swift Integration with Point SDK available from our GitHub page (PointSDK-SampleApp-iOS-Swift).

As the Swift language is still an emerging standard, this should be considered Beta and subject to continual change.

Please get in touch with us, if you require assistance.
We use Google Maps as our map interface. Google Maps is integrated into our back-end system and has been selected because it provides the broadest and most precise international satellite coverage and because most people have used it before.

We’ve focused on creating an intuitive and fun user interface. You don’t need to be technically experienced to use our system.

We’ve added a number of geofence drawing tools in the top left of the map that enable you to easily drag and drop circular and rectangular geofences, or draw virtually any shape (polygonal geofences) on the map. Your end-user’s mobile device will react when entering these areas.

Once you’ve defined a location, you simply click the arrow on the top right of the screen to expand the menu. This allows you to set and manage actions and conditions associated with that particular location.

You may like to refer to the following material for more information on how to best use the Google Maps-based interface:
https://support.google.com/maps/?hl=en
https://developers.google.com/places/documentation/
https://developers.google.com/maps/documentation/business/
Yes. We have a partner program that enables partners to receive a share of the fees Bluedot receives when the Point SDK is used in solutions or apps for third parties.

We work with a wide range of partners, including marketing platforms, app developers, digital consultancies, and analytics companies, among others.

If you provide a location-based solution or service to other businesses, then being a Bluedot partner could result in not only happy customers but also additional revenue. Please register here for more information.
Sorry, we don’t build custom apps ourselves. We’re a technology company that focuses on R&D and globally scalable solutions that can support the creative ideas of our clients.

We have instead established partnerships with a range of experienced app developers and other partners that can help you with custom solutions that use the Point SDK.

Please email us at hello@bluedotinnovation.com if you would like to be connected to any of our partners. We’ll help you find the perfect development partner for your project.
Clients and partners may have multiple app that simultaneously use the Point SDK. These can be managed easily under the same Bluedot account. Usage across your multiple apps will be aggregated and a single fee will be charged for your overall usage of the Point SDK.
You can find Bluedot Sample Apps on GitHub for both iOS (Swift and Objective-C) and Android. These Sample Apps provide an example of how to integrate the Point SDK into an app.
Yes, the Bluedot Public API’s allow you to interact with the back-end by exposing a range of UI functionality as RESTful JSON web services. Given the Public APIs are entirely based on JSON, a broad range of clients and integrations can be built in relation to these services. Data added through the Public APIs can be edited via the Web Interface – Bluedot Point Access and vice versa. See developer docs for more information.
Yes, the Bluedot Public API’s expose JSON end points for programmatic extraction of usage data. You can also extract usage data using the activity log related to each location or ‘Zone’ that you have defined for your app. Supported formats include CSV, PDF and Excel.


Mobile

A minimum, functional data set requires Zones, Geofences and/or Beacons, and Actions to be included. These are sent to the user’s device as part of a package of data when the device is authenticated. The absence of these rules can result in a no data response.
Once an Action is triggered for a Zone, it is suppressed until the Minimum Re-Trigger Time (MRT) configured for the Zone has expired. The MRT is to stop spam and unwanted continuous triggering while a device remains within a Geofence. Wait for the MRT to expire or reduce the MRT. Be advised that a shorter MRT may result in more frequent triggering and greater battery drain.
In order to trigger an Action, it is necessary to both be within the relevant Zone and to have all configured Conditions satisfied. Please confirm that the Conditions have been configured correctly and that they are being satisfied. If an Action was triggered once but is not triggering again, the Minimum Retrigger Time (MRT) may not have expired (see preceding question). If Checkout has been enabled, then the Zone won’t trigger again until you exit the Zone.
There are no triggering limitations for an app running the Point SDK in the background on either Android or iOS.
The Android and iOS operating systems handle background processing slightly differently:

  • For Android, Actions triggered in the background have the same response as running in the foreground.
  • For iOS, the Message and URL Actions are posted as local notifications when they are triggered while your app is in the background. For a URL, your app will be returned to the foreground and the user will be redirected to the configured URL in the device’s default browser. For a message, your app will be returned to the foreground.
The Actions that are pre-set for ease of use (e.g. Message, URL, Sound) are executed immediately when a Zone is triggered. The callback from a Custom Action can be utilized to queue an Action while the app is in the background. These are methods that are called from the Point SDK to your app with relevant information (e.g. name of the Zone and the Geofence, coordinates of the location of the triggered Action). For a full list of fields, please consult our documentation for iOS and Android.
It is not recommended to send complex JSON data within a Message Action. Instead, we recommend that you use a Custom Action to provide your app with the trigger information and then perform any post-processing.
The Point SDK will not work if the user turns off Location Services on the device. Should Location Services for a device not be available, your app will receive a callback requesting user intervention to resolve the issue.
The Point SDK requires internet connectivity to authenticate and download the configured Zones. Once the configured rules have been passed to and cached on the device, internet connection is no longer required to Checkin and trigger most Actions (unless an Action requires an internet connection, such as opening a URL). If there is no connection, Check-In and Check-Out data will be queued and then sent to the backend once a connection is re-established. A connection is also needed to carryout a download of new rules that have been configured, such as when the Rule Download Interval expires.
Yes, we provide a Dwell Time function. The relevant Zone must have Checkout enabled. The time spent by the device within a Geofence or within the range of a Beacon between Checkin and Checkout will be reported by the SDK. This Action will also be returned as a callback to the app if a Custom Action has been added to the Zone.
A Message or URL Action generated by the Point SDK does not allow you to pass any additional metadata (these are utilized only for simple strings).  A Custom Action will make a callback to your app upon triggering a Geofence or Beacon, thereby allowing you to perform any additional processing required within your app using the information from a trigger.
Further information can be accessed here for iOS and Android.
Please refer to the developer documentation on how to configure Zones with a Custom Action here.


iOS

The Point SDK can be configured to restart after being deleted from the system tray. Once the app restart functionality has been implemented, the user will be prompted with a local notification after the device has moved a significant distance (determined by iOS) to restart the app. Please refer to App Restart documentation for more information.
Yes, if the iPad has GPS functionality. A Wi-Fi or Cellular Internet connection is required for optimized use, authentication and rule downloads.
iOS 8.0 and above for version 1.6 of the Point SDK onwards.
Yes, the Point SDK can range for Beacons at a specific distance while your app is in the background.
Yes, the Point SDK (1.4 onwards) for iOS can be used in Swift projects. In order to use the Point SDK, the minimum required XCode version is 7.1.
We have an example Swift Integration with Point SDK available on our GitHub page (PointSDK-SampleApp-iOS-Swift). As the Swift language is still an emerging standard, this should be considered Beta and subject to continual change. Please contact us if you require any assistance.


Android

A network error can be related to either of the following issues:

  • Network outage on the device where there is no Wi-Fi or data connection.
  • Security Providers are not up to date, which may happen on Android devices below 5.0. For this scenario, go through the Security Provider update process.

To resolve this issue, the app invokes ProviderInstaller.
installIfNeeded(getApplicationContext()); 
immediately before 
mServiceManager.sendAuthenticationRequest(…)

The Point SDK will continue to receive notifications while running in the background. To resurrect the SDK after an app is killed, you need to authenticate the SDK with the restartMode parameter to true.

If the app is stopped by the user with the “Force Stop” option via Application Management then the Point Service will not be restarted.
Yes, if the tablet has GPS functionality. A Wi-Fi or Cellular Internet connection is required for optimized use, authentication and rule downloads.
The Android OS versions supported by the Point SDK are Android 4.0.4 Ice Cream Sandwich (API 15) and above.
The hardware required is the Bluetooth V4.0 Low Energy (BLE). The OS version required is 4.3 Jellybean (API 18) and above.


Point Access Web Interface

The package name field is a unique identifier for an app. We suggest using the name for the app you intend to use when publishing to the App Store. This field can only be set once upon creation of the app and cannot be edited later. The format requires at least 3 periods, for example, com.bluedotinnovation.campusapp.
A Zone contains one or more Geofences, Geolines™ and/or Beacons that all comprise a single location and relate to a particular set of Actions and Conditions. Upon triggering a Zone:

  • A Check-in notification is sent to the backend.
  • The configured Actions relevant to that Zone are executed.
  • The Zone is disabled for the Minimum Retrigger Time (MRT) that has been set.

A Geofence is a virtual perimeter for a real-world geographic area. It can be either an encapsulated two-dimensional geographical area (Geofence) or a series of connected lines (Geoline™).
Geofences can be defined as any of the following shapes:

  • Circle – One geographic coordinate representing the center of a circle, plus the radius in meters.
  • Rectangle – Two distinct geographic coordinates representing the north-east and south-west corners of a rectangle.
  • Polygon – Three or more geographic coordinates representing the vertices of an enclosed polygonal shape.

A thin, virtual tripwire spanning two or more geographical points.
 The following pre-set Actions can be utilized to trigger when a device triggers a Check-in:

  • Message – send a local notification on the device.
  • URL – open a web page in the default browser on a device.
  • Vibrate – cause a device to vibrate.
  • Sound – play the default tone of a device.
  • Custom – deliver a callback to the mobile app to allow any Custom Actions to be executed on the device.

An Action is executed when a given Zone responds to a device that triggers (checks into) a Geofence, Geoline™ or Beacon. 

Minimum Retrigger Time (MRT) is the amount of time that needs to pass before the Zone allows the same Action or Actions to be triggered again on a device. If Checkout is not enabled for a Zone, the MRT starts counting down immediately after a user checks into the Zone. For example, if you enter 10:00 (i.e. ten hours) as the MRT for a Zone, then the relevant Actions will only retrigger when the user checks into the same Zone after 10 hours have passed.

If Checkout is enabled, the MRT activates only after a device has checked out of the Geofence, GeolineTM or Beacon it checked into. During the time period that MRT applies, the Zone is effectively disabled and no other Action that has been configured for the Zone will trigger. We recommend setting the MRT to as high a value as possible to avoid spamming the device and to save battery power.
There are no limitations on the number of Zones, Geofences or Actions that can be created.
A Check-in occurs when a device enters a Zone, satisfies any Conditions configured for that Zone and triggers one or more Actions. The following occurs when a Zone is triggered:

  • A Check-in notification is sent to the backend.
  • The configured Actions relevant to that Zone are executed.
  • The Zone is disabled for the Minimum Retrigger Time (MRT) that has been set.

The Point SDK can optionally report when a device leaves a Zones it has already triggered. The Check-out feature allows your app to be notified, in real-time, when a device ‘checks out’ of a Zone that it has previously been checked into. This is known as ‘checking out’.

For Geofences, Check-out occurs when the SDK confidently determines the device is outside of a checked-in Geofence. The exact distance of travel is dependent on environmental conditions and the opportunity for battery conservation.

For Beacons, Check-out occurs when the device leaves the Beacon’s full range and is no longer detectable. The exact range for Check-out from a Beacon is highly dependent on the Beacon’s own hardware and configuration. This is irrespective of the proximity that may have been chosen for checking in.

Geolines™ and Checkout

Geolines™ cannot be utilized for checking out as they have no area.

This has an impact should a Percentage Crossed Condition be applied to a Zone containing both Geofences and Geolines™. This would entail the device providing a Check-out after the specified percentage of Geofences is crossed but would not include Geolines™ in the percentage crossed calculation. It is therefore possible but not good practice to include Geolines™ in a Zone that is to be utilized for Check-out.
Bluetooth Beacons are devices that broadcast signals that can be detected by smart devices nearby. Paired with an app, Apple Wallet Pass or Physical Web browsers, businesses are able to deliver contextually relevant content and information to users at very specific locations.
We support the following Beacon standards:

  • iBeacon
  • Eddystone
  • AltBeacon
  • URIBeacon


The Point SDK currently supports the iBeacon standard on iOS and uses a Beacon’s Proximity UUID, Major and Minor configuration settings to trigger on iOS devices. 

On Android, a Beacon is configured using it’s MAC address and TxPower. In future, releases we will be incorporating other standards.

The following configuration details are required by the Point SDK to trigger using Beacons:

Android configuration for Beacons

  • Tx Power – Transmit power is a configuration setting common to all Bluetooth Beacons. This may be represented in the documentation or determined by the configuration tool supplied by the Beacon manufacturer. Specifying Tx Power allows Android devices to range for Beacons at a specifically configured proximity.
  • MAC Address – A unique identifier assigned to network interfaces for identification on a physical network. An example of a MAC address is “00-15-E9-2B-99-3C”. This identifier allows an Android device to identify a Beacon.



iOS configuration for Beacons

  • Proximity UUID – Every Beacon conforming to the iBeacon standard has an identifier known as the Proximity UUID. An example of a Proximity UUID is “de305d54-75b4-431b-adb2-eb6b9e546014”. Given that iOS currently has a restriction of approximately 20 Proximity UUIDs, multiple Beacons can be logically grouped by having the same Proximity UUID and then differentiated using the Major and Minor values.
  • Major and Minor – Used to identify individual Beacons within a Proximity UUID group. Minor and Major are integer values between 1 and 65535.

Most of the configuration details would be available from the Beacon manufacturer upon purchase of the Beacon. You may also use one of the following recommended apps to detect Beacon configuration details:

You must use the above scanning apps on devices running the Android operating system to collect the MAC address and TxPower for Beacons on Android devices. These details are not provided by apps running on Apple devices.

The latitude and longitude coordinates provided while creating a Beacon in the Point Access web interface should be close to the actual physical location of the Beacons. A variance of 10 – 20 meters will not make a significant difference. A greater variance could lead to the Beacon not being consistently detected by the SDK.
If the configuration of the Beacons is updated using their proprietary apps then these details have to be updated in Bluedot backend, Point Access, through our web interface or Public APIs. If they are not updated then the Point SDK will not be able to detect the Beacons.
Beacon proximity is the configured distance at which a Beacon will trigger an Action. There are three standard proximities at which a Beacon can trigger:

  • Immediate – the Beacon has to be touching or within an inch of a device for the trigger to occur.
  • Near – the Beacon can be up to approximately 6 feet away from a device for the trigger to occur.
  • Far – the Beacon is further than 6 feet away but still within receiving distance of the maximum range of the signal for the trigger to occur.

Bluetooth is a network protocol for communicating with nearby devices. The Global Positioning System (GPS) is the encompassing term for geosynchronous satellites in the Earth’s orbit that are triangulated to provide a location with an accuracy of approximately 5 meters.
Yes, we provide custom branding and white label solutions. Please contact us at hello@bluedotinnovation.com for more information.
You must have at least one Action within a Zone. Any Zones without a declared Action will not be added to the data collection which is pushed to the device after successful authentication.


Public APIs

Yes, we have detailed documentation of the Public API available here. We include code samples within our documentation for every command in Java.Net C# and Node.js. We also provide the source code on GitHub.
Yes, you can create Geofences, Geolines™ and Beacons from within your app utilizing your Customer Id, Bluedot App Id and Zone Id. Sample code for the Public API is available here in different languages.


Miscellaneous

Yes, you can use a single set of Bluedot app credentials for multiple projects. However, for easier data analysis, we recommend that you create a new Bluedot app for each project.
The Point SDK has been designed and engineered based on extensive R&D to ensure the battery consumption is minimized. Based on proprietary and patented IP, the SDK uses a wide range of available sensors in a device to manage the battery power use efficiently, even when the device is checking into a multiple locations.
The Point SDK is available for iOS and Android platforms.


Cross-Platform Support

Yes, the Point SDK is available as a Cordova plugin through the npm repository. If your cross-platform mobile development framework is built on Cordova (or PhoneGap) you can use our Point SDK directly out of the npm repository.

A Cordova-based example project is available on GitHub.

The documentation on the use of the Cordova plug-in is available here.


Pricing

The number of triggers you use monthly depends on several factors, including the number of active app users, the number of locations and the average number of times an app user passes through each location. A Bluedot team member is happy to walk you through the available plans to find one that works for you. Request a Demo
We accept all major credit cards. You will be charged on a month-to-month basis. Please contact the Bluedot Sales Team to discuss enterprise plans that are invoiced.
A trigger is each time a customer with a mobile device checks-in at a location you’ve set. Each check-in only counts as one trigger even if multiple actions (e.g. messages, videos, websites, vibration) are triggered in the customer’s device when they enter the location.
We have custom pricing for channel partners that is designed to suit a range of projects and business models. Contact Us

Have More Questions?

Let us know how we can help get your project started