Shiny .NET v4 is here with BLE Windows Support, Improved GPS, & More! Check It Out
BluetoothLE
Getting Started
Section titled “Getting Started” Frameworks
.NET
.NET MAUI
Blazor
Operating Systems
Android
iOS
macOS
Windows
Linux
Shiny BluetoothLE provides a unified cross-platform API for Bluetooth Low Energy operations in the BLE central role (scanning, connecting, and talking to peripherals). It wraps the native BLE APIs on each platform, giving you a consistent reactive and async experience.
Features
Section titled “Features”- Unified central-role API across iOS, macOS, Android, Windows, Linux, and Blazor WebAssembly
- Reactive (IObservable) and async/await patterns
- Managed scanner with observable collection
- Automatic GATT Error 133 handling on Android
- Background scanning and peripheral state monitoring (mobile platforms)
- Connection lifecycle management
- MTU negotiation, pairing, and reliable write transactions
Platform Notes
Section titled “Platform Notes”| Feature | iOS | macOS | Android | Windows | Linux | Blazor WASM |
|---|---|---|---|---|---|---|
| Package | Shiny.BluetoothLE | Shiny.BluetoothLE | Shiny.BluetoothLE | Shiny.BluetoothLE | Shiny.BluetoothLE.Linux | Shiny.BluetoothLE.Blazor |
| Scanning | Full | Full | Full | Full | Full (BlueZ) | Limited |
| Background scanning | Allowed with entitlements | N/A (desktop) | Foreground service | N/A | N/A | Not supported |
| Pairing | Full | Full | Full | Full | Manual via BlueZ | Not supported |
Enabling Web Bluetooth in the browser
Section titled “Enabling Web Bluetooth in the browser”| Browser | How to enable |
|---|---|
| Chrome / Edge / Brave / Opera (desktop) | Enabled by default on Windows, macOS, Linux, and ChromeOS. If scanning fails, check chrome://flags/#enable-web-bluetooth (or edge://flags, brave://flags, opera://flags) and set Web Bluetooth to Enabled, then restart. Linux also needs experimental-web-platform-features enabled and BlueZ 5.43+. |
| Chrome / Edge (Android) | Supported on Android 6.0+. No flag needed on recent versions; on older builds enable chrome://flags/#enable-experimental-web-platform-features. OS-level location services must be on for the native chooser prompt to appear. |
| Samsung Internet | Open internet://flags, enable Web Bluetooth, then restart. |
| Safari (macOS / iOS / iPadOS) | Apple does not ship Web Bluetooth in Safari. On iOS/iPadOS use a third-party browser that implements Web Bluetooth on top of WKWebView, such as Bluefy or WebBLE. There is no supported option in stock Safari on macOS. |
| Firefox (all platforms) | Not supported — Mozilla has not implemented Web Bluetooth and there is no flag to turn it on. Use a Chromium-based browser instead. |
AI Coding Assistant
Section titled “AI Coding Assistant”Step 1 — Add the marketplace:
claude plugin marketplace add shinyorg/skills Step 2 — Install the plugin:
claude plugin install shiny-client@shiny Step 1 — Add the marketplace:
copilot plugin marketplace add https://github.com/shinyorg/skills Step 2 — Install the plugin:
copilot plugin install shiny-client@shiny