Event Information
The Support Application generates different events, with each event containing specific data points. Some data points are common to all events.
The Support Application generates different events, with each event containing specific data points. Some data points are common to all events.
Events
The following details the different events that are supported.
applog
A custom application log used by individual applications to indicate an action has occurred.
airplaneMode
Boolean
Indicates whether the device currently has airplane mode enabled.
cellularState
String
Indicates the current state of the device's cellular service (i.e., 'CONNECTED' and 'DISCONNECTED').
network
Object
Collection of wifi information that includes whether or not wifi is enabled.
details.tag
String
Defines a category for the applog event occurring (e.g. "loginStart"
, userReauth
, RemoteSessionInfo
, etc.).
details.message
String
Additional information on the logged event. Often logged JSON data or a brief description such as an error message.
details.package
String
Package name of the application logging the event.
appusage
Event indicates the usage of an application. The event is generated when the user changes to another application, and will log the details of the previous application.
Example steps:
User is in Launcher, logs in.
User opens an application A (calculator, or any other app). Uses the app for at least a few seconds.
User goes back to Launcher. The agent should generate an appusage event for the application that was previously opened.
startTime
Date/Time
Calculated start time of the application launch.
endTime
Date/Time
Date/Time when application went into background.
duration
long
Length of time, in seconds, that the application was in the foreground.
screenOnDuration
long
Length of time, in seconds, that the screen was on while application in foreground.
packageName
String
Name of the package representing the application.
packageLabel
String
The display name of an application.
appusage_history
This Event provides application usage for a time period range.
details.message
String
An JSON object with execution time and array of applications.
The details.message column will contain a JSON object with the begin and end date ranges, and a data array of objects. Each entry in the array will indicate a different application.
batterycycle
Event indicates the battery has cycled.
A battery cycle is calculated during power change. When the battery level goes up, the incrementmental value change is tracked. Once this incremental value equals to 100, it is considered a battery cycle.
bluetoothevent
Event indicating a change in Bluetooth state or pairing status.
details.tag
String
Defines a category for the Bluetooth event occurring: "bluetooth_pairing_request"
, "bluetooth_state_change"
, "bluetooth_connected"
, or "bluetooth_disconnected"
.
bluetooth_le
Event showing BLE information for connected Bluetooth Low Energy devices.
details.message
String
Contains a JSON representation of data from the BLE device.
boot
Event indicates the device just booted up. Will start tracking the Settings.
deviceSettings
Object
Collection of Settings information: devMode
, adbEnabled
, usb
, rootAccess
, disabledlockScreen
.
devicedetails
Object
Collection of OS related information: os
, build
, kernel
, type
.
ntpServer
String
IP address of a device's configured NTP server.
cellularchange
Tracks changes in information or state of the device's cellular service
airplaneMode
Boolean
Indicates whether the device currently has airplane mode enabled
cellularState
String
Indicates the current state of the device's cellular service (i.e., 'CONNECTED' and 'DISCONNECTED')
cellularNetwork
String
The type of the cellular network that the device is using (e.g., 'LTE')
cellularInfo
String
An array printed as a string that describes the cellular network
lastCellularLevel
int
Signal level of the cellular network
wifiInfo
Object
Collection of wifi information that includes whether or not wifi is enabled
gps
Object
Collection of GPS information that includes whether it's enabled and where the device is
exception
Event indicates an Exception occurred within the Optiko Agent.
stackTrace
String
The stack trace of the error
heartbeat
Event is fired to let the server know that this device is still active. Occurs every 15-30 minutes (configurable).
airplaneMode
Boolean
Indicates whether the device currently has airplane mode enabled
cellularState
String
Indicates the current state of the device's cellular service (i.e., 'CONNECTED' and 'DISCONNECTED')
network
Object
Collection of wifi information that includes whether or not wifi is enabled
installedapplications
Event gives a list of installed user applications. Generated under these conditions:
On initial start of application after installation.
On device boot and installAppsOnBoot is true.
Power connection change, device is discharging, and installAppsUncradled is true.
Starting in Support Agent version 5.20.x, System level applications will be reported within the Installed System Applications event, while user level applications will be reported within the installedapplications event.
appdetails
Array List
Array of objects contain "label", "name", "type" and "ver" of packages installed.
installedsystemapplications
Event gives a list of installed system applications. Generated under these conditions:
On initial start of application after installation.
On device boot and installAppsOnBoot is true and reportSystemApps is true.
Power connection change, device is discharging, and installAppsUncradled is true and reportSystemApps is true.
Starting in Support Agent version 5.20.x, System level applications will be reported within the Installed System Applications event, while user level applications will be reported within the Installed Applications event.
appdetails
Array List
Array of objects contain "label", "name", "type" and "ver" of packages installed.
licensecheck
Event indicates a warning or error with a device license.
location
This event is generated when the Find Device processing is occuring.
lowbattery
To indicate that battery is getting low. System typically invokes when battery level gets below 15%.
lowmemory
To indicate that memory is getting low. onLowMemory at application level.
lowstorage
This event is generated when one of four locations are over 80% used. This usage is check on device Boot, when an application is installed or removed, on request (via SilentInitActivity), and on a timer.
missingpermissions
Event indicates that the Support Application is missing permissions. Introduced in version 5.14.2.
details.message
String
An array list of the missing permissions.
networkevent
Tracks information of current network connection.
storage
Contains information about the device storage levels. Can be generated upon request from Portal. Is generated on Device boot and after every 20th Heartbeat event.
Link Properties Information
Describes the properties of a network link. A link represents a connection to a network. It may have multiple addresses and multiple gateways, multiple dns servers but only one http proxy and one network interface.
dnsServer
List<InetAddress>
List of IP address of DNS servers
domains
String
The DNS domains search path set for this link
proxyHost
String
The host of the proxy
proxyPort
int
The port of the proxy
proxyExclusionList
String[]
List of hosts for which the proxy is ignored
interfaceName
String
Interface name for this link
linkAddresses
ArrayList<LinkInformation>
List of LinkInformation that contains: host InetAddress, host flags, host scope
routes
ArrayList<RouteInformation>
List of information of all routes set to this link
Network Information
detailedState
String
Reports the current fine-grained state of the network.
extraInfo
String
Report the extra information about the network state, if any was provided by the lower networking layers.
isAvailable
Boolean
Indicates whether network connectivity is possible.
isFailover
Boolean
Indicates whether the current attempt to connect to the network resulted from the ConnectivityManager trying to fail over to this network following a disconnect from another network.
isConnected
Boolean
Indicates whether network connectivity exists and it is possible to establish connections and pass data.
isRoaming
Boolean
Indicates whether the device is currently roaming on this network. When true, it suggests that use of data on this network may incur extra costs.
networkType
Integer
Reports the type of network (mobile, wifi, wimax, ethernet, bluetooth)
state
String
Reports the current coarse-grained state of the network.
subtype
Integer
Return a network-type-specific integer describing the subtype of the network.
subtypeName
String
Return a human-readable name describing the subtype of the network.
typeName
String
Return a human-readable name describe the type of the network, for example "WIFI" or "MOBILE".
reason
String
Report the reason an attempt to establish connectivity failed, if one is available.
Wifi Information
connected
Boolean
Indicates whether network connectivity exists and it is possible to establish connections and pass data.
hiddenSSID
Boolean
true
if this network does not broadcast its SSID, so an SSID-specific probe request must be used for scans.
bssid
String
Return the basic service set identifier (BSSID) of the current access point. The BSSID may be null if there is no network currently connected.
linkSpeed
Integer
Returns the current link speed in Mbps.
networkId
Integer
Each configured network has a unique small integer ID, used to identify the network when performing operations on the supplicant.
ssid
String
Returns the service set identifier (SSID) of the current 802.11 network.
roaming
Boolean
Indicates whether the device is currently roaming on this network. When true, it suggests that use of data on this network may incur extra costs.
rssi
Integer
Returns the received signal strength indicator of the current 802.11 network, in dBm.
macAddress
String
Returns device's MAC address.
connectType
String
Type of network connection. Values are "WIFI"
and "MOBILE"
.
connectSubtype
String
Return a human-readable name describing the subtype of the network.
ipAddress
String
Return device's IP address.
frequency
Integer
Returns the current frequency in MHz.
gateway
String
Returns the gateway address.
dns1
String
Domain Name Server name.
dns2
String
Alternate Domain Name Server name.
proxy
String
Defines the http proxy configuration.
savedNetworks
ArrayList<String>
List of SSIDs of saved networks.
networksession
Event indicates a change in SSID / BSSID. Then event is generated when a Connection Change event occurs.
startTime
Date/Time
Start Date/time of the connection
endTime
Date/Time
Date/Time when connection lost
duration
long
Duration, in seconds, of the connection
minRssi
long
Minimum Rssi value duration connection
maxRssi
long
Maximum Rssi value duration connection
avgRssi
double
Average Rssi value duration connection
ssid
String
SSID of the Connection
bssid
String
BSSID of the Connection
packageadd
Event indicates the package / application has been Added to the system.
appdetail
contains package Label, Name and the Version
packageremove
Event indicates the package / application has been removed from the system.
appdetail
Contains the name of the Package.
powersession
Event indicating the Charging / Discharging. When a device stops charging (removed from Cradle), this event will be generated indicating the duration of the Charge, begining/ ending Charge, and Rate of Charge per hour. Once the device is begins to charge (placed on Cradle), an event will be generate indicating the Discharge of the battery (duration, beginning/ending charge, rate per hour of discharge).
Use "type" field to determine if a "charge" or "discharge" event session.
type
String
indicates either a CHARGE or DISCHARGE session
startTime
Date/Time
Start Date/Time of session
endTime
Date/Time
Ending Date/Time of session
duration
long
Length, in seconds, of the session
startCharge
long
Charge value at the beginning of session
endCharge
long
Charge value at the end of session
ratePerHour
double
Rate per hour of the charge or discharge
projectedHour
long
Projected number of hours to discharge or charge the device
settingsChange
If any of the Android Settings (USB, Root Access, etc) change from the BOOT of the device, then this event will be sent out.
shutdown
Indicates a device has shutdown normally.
support
Event indicates information concerning logs, storage information, device settings, and device information.
Data Points
Each of the events have the following common data points.
Common
time
Date
The date/time the event was generated.
orgId
String
The organization ID to which the device belongs.
origin
String
Indicates "handheld".
originIP
String
The IP address of the network within which the event originated.
originModel
String
Device model identifier (e.g. TC21, CT60, etc.).
version
Integer
Support Agent application version number.
event
String
The event name.
deviceId
String
The device serial number.
userSettings
Map<String, String>, converted to JSON Array
Key/value pairs of user application settings. i.e. StoreNumber, User Id, etc.
Device Activity details
Some events contain additional device details. These details include the following points: Battery, Network, GPS (location), ScreenState, Foreground APP, and Additional Details (optional).
foregroundApp
String
Package / Application that is currently in the foreground when event generated
screenState
String
Screen ON or OFF
details
Hash Map
Key / value pairs of different data points. Most likely from other applications.
permissionsAppUsage
Boolean
1 or 0 to indicate if the Optiko Agent as permissions to use AppUsage data. If the field does not exist, then device does not support application usage permissions.
activeAdmins
Array List
List of package names that are currently set as Device Administrator applications. Package name strings separated with a comma (e.g. [“com.airwatch.admin.motorolamx”,“com.google.android.gms”]
).
accessPoints
Array List
List of the network access points nearest to a device; the results of a WiFi scan via the Support Agent application.
airplaneMode
Boolean
Indicates whether the device currently has airplane mode enabled
cellularState
String
Indicates the current state of the device's cellular service (i.e., 'CONNECTED' and 'DISCONNECTED')
Battery
technology
String
battery tech, ex: Li-ion
connectionState
String
If charging, how is the battery connected: USB, Wireless, etc
health
String
The health of the battery, as detected by the OS. Good, Bad, etc.
serialNumber
String
The Battery serial Number
status
String
Battery status, charging or discharging
voltage
int
Battery voltage
temperature
double
Current battery temperature
charge
double
Current charge on battery
maxCapacity
double
Maximum charging capacity of device's battery, which registers as fully-charged (e.g.100
, 97
, etc.).
BatteryDetail
manufactureDate
Date
Battery manufacture date.
partNumber
String
Part number for battery. Prefix is "21-” or “82-” (e.g. "21-xxxxx-01 Rev. X"
).
backupBatteryVoltage
String
Backup battery voltage.
ratedCapacity
String
Rated capacity of the battery.
decommissionStatus
String
Decommission status of the battery.
baseCumulativeCharge
String
Cumulative charge using Zebra charging equipment only.
noOfChargeCycle
String
Number of charge cycles.
totalCumulativeCharge
String
Cumulative charge using any (Zebra or non-Zebra) charging equipment.
secondsSinceFirstUse
String
Number of seconds passed since the battery was placed in a charger/terminal for the first time.
presentCapacity
String
Maximum amount of charge that could be pulled from the battery under the present discharge conditions if the battery is fully charged.
healthPercentage
String
Battery health indicator in percentage (0 to 100).
timeToEmpty
String
Remaining time until the device becomes unusable under current discharge conditions. If the returned value is "65535"
, then timeToEmpty
is considered to be unknown.
timeToFull
String
Time until battery is fully charged under present charging conditions. If the returned value is "65535"
, then timeToFull
is considered to be unknown.
Bluetooth
state
String
Bluetooth enabled status; "on"
or "off"
.
device
Array List
Objects consisting of string values for paired devices' deviceName
, connectionStatus
, macAddress
, category
, and subCategory
.
GPS
GPS Location information
gpsEnabled
boolean
Is GPS Location enabled
netEnabled
boolean
Is Network Location enabled
passiveEnabled
boolean
Is Passive Location enabled
gpsLat
String
Latitude according to GPS Location
gpsLong
String
Longitude according to GPS Location
netLat
String
Latitude according to Network Location
netLong
String
Longitude according to Network Location
passiveLat
String
Latitude according to Passive Location
passiveLong
String
Longitude according to Passive Location
Network
connectionSubType
String
battery tech, ex: Li-ion
connectType
String
Type of network connection. Values are "WIFI"
and "MOBILE"
.
connected
boolean
connected (1) or not connected (0)
ssid
String
Current SSID
ipAddress
String
AP Ip Address
linkSpeed
int
Link Speed
networkId
Int
Network ID
isRoaming
boolean
Is the device roaming.
rssi
int
RSSI value, indicates Signal Strength
hiddenSSID
boolean
Is the SSID Hidden
Last updated