Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iBeacons - Company (Estimote, Gimbal, etc.) SDKs vs Android/iOS library

I have been playing around with an Estimote iBeacons with their Android SDK. However, I am still confused about why there are so many SDKs available.

iBeacons are just standard bluetooth devices that have the Bluetooth Low Energy (BLE) part of the Bluetooth 4.0 specification. As long as you have a device that is "Bluetooth Smart Ready" (iPhone 4S+, and Android 4.3+) you will be able to detect all iBeacons, regardless of beacon manufacturer. Android (Bluetooth Low Energy Connectivity) and iPhone (iOS Developer Library) both provide system level library to develop app to use iBeacons.

So why are there so many SDKs for connecting to iBeacons (Gimbal, Estimote, Radius Networks, open source Android API).

So I have a few questions:

  • Why are so many SDKs available? Can manufactures lock their beacons to be accessible through only their SDK?

  • Can the Android 4.3 Bluetooth Connectivity library poll and find any iBeacon?

  • What are the advantages of using a non Android SDK? It seems to me that geofencing and proximity detection are possible with just the android library but notification and constant background polling is not possible.
like image 497
mashrur Avatar asked Oct 01 '14 19:10

mashrur


People also ask

Does iBeacon support Android?

All beacons, whether iBeacon, Eddystone or sensor beacons can be used with iOS and Android. The compatibility is achieved through the implementation of common Bluetooth standards on these mobile platforms.

What technology does iBeacon use?

Having been developed by Apple, the iBeacon protocol is initially optimized for the iOS operating system, but also works on Android devices. Indeed, this protocol using Bluetooth 4.0 technology, it is compatible with all smartphones equipped with a Bluetooth chip.

What is iBeacon Apple?

This protocol enables seamless interactivity between iOS and Android devices, and an iBeacon hardware, such as BLE beacons. iBeacon technology has been empowering businesses by letting them welcome customers, provide location-relevant information and promote ongoing offers.

Can an Iphone act as a iBeacon?

Any iOS device that supports sharing data using Bluetooth low energy can be turned into an iBeacon. Apps that use their underlying iOS device as an iBeacon must run in the foreground. As a result, use this feature for point-of-sale apps or for apps that are meant to run in the foreground anyway.


1 Answers

Understand that Beacons are a specific application of Bluetooth LE. Bluetooth LE is a general purpose short-range communication technology that can do many things like transmit audio to a speaker.

Low-level APIs like Android's built-in Bluetooth APIs and Apple's CoreBluetooth APIs are intended for general purpose bluetooth applications. They don't do beacon-specific things like:

  • decoding beacon identifiers
  • estimating distance to beacons
  • determining when the beacons appear and disappear
  • launching apps or sending notifications on beacon detection

In order to accomplish these things, you either need to write your own software (which is error prone and time consuming), or use a pre-built higher level library. For iOS devices, Apple has beacon capabilities built-in to the operating system with the CoreLocation APIs. Android has no such built-in library.

Because Android has no built-in beacon library, different third parties have built them. My company made the first one in September 2013, which has evolved into today's open-source Android Beacon Library.

Other companies that sell beacons often make their own libraries (some are based on this open source library, and some are not) in order to support proprietary features from their beacons or proprietary cloud services that build on them.

So the answers to your last two questions are:

  • Yes, the Android 4.3 Bluetooth Connectivity library can poll and find any iBeacon, but you will have to write lots of code on top of that library to make it happen.

  • The advantage of using an additional library is that you don't have to write and debug all that code. You can focus on the logic that needs to go into your app and not spend all your time on low-level beacon processing.

Full disclosure: I am Chief Engineer at Radius Networks and the author of the Android Beacon Library.

like image 102
davidgyoung Avatar answered Oct 05 '22 23:10

davidgyoung