Glassly Miniapp SDK betaThe SDK is in beta, so its APIs may change before general availability.Developing on Mentra Live? We recommend using the
Glassly Bluetooth SDK.The developer tools are available in the Glassly App under Settings →
Miniapp Developer Settings.Share feedback with an in-app bug report, on
Discord, or by email at
[email protected].
session.phone reports state from the user’s phone: notifications as they post,
calendar events, the phone’s compass heading, and the phone’s own battery. Each
concern is its own sub-module.
Register a handler and the events start arriving.
src/background/index.ts
READ_NOTIFICATIONS permission, calendar events need
CALENDAR, and the phone heading needs LOCATION, all declared in your
manifest. Phone battery needs no
permission.
Notifications
session.phone.notifications.on() fires when a notification posts on the phone.
PhoneNotificationData:
Dismissals
session.phone.notifications.onDismissed() fires when the user swipes away or
clears a notification.
NotificationDismissedData:
onDismissed is Android only. iOS does not expose dismiss callbacks to apps
(an Apple privacy restriction), so subscribing on iOS succeeds but no events ever
fire. The matching notifications.on() post-event works on both platforms.Calendar
session.phone.calendar.listEvents() reads a current snapshot from all event
calendars on the phone. Declare CALENDAR as a required permission; the Glassly
App requests access before opening the miniapp.
limit defaults to 50 and may not
exceed 100. The result contains events and a truncated flag. Each event has:
Phone heading
session.phone.heading.onUpdate() streams the phone’s compass heading on both
Android and iOS. The phone compass starts on the first subscriber and stops on
the last. For the heading of the glasses themselves, use
session.compass.
HeadingData:
session.phone.heading.hasPermission is true when LOCATION is declared in
your manifest, the same key session.location
uses. It reports the declaration, not the OS grant.
Phone battery
session.phone.onBattery() reports the phone’s battery. It stays flat (not
sub-namespaced) because it’s a single event.
BatteryData:
Cleaning up
Every subscription returns an unsubscribe function. Thenotifications
sub-module also has a stop() that tears down every notification subscription
at once. Calendar snapshots do not create a subscription.
session.phone.notifications.hasPermission tells you whether READ_NOTIFICATIONS
is declared in your manifest, and session.phone.calendar.hasPermission tells you
whether CALENDAR is declared. Neither tells you whether the user granted the OS
prompt. A calendar request rejects with PERMISSION_DENIED if access was later
revoked. See
Permissions.
