Upload
falafelsoftware
View
1.370
Download
0
Embed Size (px)
Citation preview
iBeacons for Everyone! From iOS to Android!
James Montemagno!Developer Evangelist, Xamarin!@JamesMontemagno!
Who is this guy?!
James Montemagno!Developer Evangelist, Xamarin!
@JamesMontemagno !!http://motzcod.es!
MyStepCounterApp.com!
What is an iBeacon?
• Apple calls it: • “A new class of low-‐powered, low-‐cost
transmitters that can notify iOS devices of their presence.”
• What does this mean? • Devices that can notify apps of exact device
proximity and location awareness that was never before possible.
What is it really?
A Device • What you place around and will
transmits data to your app.
An API • What you use to detect the devices in
your apps.
• Cute Little Devices You Buy • Estimotes
• Nearables & Beacons • Radius Networks –RadBeacon • Roximity • Onyx Beacon • ….About 100 other ones
Spec Classic Bluetooth Bluetooth LE
Distance/Range (theoretical)
100 m (330ft) 50 m (160ft)
OTA Data 1-3 Mbit/s 1 Mbit/s
Application throughput
.7-2.1 Mbit/s .27 Mbit/s
Security 56/128-bit 128-bit AES
Peak current Consumption
<30 mA <15 mA
Power Consumption 1 mW .01 – .5 mW
Latency 100ms 6ms
Voice YES NO
“Fun” Bluetooth Stats!
• GATT (﴾Generic Attribute Profile)﴿ • UUIDs!
• Flow:
Client
• Ini*ate commands & requests • (Computer / Phone)
Server
• Receives GATT commands • (Temperature Sensor / iBeacon)
Characteris*cs
• Data value transferred • BaDery Voltage
Service
• Collec*on of related Characteris*cs (perform a specific func*on) • Temperature measurements & *me intervals
Descriptor
• Provides addi*onal informa*on about characteris*c • Units (F vs C) • Op*onal
-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐Attributes -‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐
How BLE Works!
Region Monitoring!• Notified on entry/exit of
region
• Works if phone is locked
• Works if app is in background
• Search for all Beacons with specific properties • Works in foreground • Proximity Monitoring
• Immediate – Centimeters/Held up to beacon • Near – 1 to 3 meters • Far – In detection range • Unknown – Proximity can not be determined
or ranging has just begun.
Ranging!
• Your iOS 7.0+ Device • iPhone 4S, iPad 3rd Gen+, iPad Mini, iPod Touch 5th Gen+
• Your Android Device
• Android 4.3+ (﴾JellyBean)﴿ Devices • With BLE!
• Nothing on Windows Phone or Windows 8 yet L
What can find iBeacons?!
http://appleinsider.com/articles/13/12/06/first-look-using-ibeacon-location-awareness-at-an-apple-store
Apple Store!
• Museums • Scavenger Hunts • Athletics • Restaurants • About a gazillion other things!
So much more!!
Automatically test your app on!hundreds of mobile devices !
Create native iOS, Android, Mac and Windows apps in Visual Studio and C#
• More Opt-‐In Features • Never • Always • When App is Open
• Enhanced Home Screen • Indoor location tracking
What’s new in iOS 8!
• Must Request Authorization 1. RequestWhenInUseAuthorization(﴾)﴿; 2. RequestAlwaysAuthorization(﴾)﴿;
• Must add message to Info.plist
How iOS 8 Broke Everything!
Resources!• Code:
• https://github.com/jamesmontemagno/iBeaconsEverywhere
• Xamarin.com • Estimote.com
• Android Bluetooth Docs: • http://developer.android.com/guide/topics/connectivity/bluetooth-‐le.html
• iOS Beacons Docs: • https://developer.apple.com/ibeacon/Getting-‐Started-‐with-‐iBeacon.pdf