Get desktop application:
View/edit binary Protocol Buffers messages
Information sent by the device in a "checkin" request.
Used in:
Miliseconds since the Unix epoch of the device's last successful checkin.
The current MCC+MNC of the mobile device's current cell.
The MCC+MNC of the SIM card (different from operator if the device is roaming, for instance).
The device's current roaming state (reported starting in eclair builds). Currently one of "{,not}mobile-{,not}roaming", if it is present at all.
For devices supporting multiple user profiles (which may be supported starting in jellybean), the ordinal number of the profile that is checking in. This is 0 for the primary profile (which can't be changed without wiping the device), and 1,2,3,... for additional profiles (which can be added and deleted freely).
Class of device. Indicates the type of build proto (IosBuildProto/ChromeBuildProto/AndroidBuildProto) That is included in this proto
For devices running MCS on Chrome, build-specific characteristics of the browser. There are no hardware aspects (except for ChromeOS). This will only be populated for Chrome builds/ChromeOS devices
Devices send this every few hours to tell us how they're doing.
IMEI (used by GSM phones) is sent and stored as 15 decimal digits; the 15th is a check digit.
IMEI, reported but not logged.
MEID (used by CDMA phones) is sent and stored as 14 hexadecimal digits (no check digit).
MEID, reported but not logged.
MAC address (used by non-phone devices). 12 hexadecimal digits; no separators (eg "0016E6513AC2", not "00:16:E6:51:3A:C2").
MAC address, reported but not logged.
An array parallel to mac_addr, describing the type of interface. Currently accepted values: "wifi", "ethernet", "bluetooth". If not present, "wifi" is assumed.
Serial number (a manufacturer-defined unique hardware identifier). Alphanumeric, case-insensitive.
Older CDMA networks use an ESN (8 hex digits) instead of an MEID.
ESN, reported but not logged
Android device ID, not logged
Pseudonymous logging ID for Sawmill
Digest of device provisioning, not logged.
Current locale in standard (xx_XX) format
DEPRECATED, see AndroidCheckinProto.requested_group
Blob of data from the Market app to be passed to Market API server
SID cookies of any google accounts stored on the phone. Not logged.
Time zone. Not currently logged.
Security token used to validate the checkin request. Required for android IDs issued to Froyo+ devices, not for legacy IDs.
Version of checkin protocol. There are currently two versions: - version field missing: android IDs are assigned based on hardware identifiers. unsecured in the sense that you can "unregister" someone's phone by sending a registration request with their IMEI/MEID/MAC. - version=2: android IDs are assigned randomly. The device is sent a security token that must be included in all future checkins for that android id. - version=3: same as version 2, but the 'fragment' field is provided, and the device understands incremental updates to the gservices table (ie, only returning the keys whose values have changed.) (version=1 was skipped to avoid confusion with the "missing" version field that is effectively version 1.)
OTA certs accepted by device (base-64 SHA-1 of cert files). Not logged.
A single CheckinTask on the device may lead to multiple checkin requests if there is too much log data to upload in a single request. For version 3 and up, this field will be filled in with the number of the request, starting with 0.
For devices supporting multiple users, the name of the current profile (they all check in independently, just as if they were multiple physical devices). This may not be set, even if the device is using multiuser. (checkin.user_number should be set to the ordinal of the user.)
For devices supporting multiple user profiles, the serial number for the user checking in. Not logged. May not be set, even if the device supportes multiuser. checkin.user_number is the ordinal of the user (0, 1, 2, ...), which may be reused if users are deleted and re-created. user_serial_number is never reused (unless the device is wiped).
The response to the device.
Whether statistics were recorded properly.
Time of day from server (Java epoch).
Provisioning is sent if the request included an obsolete digest. For version <= 2, 'digest' contains the digest that should be sent back to the server on the next checkin, and 'setting' contains the entire gservices table (which replaces the entire current table on the device). for version >= 3, 'digest' will be absent. If 'settings_diff' is false, then 'setting' contains the entire table, as in version 2. If 'settings_diff' is true, then 'delete_setting' contains the keys to delete, and 'setting' contains only keys to be added or for which the value has changed. All other keys in the current table should be left untouched. If 'settings_diff' is absent, don't touch the existing gservices table.
If Market got the market_checkin data OK.
From the request, or newly assigned
The associated security token
NEXT TAG: 12
Build characteristics unique to the Chrome browser, and Chrome OS
Used in:
The platform of the device.
The Chrome instance's version.
The Channel (build type) of Chrome.
Used in:
for tip of tree or custom builds
Used in:
Just a placeholder. Likely don't need it due to the presence of the Android GCM on phone/tablet devices.
enum values correspond to the type of device. Used in the AndroidCheckinProto and Device proto.
Used in:
Android Device
Apple IOS device
Chrome browser - Not Chrome OS. No hardware records.
Chrome OS
A concrete name/value pair sent to the device's Gservices database.
Used in: