Analytics
- Glassly Bluetooth SDK usage analytics are currently turned off: this SDK version sends no usage events.
- If your app disables SDK analytics, do it before SDK startup with the Expo config plugin, Android manifest metadata, iOS
Info.plist, or native SDK configuration. The setting keeps applying when analytics return. - When analytics return,
bluetooth_sdk_glasses_identifiedwill carry the glasses manufacturing serial asglasses_device_id; account for it in your privacy copy or keep analytics disabled.
App Setup
- Android, iOS, and/or React Native native builds are configured for the app stack you ship.
- iOS deployment target is
15.1or newer. - Android min SDK is
28or newer. - Android builds use Java 17.
- Android native packaging includes any
pickFirstrules required by the app’s own native dependencies. - Bluetooth permission copy is user-friendly and specific.
- Microphone, camera, local network, notification, and location permissions are requested only when needed.
- The app integrates through the documented Android, iOS, or React Native SDK APIs.
SDK Integration
- App subscribes to typed glasses and Bluetooth status callbacks.
- App handles disconnect, reconnect, scan stopped, and pair failure states.
- App derives controls from Mentra Live status, permissions, and firmware behavior.
- App cleans up SDK listeners/delegates and calls
close()/invalidate()when sessions end. - React Native apps remove every SDK event subscription when screens/session owners unmount.
- App uses typed settings APIs for gallery mode, camera, LED, Wi-Fi, streaming, and microphone settings.
- Advanced controls are gated behind SDK capability/status checks.
Privacy And Compliance
- Audio capture behavior is clearly disclosed.
- Camera capture behavior is clearly disclosed.
- Bluetooth and location permission copy explains device discovery.
- Cloud upload behavior is documented in the app privacy policy.
- Logs avoid sensitive user data.
Release Validation
- Fresh bare Android app install using the published Maven artifact.
- Fresh bare iOS app install using the published Swift package.
- Fresh React Native development or production build using the published JavaScript package, if shipping React Native.
- Android sample app in the Starter Kit builds.
- iOS sample app in the Starter Kit resolves SwiftPM dependencies and builds.
- React Native sample app in the Starter Kit runs
bun install,bunx expo prebuild, and at least one native platform build. - Fresh install test on iOS.
- Fresh install test on Android.
- Pairing test with Mentra Live.
- Reconnect test after app restart.
- Reconnect test after Bluetooth toggle.
- Camera/gallery/streaming test with Mentra Live.
- Speaker playback test with Mentra Live.
- Hardware settings test for save-in-gallery mode, camera options, LED color/pattern, Wi-Fi, and hotspot behavior.
- Button/touch event test.
- Microphone audio/transcription test if enabled.
Restricted-Network Deployments
- The app pins one exact completed Glassly release identity rather than a moving package tag.
- The self-hosted OTA bundle is the exact bundle selected by the completed release record for the pinned SDK release.
- Glassly SDK analytics are disabled before native SDK startup.
- The imported OTA ZIP matches the SHA-256 recorded in the completed release record.
- The final
version.jsonand every artifact are reachable from both the phone and Mentra Live. - The complete update and SDK feature set are tested with public internet access blocked.
- Older inventory is factory- or legacy-bootstrapped to ASG build 39 or newer.

