The Woosmap Geofencing SDK is a mobile cross-platform software development kit focused on gathering efficiently the users' location, triggering events based on region monitoring, and providing categorized users' zone of interest from geographical and temporal clusters.
The SDK simplifies the integration of the location context in your mobile application by taking care of lower-level functionalities such as data collection or battery management.
Collecting users' locations in the right way may be difficult and take a long time to implement. Each mobile OS has its own particularities and limits. The Woosmap Geofencing SDK has been developed to overcome these limits and streamline the way developers process the location of their app users, regardless of the mobile platform.
Here are some of the benefits you'll enjoy using the SDK:
The Woosmap Geofencing SDK allows tracking users' location data (latitude and longitude) by leveraging the native location capabilities of each platform, Android or iOS.
When a user opens your app integrating the SDK, a modal popup is displayed to let him share his location. When the user allows the sharing, the device gathers information about all available sources of location information including Global Positioning System (GPS), nearby Wi-Fi hotspots, cell towers, and IP Address. This is commonly referred to as "Location Services". The SDK bridges the differences between Android and iOS and offers a simple and customizable way to interact with these location services.
Depending on to in-app location collection parameters and permissions granted by the user, location services may collect data regularly with a higher accuracy, whether the app is in use or not, unnecessarily draining battery. Depending on your use case, the highest accuracy may be required with real-time updates but most often, it is not - or not at every stage of the customer journey.
The SDK lets developers activate the most relevant tracking profile from three different pre-built options.
One can tailor and toggle between the Tracking Profiles during the customer journey. For instance, a fast-food chain app might want to set a Visits Tracking profile when a user has just finalized a Click & Collect order, then stop tracking when he picks up the order.
Geofencing consists of monitoring a geographical area (or geofence) to identify the presence of a device when the user is within its boundaries. In the Woosmap Geofencing SDK, a geofence is a combination of a position (latitude and longitude) and a radius in meters, creating a circular area, or fence, around the location of interest. Boundary crossing events are triggered each time a user enters or exits the geofence.
Depending on your use case, a geofence might represent your store, a competitor’s store, a neighbourhood, and so on.
Woosmap Geofencing SDK has two built-in options allowing to create and manage geofences:
userProperties. This way you can modify the geofence without having to update the app.
On iOS and Android, the system prevents any single app from monitoring more than 20 (for iOS) to 100 (for Android) regions simultaneously. To work around this limitation, developers integrating the SDK should only monitor only regions that are close to the users' current location. To do so, as the user moves and new locations are collected, nearby geofences are updated by automatically requesting the Woosmap Search API.
Geofencing helps to design great location-based app experiences. Retail, banking, food, transportation, or even sports apps can leverage the Geofencing features of the SDK for many use cases such as:
Besides Geofences, the SDK allows you to detect when and where a user has spent some time, in other words when he visited places. Visits can be considered as places that you don’t explicitly monitor but are automatically detected by the SDK. Also, you can assess the time being spent on each visit which can give additional information on the user.
On iOS, visits are natively provided by the system. On Android, this feature does not exist, so the SDK compensates for that lack by embedding a visit algorithm. These visits help to define geographical and temporal patterns of the users labeled in the SDK as Zones of Interest.
Zones of Interest are specific places discovered by the SDK defining where a user recurrently spends time.
When you activate the Zones of Interest feature, Woosmap SDK stores and clusters on the device historical location data for each user. Depending on the time distribution of clusters and numbers of collected locations, the SDK identifies a user's approximate home and office locations after a few days.
Here are some consumer use cases.
The SDK comes with native support for Woosmap Search API and Woosmap Distance API. The Search API allows you to retrieve your nearby Stores from the user’s device, while the Distance API gives you distance and duration values between the user’s location and nearby stores.
The mode of transport to pass to Distance API can be detected using the elapsed time between two locations. Currently, the API provides three options: driving, bicycling, or walking.
Whenever Geofencing and Zones of Interest are entered or exited, Woosmap can send dedicated events with associated properties and locations to Airship or Salesforce Marketing Cloud. This data can then be used to trigger contextualized notifications like in-app messages or push notifications.
Collection of sensitive data like users' locations and visits are stored in a local database of the mobile app. Woosmap does not collect nor process any information on the server -side.
Developers integrating the SDK are in charge of managing the Geographic data lifecycle and comply with the prescribed period. For example, the GDPR European law defines the retention period of geographic data as 30 days.
Ready to build enhanced location-based app experiences? Don’t hesitate to reach out to us through the documentation contact page.
If you want to go further
Summer holidays, as everyone knows, can disrupt our rhythms and habits and lead us to buy things we’ [...]
A user’s geolocation refers to an approximate latitude and longitude describing the geographic locat [...]