iOS: iBeacons

How to integrate Carnival and iBeacons

What are iBeacons

iBeacons are small signal generators that advertise their location via Bluetooth. An Android or iOS Device may look for these signals and then receive updates about proximity to the beacon.

As a developer, you can collect this data, process it and then send it to Sailthru Mobile for creating audiences, and triggering automated messages.

👍

iBeacon vs Beacon

iBeacon is beacon technology that is owned by Apple. The name "iBeacon" has become synonymous with beacon technology in general, as it is widely used.

Data from iBeacons

The Beacon protocol has several key attributes, including:

  • UUID: A unique, hexadecimal identifier for the device
  • Major: A non-negative integer
  • Minor: A non-negative integer
  • RSSI: A decibel value of signal strength from the beacon

This data is then translated into something more usable by either iOS or a 3rd Party Beacon SDK such as Estimote, Gimbal or Kontakt. On iOS, you can use Core Location OR a 3rd party SDK from your beacon provider. On Android, it's easiest to use a 3rd party library.

Understanding Major and Minor

Regular beacon devices have three attributes – a UUID, Major and Minor. Apple recommends using one UUID for all your beacons, and differentiating locations hierarchically with major and minor versions.

1013

A sample from "Getting started with iBeacons" from Apple

Getting the actual data via your provider's SDK is dependent on the SDK implementation, so refer to their documentation for instructions.

On iOS Devices, you can use the CoreLocation API, which you can read about on Ray Wenderlich.

Getting Data to Sailthru Mobile

Now that you've got the data, you can finally pass it to Sailthru Mobile. We recommend doing this via User Attributes and Custom Events.

Some useful User Attributes you might want to set may be:

  • Last seen (Date)
  • Distance (Float)
  • Major (Integer)
  • Minor (Integer)
  • UUID (String)

Some Custom Events you might want to log may be:

  • iBeacon seen
  • iBeacon with this name seen