1. Home
  2. /
  3. Projects
  4. /
  5. BLE-based Indoor Positioning Solution for Online Advertising
Integra Sources home button.


BLE-based Indoor Positioning Solution for Online Advertising

Android development AWS Cloud Services BLE beacon technology Indoor positioning IoT Linux Logistics and asset tracking

With a smartphone being an everyday accessory that we hold in our hands almost 24/7, online advertising has become the fastest and most efficient way to reach the targeted audience.

A good point of online advertising is that its efficiency can be easily measured by the number of clicks. But its best feature is targeting. Having the user information at hand, advertisers are sure to provide you with what you need.

Our customer from Dubai, United Arab Emirates, decided to develop an online advertising solution for shops, restaurants, and other places using Bluetooth Low Energy (BLE) beacons and a mobile application. The system could enable the app users to get relevant information about the restaurant or another place they visit or are going to visit

BLE-based indoor positioning solution for online advertising in sales promotion


The customer wanted a solid solution that would allow several businesses to use localized online advertisements in sales promotion. They chose our team to build a distributed beacon system to work with the mobile app developed on their side. 

The system will be installed in many different locations, so it should be a turnkey solution with the same setup. It should detect the user's entrance into the shop, presence, and exit as well as the user's proximity to the shop at a distance of about 30-50 meters.

The beacon system detects users’ entrance into the room, presence, and exit as well as their proximity to the place at a distance of about 30-50 meters.
The beacon system detects users’ entrance into the room, presence, and exit as well as their proximity to the place at a distance of about 30-50 meters.

The system should be preconfigured to work with the app running on Android smartphones. The app receives data from the beacons and forwards it to a web server that identifies the location of the users. The server stores all the information about the retail space, including sales, discounts, and promotions. This information can be sent to the targeted audience via push notifications. 

The customer had the following requirements for the functionality of the web server:

  • view details of the company that installs beacons, such as the name and location;
  • view map visualization of all beacons' setup along with the locations' names;
  • handle the initial setup approval for new beacons;
  • analyze data about the time users spend in the shop or restaurant and user traffic during the day;
  • view active and inactive beacons;
  • provide overall statistics, including the total number of users and orders as well as order frequency.

The staff should be able to set up the beacons and the account from their application/web profile.


We offered a custom design of a beacon system that can be installed in numerous public places. Our team suggested using a common approach to provide effective interaction between the beacons and the mobile app. The system is able to support from one up to and exceeding 500 000 beacons.

Precise positioning requires at least three beacons, with one beacon set up at a 15-20 meter range. So the ideal density is three or four beacons per 200 m² for a square-shaped room. However, it depends on the type of building where the beacons are located, the noise, and signal absorption.

We built a mobile SDK with a background service that reads beacon data (its identifier and signal strength) and a mobile device ID. This information helps determine the user’s location. The beacon and device data are sent to the cloud. The data management platform (DMP) that we offered as a cloud solution is used for collecting, managing, and storing information.

The locations and the beacons are registered in the DMP and the staff members can add promotional information and any type of ads to the cloud platform for online advertising. With the beacon and device data available, push notifications can be sent at the right time and place.

Using the mobile app, customers can receive promotional information about the places they access.
Users can get promotional information about the places they approach through their mobile app.

Scope of Work

Our software engineers built an SDK that can be easily integrated into any Android application with API level 18 or greater. An error in the SDK will not affect the app, so it can run without interruptions. The SDK is able to perform the following functions:

  • receive signals from beacons using iBeacon protocol;
  • collect the required information, such as a device ID and current time;
  • receive information from the cloud for further presentation.

We provided options that allow the staff to set up the account and add beacons to the system.

We created a cloud-based DMP that converts the beacon signal to the data needed for ad targeting, such as the beacon position and the retailer's location. This cloud platform is used for data storage and management. The DMP dashboard deployed on the cloud displays the following information:

  • Organizations
  • Places
  • Beacons
  • Beacon configuration
  • Analytics
  • Users
  • Orders
  • Documentation
Screenshot of the data management platform (DMP) dashboard
Screenshot of the data management platform (DMP) dashboard

The beacons' geolocation is specified by the company's staff as exact satellite positioning data. It is further displayed on the dashboard with the help of Google Maps. 

Technologies Used

  • We used the iBeacon protocol for beacon communication.
  • The beacon models used in the project are Sensoro SmartBeacon-4AA and Sensoro B0 Yunzi.
  • Wireless communication is provided by Bluetooth Low Energy (BLE) technology (Bluetooth 4.0 and later versions).
  • The data management platform runs on Linux.
  • We used the Android Studio IDE for the SDK and test application development.
  • The SDK and the test application were written in Java/Kotlin.
  • The cloud solution was implemented with the help of Amazon Web Services, such as AWS IoTAWS LambdaAmazon SNS.
  • We used MEAN (MongoDB, Express.jsAngular.jsNode.js) stack to implement the cloud solution (DMP).


Integra developed an effective custom solution for online advertising that can be used in shops, restaurants, warehouses, and many other locations.

This is a plug-and-play system consisting of BLE beacons that any staff member can easily position in an appropriate place in their shop. Then you just sign in to your account and start using it.

The Android SDK integrated into the mobile application receives signals from the beacons and performs tasks afterwards. When the user passes a beacon, the SDK reacts to it and starts collecting information about the beacon and the user. 

All the information is sent and stored on the cloud-based data management platform that identifies the user location. Later, the users will get targeted ads about the places they approach or visit through their mobile app.

The indoor positioning accuracy depends on the signal strength, effect of signal reflection and absorption, and beacon density - the more beacons you set up, the better the accuracy achieved. Thus, the accuracy can reach up to 1 meter in the best-case scenario. 

Component interaction within our BLE beacon system
Component interaction within our BLE beacon system

Android API level supported by the SDK

18 and greater

Number of beacons supported by the system

over 500 000

Indoor positioning accuracy

up to 1 meter

Follow us

Follow us