permissions-registration

App-Registrierung mit Meta AI und Geräteberechtigungsabläufe

npx skills add https://github.com/facebook/meta-wearables-dat-android --skill permissions-registration

Permissions & Registration (Android)

Register your app with Meta AI, then request the device permissions it needs.

The DAT SDK separates two steps:

  1. Registration: The user connects your app to Meta AI.
  2. Device permissions: After registration, your app requests capabilities such as camera access.

Both flows depend on the Meta AI app being installed on the phone.

Start registration

Wearables.startRegistration(activity)

Observe registration state:

lifecycleScope.launch {
    Wearables.registrationState.collect { state ->
        // Update your registration UI
    }
}

To unregister:

Wearables.startUnregistration(activity)

Check permission status

checkPermissionStatus(...) is a suspend API that returns a DatResult.

lifecycleScope.launch {
    Wearables.checkPermissionStatus(Permission.CAMERA)
        .onSuccess { status ->
            if (status == PermissionStatus.Granted) {
                startStreaming()
            }
        }
        .onFailure { error, _ ->
            showPermissionError(error.description)
        }
}

Request a permission

Use Wearables.RequestPermissionContract() with the Activity Result API:

private val permissionLauncher =
    registerForActivityResult(Wearables.RequestPermissionContract()) { result ->
        result.onSuccess { status ->
            if (status == PermissionStatus.Granted) {
                startStreaming()
            }
        }.onFailure { error, _ ->
            showPermissionError(error.description)
        }
    }

fun requestCameraPermission() {
    permissionLauncher.launch(Permission.CAMERA)
}

Users can allow once or allow always through the Meta AI flow.

Developer Mode vs production

ModeRegistration behavior
Developer ModeUse mwdat_application_id = 0 and mwdat_client_token = 0 manifest placeholders for local development
ProductionUse the application ID and client token assigned in the Wearables Developer Center

For development builds, enable Developer Mode in the Meta AI app before testing registration and permissions.

Prerequisites

  • Internet connection for registration
  • Meta AI app installed on the phone
  • Callback URI scheme configured in AndroidManifest.xml
  • Bluetooth permission granted on Android

Links

Mehr Skills von facebook

gc-safe-coding
facebook
Die vollständige Erklärung und Begründung finden Sie in doc/GCSafeCoding.md.
app-review-prep
facebook
Bereiten Sie eine Meta-App für die App-Überprüfung vor – prüft aktuellen Status, ausstehende Anforderungen, gewährte Berechtigungen und Einreichungsverlauf. Verwenden Sie vor dem Einreichen einer App…
api-health
facebook
Überwachen Sie die API-Gesundheit einer Meta-App – prüfen Sie Rate Limits, Anrufvolumen und API-Deprecations. Verwenden Sie dies zur Diagnose von Drosselung, zur Kapazitätsplanung oder zur Vorbereitung auf API-Version…
debug-webhooks
facebook
Beheben Sie Webhook-Probleme für eine Meta-App – prüfen Sie aktive Abonnements, identifizieren Sie Fehlkonfigurationen und senden Sie Test-Payloads, um die Zustellung zu verifizieren. Verwenden Sie, wenn…
api-integration
facebook
Führe einen Entwickler durch die Einrichtung einer Meta-API-Integration von Grund auf — findet die richtigen APIs, ruft Setup-Anleitungen und Authentifizierungsanforderungen ab, …
webhook-setup
facebook
Richte Webhooks für eine Meta-App end-to-end ein – entdecke verfügbare Topics, abonniere Felder und verifiziere mit einer Test-Payload. Verwende dies beim Konfigurieren von Webhooks für…
test-ui
facebook
Teste das UI-System (PanelUI, ScreenSpace) am Beispiel von poke mit der iwsdk CLI.
flags
facebook
Inspiziere und vergleiche Feature-Flag-Status über React-Release-Kanäle hinweg. Zeige alle Flags über Kanäle hinweg an (www, www-modern, canary, next, experimental, rn-Varianten) oder vergleiche bestimmte Kanäle mit --diff. Ausgabeformate umfassen Standard-Tabellenansicht, CSV-Export und Bereinigungsstatus-Gruppierung. Flag-Status werden durch Symbole angezeigt: aktiviert (✅), deaktiviert (❌), Variantentest (🧪), nur Profiling (📊). Häufige Falle: __VARIANT__-Flags werden in beiden Zuständen auf www getestet; verwende --diff, um sinnvolle...