Jerin Kurian Jerin Kurian - 4 months ago 33
C# Question

iBeacon support for Windows Phone devices

iBeacon in Windows Phone devices -: We need to develop a windows phone application with iBeacon support similar to iOS applications. We didn't find any useful informations on this. Can anyone suggest a better solution on "How to implement iBeacon on Windows Phone Devices?"

Answer

Unfortunately, I have confirmed with Microsoft engineers that this is not possible as of Windows Phone 8.1.

While this operating system version did introduce Bluetooth LE support, the APIs do not allow scanning for iBeacons because scanning functions are locked down to the operating system. Thitrd party apps are not allowed to perform scans which would be needed to look for beacons. The OS itself has no functionality to scan for iBeacons, only the ability to scan for connectable Bluetooth LE devices and pair with them.

Third party apps can look for devices implementing known GATT profiles like so:

var themometerServices = await Windows.Devices.Enumeration .DeviceInformation.FindAllAsync(GattDeviceService .GetDeviceSelectorFromUuid( GattServiceUuids.HealthThermometer), null); 

But iBeacons do not advertise GATT services, so this won't help. What is needed is either native support for locating beacons or third party access to raw scan results, which is needed to decode beacon identifiers.

Microsoft is expected to expand support for Bluetooth LE in their upcoming Windows 10 release, which will have a unified desktop/mobile codebase. It is possible the necessary functionality will be included. This OS will not be released until late 2015 and no preview APIs will be available until early 2015, which is the soonest we may have confirmation that such support is coming. Because the company is putting so much energy into this release, it is unlikely there will be any new functionality added to Windows Phone 8.x in the meantime.