Get desktop application:
View/edit binary Protocol Buffers messages
Used in:
Sample data, if provided, is fished from a Nexus 7 (2013) / flo running Android 5.0
unused
Gservices["android_id"] or 0 on first-checkin
Gservices["digest"] or ""
unused
Locale.toString
GoogleSettingsContract.Partner["logging_id2"] (choosen randomly on first checkin) eg. 12561488293572742346
unused
NetworkInfo.getExtraInfo, WifiInfo.getMacAddress (12 hex-digits) eg. d850e6abcdef
TelephonyManager.getDeviceId (14 hex-digits), not set on tablets
"[<email>]" followed by "<authToken>", empty string on first checkin
TimeZone.getId eg. GMT
security token as given on first checkin, not set on first checkin
use 3
SHA-1 of each in /system/etc/security/otacerts.zip or "--IOException--" or "--no-output--" eg. dKXTm1QH9QShGQwBM/4rg6/lCNQ=
Build.SERIAL != "unknown" eg. 07d90b18
TelephonyManager.getDeviceId (8 hex-digits), not set on tablets
"ethernet" or "wifi"
unknown, use 0 on pre- and first-checkin, and 1 for later checkins also present on pre-checkin
unknown
UserManager.getUserSerialNumber eg. 0
Used in:
empty Build on pre-checkin
last checkin ms or 0 if first checkin eg. 0
eg. ("event_log_start",~,1424612602652) on first checkin
unknown, n/a on first checkin
unused
TelephonyManager.getNetworkOperator != null|empty
TelephonyManager.getSimOperator != null|empty
"WIFI::" | ("mobile" | "notmobile" | "unknown") + "-" + ("roaming" | "notroaming" | "unknown")
UserHandle.myUserId eg. 0
Used in:
Build.FINGERPRINT eg. google/razor/flo:5.0.1/LRX22C/1602158:user/release-keys
Build.HARDWARE eg. flo
Build.BRAND eg. google
Build.getRadioVersion()
Build.BOOTLOADER eg. FLO-04.04
GoogleSettingsContract.Partner["client_id"] eg. android-google
Build.TIME / 1000L eg. 1416533192
PackageInfo.versionCode eg. 6188736
Build.DEVICE eg. flo
Build.VERSION.SDK_INT eg. 21
Build.MODEL eg. Nexus 7
Build.MANUFACTURER eg. asus
Build.PRODUCT eg. razor
fileExists("/system/recovery-from-boot.p") eg. false
Used in:
Used in:
Used in:
ConfigurationInfo.reqTouchScreen eg. 3
ConfigurationInfo.reqKeyboardType eg. 1
ConfigurationInfo.reqNavigation eg. 1
ConfigurationInfo.screenLayout eg. 3
ConfigurationInfo.reqInputFeatures & ConfigurationInfo.INPUT_FEATURE_HARD_KEYBOARD eg. 0
ConfigurationInfo.reqInputFeatures & ConfigurationInfo.INPUT_FEATURE_FIVE_WAY_NAV eg. 0
DisplayMetrics.densityDpi eg. 320
ConfigurationInfo.reqGlEsVersion eg. 196608
PackageManager.getSystemSharedLibraryNames eg. "android.test.runner", "com.android.future.usb.accessory", "com.android.location.provider", "com.android.media.remotedisplay", "com.android.mediadrm.signer", "com.google.android.maps", "com.google.android.media.effects", "com.google.widevine.software.drm", "javax.obex"
PackageManager.getSystemAvailableFeatures eg. android.hardware.[...]
Build.CPU_ABI and Build.CPU_ABI2 != "unknown" eg. "armeabi-v7a", "armeabi"
DisplayMetrics.widthPixels eg. 1200
DisplayMetrics.heightPixels eg. 1824
Context.getAssets.getLocales eg. [...], "en-US", [...]
GLES10.glGetString(GLES10.GL_EXTENSIONS) eg. "GL_AMD_compressed_ATC_texture", [...]
unused
unused
Used in:
Used in:
Used in:
* TAG: 4
(message has no fields)
* TAG: 8
Not used.
This is the message ID, set by client, DMP.9 (message_id)
Project ID of the sender, DMP.1
Part of DMRequest - also the key in DataMessageProto.
Package name. DMP.2
The collapsed key, DMP.3
User data + GOOGLE. prefixed special entries, DMP.4
Not used.
Part of the ACK protocol, returned in DataMessageResponse on server side. It's part of the key of DMP.
In-stream ack. Increments on each message sent - a bit redundant Not used in DMP/DMR.
Not used.
Sent by the device shortly after registration.
Not used.
Not used.
serial number of the target user, DMP.8 It is the 'serial number' according to user manager.
Time to live, in seconds.
Timestamp ( according to client ) when message was sent by app, in seconds
How long has the message been queued before the flush, in seconds. This is needed to account for the time difference between server and client: server should adjust 'sent' based on his 'receive' time.
Used in:
, ,Used in:
,12: SelectiveAck 13: StreamAck
* TAG: 1
Used in:
* TAG: 0
Used in:
* TAG: 7 IqRequest must contain a single extension. IqResponse may contain 0 or 1 extensions.
Only field used in the 38+ protocol (besides common last_stream_id_received, status, rmq_id)
Used in:
* TAG: 2
Must be present ( proto required ), may be empty
string. mcs.android.com.
Decimal android ID
Secret
Format is: android-HEX_DEVICE_ID The user is the decimal value.
RMQ1 - no longer used
Replaced by "rmq2v" setting
Must be true.
ANDROID_ID = 2
Used in:
* TAG: 3
Not used.
Null if login was ok.
Should be "1"
used by the client to synchronize with the server timestamp.
* Included in IQ sent after LoginResponse from server with ID 12.
Used in:
,* Included in IQ with ID 13, sent from client or server after 10 unconfirmed messages.
No last_streamid_received required. This is included within an IqStanza, which includes the last_stream_id_received.
(message has no fields)