Is there any way to use ibeacons with Windows 10 development? Since ibeacons development with previous versions of Windows seemed nearly impossible, will we have the oportunity to support this technology now?
Has anyone started developing something like this?
Here is how you work with Apple iBeacons based on the new Windows 10 APIs mentioned in the answer by Rob Caplan:
BluetoothLEAdvertisementWatcher watcher = new BluetoothLEAdvertisementWatcher { ScanningMode = BluetoothLEScanningMode.Active };
watcher.Received += WatcherOnReceived;
private void WatcherOnReceived(BluetoothLEAdvertisementWatcher sender, BluetoothLEAdvertisementReceivedEventArgs btAdv)
{
// Optional: distinguish beacons based on the Bluetooth address (btAdv.BluetoothAddress)
// Check if it's a beacon by Apple
if (btAdv.Advertisement.ManufacturerData.Any())
{
foreach (var manufacturerData in btAdv.Advertisement.ManufacturerData)
{
// 0x4C is the ID assigned to Apple by the Bluetooth SIG
if (manufacturerData.CompanyId == 0x4C)
{
// Parse the beacon data according to the Apple iBeacon specification
// Access it through: var manufacturerDataArry = manufacturerData.Data.ToArray();
}
}
}
}
This is also how I implemented it in the open source Universal Beacon Library, which comes with complete sample code and an app to try it out: https://github.com/andijakl/universal-beacon
Yes, Beacons are supported for Windows apps in Windows 10 via the Windows.Devices.Bluetooth.Advertisement namespace
See the Build talk Building Compelling Bluetooth Apps in Windows 10 and the Bluetooth Advertisement Watcher and Publisher sample for more information.
Microsoft has previously indicated it would support application-controlled scanning for Bluetooth LE devices in Windows 10. This is the fundamental capability that is missing from Windows 8.x for both Mobile and desktop. See here for more info: https://stackoverflow.com/a/26234432/1461050
So far, the published preview APIs for Windows 10 have not exposed this functionality. If and when it is exposed, these APIs should be possible to build a library to detect Bluetooth LE beacons.
EDIT:This capability is now available in the new BluetoothLeAdvertisementWatcher
class. In anticipation of this capability, we have started work on an open source Windows Beacon Library which will ultimately be designed for use on Windows 10. This work is only in its infancy. For now, it can only be used on Windows 8.x devices in conjunction with add-on Bluetooth scanning dongles that can pass their scan results to the library for parsing.
If you are interested in helping in this effort, please send a note through the GitHub project linked above.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With