diff --git a/rayban-meta-integration.md b/rayban-meta-integration.md index e9abc8c..3169b61 100644 --- a/rayban-meta-integration.md +++ b/rayban-meta-integration.md @@ -25,13 +25,33 @@ L'architecture existante (AssistantService, QR scanner, beacons, géoloc) est ** | **ElevenLabs** | Synthèse vocale TTS | https://elevenlabs.io — tier gratuit ou payant selon volume | ### SDK Flutter (developer preview) -Les packages Meta SDK doivent être ajoutés à `pubspec.yaml` quand publiés : ```yaml -# Décommenter quand disponibles : -# meta_wearables_dat: any # Android -# meta_wearables: any # iOS (ChunkyTofuStudios) +flutter_meta_wearables_dat: ^0.9.1 # Android API 29+ et iOS 17.2+ — SDK DAT 0.9.0 +app_links: ^6.4.1 # retour du deep link Meta AI → handleUrl() ``` -Vérifier les versions actuelles sur pub.dev : `meta_wearables_dat`, `meta_wearables`. + +Le SDK natif est publié sur **GitHub Packages**, pas sur Maven Central. Il faut un +PAT GitHub avec le scope `read:packages`, dans `android/local.properties` : + +```properties +github_token=ghp_xxxx +``` + +Sans lui, le build échoue en `401 Unauthorized` sur `maven.pkg.github.com`. Un build +peut sembler passer alors que le token est expiré : Gradle sert les artefacts depuis +son cache local. Vérifier le token, pas le build. + +**iOS n'est pas activé** malgré le support du package. Le coût réel : +- deployment target à **17.2** pour toute l'app visiteur (Podfile est à 12.0) +- dictionnaire `MWDAT` dans Info.plist (`MetaAppID`, `ClientToken`, `TeamID`) — le + mode développeur `"0"` d'Android ne suffit pas +- choix d'un transport caméra : Wi-Fi (entitlements Hotspot Configuration + Wi-Fi + Information, `NSLocalNetworkUsageDescription`, +10 s à la 1re connexion) ou + Bluetooth Classic (`UISupportedExternalAccessoryProtocols`, bande passante moindre) +- la publication publique reste limitée aux partenaires Meta sous developer preview + +Le SDK DAT n'expose **ni micro, ni haut-parleur, ni bouton** des lunettes. Tout le +pipeline vocal passe hors SDK (routing Bluetooth HFP/A2DP via `AudioRoutingChannel`). --- @@ -130,7 +150,7 @@ flutter run --dart-define=ELEVENLABS_API_KEY=xxx --dart-define=PICOVOICE_ACCESS_ Lunettes Ray-Ban Meta │ Bluetooth (HFP mic, A2DP speakers, camera stream, button) ▼ -[MetaGlassesService] ← SDK DAT lifecycle + photo capture button +[MetaGlassesService] ← SDK DAT lifecycle + capture photo │ ├── [WakeWordService] ← Porcupine détecte "Hey MyVisit" (on-device) │ └── speech_to_text ← transcrit la commande après wake word @@ -173,9 +193,10 @@ Le wake word fonctionne en permanence en background (Foreground Service sur Andr ### 2. Scanner QR via lunettes -**Déclencheurs :** -- Pression courte sur le bouton hardware des lunettes -- Commande vocale "Hey MyVisit, scanne ce QR" +**Déclencheur :** commande vocale "Hey MyVisit, scanne ce QR" + +⚠️ Le bouton hardware des lunettes n'est **pas** un déclencheur : le SDK DAT ne +l'expose pas, et rien n'est implémenté pour lui côté app. **Fonctionnement :** 1. Les lunettes capturent une photo