Skip to Content
MatérielTransportFlutter (natif)

Flutter : connexion par Bluetooth (natif)

Ce guide s’appuie sur le Plugin de transport de bas niveau pour l’interface d’E/S BLE et les limites de Protocol V1/V2 — lisez-le d’abord.

Pour les applications Flutter qui chargent un bundle JS via WebView ou un moteur JS et communiquent avec @onekeyfe/hd-common-connect-sdk via un adaptateur de bas niveau.

Étape 1. Choisir un environnement d’exécution

  • WebView : stable et largement pris en charge ; API de pont identique aux enveloppes natives iOS/Android
  • Moteur JS : par exemple flutter_js, exécuter le bundle JS compilé directement dans Dart

Étape 2. Construire le bundle JS

Compilez dans les exemples natifs du dépôt hardware-js-sdk (voir les répertoires web/) et produisez les ressources web_dist/.

Étape 3. Charger le bundle JS

Chargez les ressources web_dist/ dans Flutter (via WebView ou un moteur JS).

Étape 4. Implémenter le pont de messagerie

Exposez enumerate/connect/disconnect/send/receive du natif vers JS, en conservant les mêmes signatures. Transmettez les blocs de notification BLE non modifiés en hexadécimal à une file par connexion consommée par receive(uuid). Le SDK gère le cadrage et le réassemblage V1/V2.

Étape 5. Gérer les événements d’interface

Affichez des boîtes de dialogue natives pour les demandes de saisie et des instructions pour les demandes sur l’appareil. Seules les demandes de saisie reçoivent HardwareSDK.uiResponse ; préservez leur corrélation de réponse. Les confirmations par bouton et les demandes de PIN uniquement sur l’appareil sont des notifications. Consultez Connexion de l’interface.

UUID BLE

  • serviceUuid = 00000001-0000-1000-8000-00805f9b34fb
  • writeCharacteristic = 00000002-0000-1000-8000-00805f9b34fb
  • notifyCharacteristic = 00000003-0000-1000-8000-00805f9b34fb

Références

Une fois connecté, l’usage des API de chaîne est identique à WebUSB : fournissez connectId et (si nécessaire) deviceId.

Dernière mise à jour le