Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Proximity Beacon API vs Android Beacon Library?

I'm new with the beacon technology and I have some doubts.

  1. What is the difference (who is better) between the Proximity Beacon API vs Android Beacon Library?
  2. Proximity Beacon API is completely free? I was searching and I saw in the Google Developer Console that this API have a limit of request per day (1,000,000 request/day). I tried to search what is the quota if I spend that amount but I didn't find nothing. Android Beacon Library have a request per day limit?

Until now I'm going to use the Eddystone format, so, both of them support Eddystone.

Thanks

like image 396
Luis E. Vega Avatar asked Jan 30 '16 01:01

Luis E. Vega


1 Answers

Both the open source Android Beacon Library or Google's Proximity Beacon API allow Android apps to detect Eddystone-compatible beacons.

  • The Android Beacon Library is a client only API. It is completely free and covered by the Apache 2 open source license, with no resource limits. It does not require any server infrastructure and provides callbacks when beacons are detected, and ranging callbacks to tell you approximately how far they are away when they continue to be around. It can also launch your app in the background on beacon detection. It is a good choice when you need a general-purpose beacon solution or need flexible low-level access to beacon detections.

  • Google's Proximity Beacon API, by contrast, is a higher-level and more specialized server API. It requires that beacons be registered with Google's servers, and allows attaching both public and private metadata to these beacons. The related Nearby Messages API will then provide a callback when a beacon is discovered, and tell you the data that you have attached to this beacon. It is designed to return high-level beacon data, and not provide low-level access to beacon detections. As you mention, there are some limits on how many calls you can make. This library requires a recent version of Google Play Services, which is typically available on newer phones in the United States and Europe, but is typically not available in China and some other countries.

Which you choose depends on which helps you solve your use case. If you require the cloud-storage features of a server-based solution, and can live with dependencies on Google Play Services, then this may be the right choice for you. If you need a more flexible solution, and do not require a server API, the Android Beacon Library may work well for you.

EDIT: one other important point to add here: Any API backed by a server is dependent on an entity keeping those servers going to keep your app working in the future. It is not unusual for companies, particularly Google, to discontinue services when the company's business priorities change. Consider the long list of Google's discontinued services, including Google Nearby support for beacon notifications. If you need your app to continue working long-term, be careful about adding a dependency on a third party to keep a server running. This creates risk. Because the Android Beacon Library requires no server, there is no risk of it not working in the future based on the whims of corporate decision-making. The same is not true of the Proximity Beacon API.

Full Disclosure: I am the lead developer on the Android Beacon Library.

like image 84
davidgyoung Avatar answered Oct 22 '22 19:10

davidgyoung