Woosmap Geofencing SDK

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.

What are the benefits of Woosmap Geofencing SDK?

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:

  • Time savings and support in your development: you can integrate the Woosmap Geofencing SDK quickly with a couple of lines of code. If you face any issues, we're here to help.
  • Privacy Policy: the collected data are stored in a local database of the mobile app. Woosmap does not collect nor process any information on the server-side.
  • Advanced Location Tracking: track the location of your users in the most effective way possible by specifying a Tracking Profile adapted to your use case, which prevents battery drain.
  • Built-in connectors: easily link the location events with existing notification and messaging platforms such as Airship or Salesforce Marketing Cloud.
  • Unlimited Geofences: make use of the native support of Woosmap Search API to automatically set nearby Geofences linked to your Stores or other POIs.
  • Open Source: both iOS and Android SDKs have been released as open-source. Feel free to fork and test them.

User Location Tracking

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.

Why use Woosmap for Location Collection

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.


  • Passive Tracking: lower accuracy and lower frequency of location updates as well as low power battery usage.
  • Visits Tracking: medium accuracy tracking, useful to track user’s stops and Zone of Interest.
  • Live Tracking: higher accuracy and higher frequency of location updates, draining the battery more quickly.

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 Live 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.


Why use Woosmap for Geofencing

Woosmap Geofencing SDK has two built-in options allowing to create and manage geofences:

  • Stores Geofences: automatically build geofences around your stores hosted on the Woosmap Platform. The fence radius can be attached to the store by specifying it in userProperties. This way you can modify the geofence without having to update the app.
  • Custom Geofences: this allows developers to define custom areas with latitude, longitude, and radius directly into the mobile 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.

Use Case of Geofencing

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:

  • Pushing contextual notifications with a marketing message when a user is at a competitor's restaurant.
  • Adapting the in-app experience when the user enters the geofence, for example showing content like discounts linked to a given retail store.


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.


Why use Woosmap for Visits

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 (ZOI)

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.

ZOI Use Cases

Here are some consumer use cases.

  • In a food delivery app, you could suggest users to order diner as they commute back home.
  • In a restaurant app, you may notify users to place a click & collect order when they leave the office for their lunch break.
  • In a ride-sharing app, you might notify users to book a ride when they leave the office.

Woosmap API Connection

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.

Events Integration

The SDK has been recently extended with the integration of Airship, and SalesForce Marketing Cloud, two major platforms for mobile notification and messaging solutions.

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


Subscribe to our newsletter

and don't miss a single one of our news

Subscribe to our newsletter

and don't miss a single one of our news