Device-level fields included in the Insider session-start payload.

interface InsiderSessionStartDeviceInfo {
    app_version: string;
    battery: number;
    connection: "none" | "wifi" | "cellular";
    location_enabled: boolean;
    os_version: string;
    push_enabled: boolean;
    sdk_version: string;
}

Properties

app_version: string

Host app version (packageInfo.versionName on Android, CFBundleShortVersionString on iOS)

battery: number

Battery level in percent (0–100), or -1 if unavailable

connection: "none" | "wifi" | "cellular"

Active network type

location_enabled: boolean

Whether location permissions are granted.

Note: semantics differ across platforms.

  • Android: requires ACCESS_FINE_LOCATION AND ACCESS_COARSE_LOCATION, plus ACCESS_BACKGROUND_LOCATION on API 29+.
  • iOS: returns true when the app holds authorizedAlways or authorizedWhenInUse. Does NOT check the system-wide Location Services toggle, so this can be true even when location is globally disabled.
os_version: string

OS version (Build.VERSION.RELEASE on Android, UIDevice.systemVersion on iOS)

push_enabled: boolean

Whether system-level push notifications are enabled

sdk_version: string

Insider SDK version