Skip to main content

Native Bluetooth (BLE)

When connecting to UKey Wallet in a mobile native application, @ukeyfe/hardware-common-connect-sdk can continue to be responsible for upper-layer hardware calls, and then the BLE capability on the Android, iOS or Flutter side can complete data sending and receiving. JavaScript code can run in WebView or in the JS engine embedded in the application.

Use this page as the index for native BLE integrations, then jump to the platform-specific guide that matches your host app.

Native BLE Fit

  • The app itself is an Android, iOS or Flutter project and can embed a WebView or JS runtime.
  • You need to control experience details such as system Bluetooth permissions, device pairing, scan lists, or native confirmation pop-ups.
  • You want the business layer to keep the unified SDK call style, while the transport capability is supplied by native BLE.

Platform Map

PlatformFocus areaReference
AndroidNordic BLE, permission claims, device pairing and JS BridgeAndroid (native)
iOSCoreBluetooth, pairing assist and event forwardingiOS (native)
FlutterFlutter resource loading, plug-in encapsulation and native bridgingFlutter (native)

For cross-platform React Native apps, go directly to React Native Bluetooth.

Core Ideas

  • Learn about Underlying transport plug-ins and protocols first, especially the 64-byte framing and message reassembly rules.
  • Access UI_EVENT as early as possible or PIN, Passphrase or device confirmation steps may hold the request pending.
  • Web and native BLE can share the same high-level SDK calls; the native layer only needs to stably complete device enumeration, connection, writing, notification forwarding and disconnection.