UserAgentProto

JSON representation
{
  "family": enum (Family),
  "subFamily": string,
  "platform": string,
  "device": string,
  "deviceVersion": string,
  "carrier": string,
  "security": string,
  "locale": string,
  "os": string,
  "osVariant": string,
  "browser": string,
  "browserVersion": string,
  "browserEngineVersion": string,
  "googleToolbarVersion": string,
  "javaProfile": string,
  "javaProfileVersion": string,
  "javaConfiguration": string,
  "javaConfigurationVersion": string,
  "messaging": string,
  "messagingVersion": string,
  "annotation": [
    {
      object (Annotation)
    }
  ]
}
Fields
family

enum (Family)

User agent family captures the type of browser/app at a high-level e.g. MSIE, Gecko, Safari etc..

subFamily

string

Sub-family identifies individual regexps when a family has more than 1. This is used to generate the right UA string from a protobuf. Examples in the AppleWebKit family: Chrome and Safari. Can also be an arbitrary identifier.

platform

string

The platform describes the environment in which the browser or app runs. For desktop user agents, Platform is a string describing the OS family e.g. Windows, Macintosh, Linux. For mobile user agents, Platform either describes the OS family (if available) or the hardware maker. e.g. Linux, or HTC, LG, Palm.

device

string

(Usually) Mobile specific: name of hardware device, may or may not contain the full model name. e.g. iPhone, Palm750, SPH-M800. Reduced to "K" for Android devices with reduced User-Agent and no client hints (https://www.chromium.org/updates/ua-reduction/).

deviceVersion

string

(Usually) Mobile specific: version of hardware device Unavailable with reduced User-Agent and no client hints (https://www.chromium.org/updates/ua-reduction/).

carrier

string

Mobile specific: name of mobile carrier

security

string

Security level reported by user agent, either U, I or N. Unavailable with reduced User-Agent and no client hints (https://www.chromium.org/updates/ua-reduction/).

locale

string

Locale in which the browser is running as country code and optionally language pair. Unavailable with reduced User-Agent and no client hints (https://www.chromium.org/updates/ua-reduction/).

os

string

Full name of the operating system e.g. "Darwin/9.7.0", "Android 1.5", "Windows 98" Version is reduced, and other data might also be missing, for reduced User-Agent and no client hints (https://www.chromium.org/updates/ua-reduction/).

osVariant

string

Extra qualifier for the OS e.g. "(i386)", "Build/CUPCAKE", "PalmSource/Palm-D061" Unavailable with reduced User-Agent and no client hints (https://www.chromium.org/updates/ua-reduction/).

browser

string

Product brand within the family: Firefox, Netscape, Camino etc.. Or Earth, Windows-Media-Player etc.. for non-browser user agents.

browserVersion

string

Minor and lower versions unavailable with reduced User-Agent and no client hints (https://www.chromium.org/updates/ua-reduction/).

browserEngineVersion

string

Version of the rendering engine e.g. "8.01" for "Opera/8.01"

googleToolbarVersion

string

Version number of GoogleToolbar, if installed. Applies only to MSIE and Firefox at this time.

javaProfile

string

Mobile specific: e.g. Profile/MIDP-2.0

javaProfileVersion

string

javaConfiguration

string

Mobile specific: e.g. Configuration/CLDC-1.1

javaConfigurationVersion

string

messaging

string

Mobile specific: e.g. MMP/2.0

messagingVersion

string

annotation[]

object (Annotation)

Annotation

Extra parameters that don't fit anywhere else, captured as key/value. For example "VendorID/42" in BlackBerry user agents.

The following keys are modified with reduced User-Agent and no client hints (https://www.chromium.org/updates/ua-reduction/): * "Chrome" (see browserVersion) * "ChromiumBrowser" (unavailable) * "ChromeWebview" (unavailable) * "OS_VERSION" (see os) * "Rest" (unavailable) * "misc" (see device)

JSON representation
{
  "key": string,
  "value": string
}
Fields
key

string

value

string