Hi. My name is Rafael and I’m the Senior Android Developer at Pulsate. Today, I’ll be talking about the BBB, the big beacon battle between iBeacon and Eddystone. If you do not know what beacons are, Patrick already created a very nice video which explains the basics of iBeacons. So, let’s get into it.
Here’s a still of this week’s Academy whiteboard. Click on it to open a high resolution image in a new tab!
VIDEO TRANSCRIPTION | LOCATION & CONTEXT SERIES
1. WHAT IS IBEACON?
So what is an iBeacon? An iBeacon is a Bluetooth low-energy protocol that was created by Apple and was released two years ago. It allows developers to create location-aware apps, thanks to beacons. It is the first official Bluetooth low-energy protocol, so almost every beacon supports it. It is officially supported only by iOS, but you can find many APIs that also allow Android to scan for iBeacons. If you want to be able to find beacons and to do any action with them, the user must have your app installed.
2. HOW DOES IBEACON INTERACT WITH YOUR APP?
iBeacon supports two basic interactions, monitoring and ranging. Monitoring. Whenever you enter or exit a beacon, your app will be notified about that. Monitoring works in the foreground, background, and also when your app is killed. Ranging, however, works only in the foreground and it provides you with proximity data. When we monitor, we monitor for a beacon region. When we range, we range an individual beacon.
I use the term “beacon region,” so let me say a few words about that. Whenever your beacon sends data, it sends its UUID, Major, and Minor. We can define beacon regions in three ways. Using only the UUID, we monitor for all beacons using that UUID. We can use UUID and Major. With that, we search and monitor for all beacons that use this UUID and this Major. We can also use UUID, Major, and Minor. This way, we monitor only one beacon. Please remember that you should never have two beacons that have the same UUID, Major, and Minor.
3. WHAT ARE EDDYSTONE BEACONS?
So what is Eddystone? Eddystone is the Bluetooth low-energy protocol from Google and it was created in 2015. It officially supports both platforms, iOS and Android. It is an open protocol available for everyone. It is built to support three different data packets, which I will talk about in a sec. It supports one basic interaction, which is called Eddystone discovery and is a little bit like iBeacon ranging.
4. WHAT PACKET TYPES DO EDDYSTONE BEACONS SUPPORT?
Let’s talk about the Eddystone packet types. The first type is Eddystone-UID. Whenever the user gets this packet, we can trigger a push notification or an app action. The second one is Eddystone-URL. This allows the beacon to send a URL. Whenever the user gets this packet, we can display a URL on his phone. The user does not need to install your app to get this packet. This gives Eddystone a huge advantage over iBeacon. The last packet is Eddystone telemetry. This packet is used for managing beacons. In this packet, we can find such information as battery voltage, beacon temperature, number of packages sent or beacon uptime. This packet is sent alongside the two other packets.
5. COULD EDDYSTONE BEACONS ‘KILL’ IBEACONS?
Will Eddystone be the iBeacon killer and why? Well, Eddystone officially supports both iOS and Android. It supports three different data packet types. It doesn’t require the user to have your app installed. It is open source and cross-platform. It is the first beacon platform that is done right and it is way more powerful than any previous platform.
That’s all for today’s episode. If you have any questions, please leave a comment in the section below. You can also find us on Twitter under @pulsatehq. If you haven’t subscribed, please subscribe now and see you next time.