meta_wearables_dat
Flutter plugin for Meta’s Wearables Device Access Toolkit (DAT).
Provides access to registration, device state, camera streaming, and photo capture from Meta AI glasses.
⚠️ Android only
This plugin currently supports Android only. iOS is currently not yet supported.
Features
- Initialize Wearables SDK
- Registration / unregistration via Meta AI app
- Observe registration state and available devices
- Request Wearables camera permission
- Start / stop camera streaming
- Receive live video frames in Flutter
- Capture and share photos from an active stream
Requirements
Platform
- Android 10+
- Flutter v3.3+
- GitHub account (for Meta SDK access)
Meta AI / Glasses
- Ray-Ban Meta (Gen 1 or 2) or Oakley Meta HSTN
- Meta AI app v247+
- Glasses firmware v20+
- Developer Mode enabled on glasses
Enable Developer Mode
- Open Meta AI app
- Go to Settings → App Info
- Tap App version five times
- Select the toggle to enable Developer Mode.
- Click Enable to confirm.
Installation
dependencies:
meta_wearables_dat: ^0.1.2
Android Setup
Permissions
Add to AndroidManifest.xml:
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.INTERNET" />
Wearables Application ID
Inside <application>:
<meta-data
android:name="com.meta.wearable.mwdat.APPLICATION_ID"
android:value="0" />
- Use
0for Developer Mode - For release builds, obtain an Application ID from Meta:
https://wearables.developer.meta.com/docs/manage-projects
FileProvider (photo sharing)
Inside <application>:
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths" />
</provider>
Create:
android/app/src/main/res/xml/file_paths.xml
<?xml version="1.0" encoding="utf-8"?>
<paths>
<cache-path name="cache" path="." />
</paths>
Meta SDK Dependency (GitHub Packages)
The Meta Wearables SDK is hosted on GitHub Packages.
Create a GitHub token
- Token type: Personal access token (classic)
- Required scope:
read:packages
Provide the token
Option A – environment variable
export GITHUB_TOKEN=your_token_here
Option B – local.properties (recommended)
github_token=your_token_here
Add repository
In settings.gradle.kts:
maven {
url = uri("https://maven.pkg.github.com/facebook/meta-wearables-dat-android")
credentials {
username = ""
password = System.getenv("GITHUB_TOKEN")
?: localProperties.getProperty("github_token")
}
}
Usage
Initialize
await Wearables.instance.initialize();
Registration
await Wearables.instance.startRegistration();
await Wearables.instance.startUnregistration();
Wearables.instance.registrationStateStream.listen((state) {
print(state.state);
});
Camera Permission
final status = await Wearables.instance.checkCameraPermission();
if (status != 'Granted') {
await Wearables.instance.requestCameraPermission();
}
Streaming
await Wearables.instance.startStream(
videoQuality: 'MEDIUM',
frameRate: 24,
);
Wearables.instance.videoFramesStream.listen((bytes) {
// JPEG frames (Uint8List)
});
await Wearables.instance.stopStream();
Example
A complete example app is included.
cd example
flutter run
Platform Support
| Platform | Supported |
|---|---|
| Android | ✅ |
| iOS | ❌ |
License
This project is licensed under the BSD 3-Clause License.
See the LICENSE file for details.
Meta Wearables Device Access Toolkit is subject to Meta’s own terms.