Device specifications

This document outlines the requirements for interoperability between Assistant USB-C devices (such as headphones) and the Assistant app on an Android mobile device. To enable the optimized Assistant functionality for your device, your device must satisfy the specifications listed below, and be submitted to Google for certification.


General specifications

  • The phone which interacts with your device MUST use an application provided by Google to set up and access the Assistant.
  • Your device MUST allow an application provided by Google, on the phone, to enable interactions between your device and Assistant.

Branding / Marketing requirements

  • Your Assistant USB-C headphones device MUST comply with Assistant branding and marketing requirements as documented on the Marketing site.
  • The improved Assistant experience requires Android P (9.0) or above. Device packaging and in-box materials MUST use approved wording to inform users of this requirement.

Device specifications

Privacy/logging specifications

You MUST NOT log or track any specific user data, Assistant usage, or query data on the product, in any format (raw audio, text format, etc.)

OTA specifications

  • To allow for post-launch updates and bug fixes, it is RECOMMENDED that your device supports some mechanism for applying updated software to the SoC.
  • Unlike with Bluetooth headsets, Google does not currently provide a mechanism for applying updates to USB-C devices.

Hardware specifications

Button implementation

Assistant USB-C headphones MUST implement physical buttons that enable the user to control Assistant functionality on the phone.

Industrial Design
  1. Assistant USB-C headphones MUST provide a minimum of three physical buttons mapped to Functions A, B, and C as defined in the Android USB Headset Accessory Specification.
  2. It is RECOMMENDED that these buttons are arranged in the configuration shown below, with the Function A button situated between the buttons that are mapped to Functions B and C.
  3. It is RECOMMENDED that buttons be visibly labeled with symbols that correspond to Functions A, B, and C, as shown below.
  4. It is RECOMMENDED that button labelling be distinguishable by touch (e.g., raised labels), to allow for easy eyes-free operation.

Recommended button layout and labels

Signals

Buttons on the headphones device MUST implement Functions A, B, and C as described in the Android USB Headset Accessory Specification.

In particular, each button press MUST generate the correct key down event, and each button release MUST generate the correct key up event.

Following this specification ensures that the Assistant app on the mobile device receives the expected Android key events corresponding to button presses.

UX

Buttons on the headphones device MUST trigger the UX patterns described below in response to button presses.

Android, Assistant not available

This scenario occurs when the headphones are connected to an Android mobile device where the Assistant is not present or otherwise unavailable. In the absence of the Assistant app, the headphones device will behave as a standard headset.

Assistant not available UX

Android, Assistant available

When the headphones are connected to an Android mobile device with the Assistant present and available, the required UX is:

Assistant available UX

Device identifiers

Vendor ID

Each headphones product MUST have unique 16-bit Vendor ID reported over the USB interface, which is assigned by the USB Implementers Forum.

Product ID

Each headphones product MUST have a unique 16-bit product ID reported over the USB interface. This product ID is assigned by the hardware manufacturer, and must be unique within the vendor ID.

Serial number

Each individual hardware unit MUST have a unique and permanent serial number assigned at the factory. This serial number must be unique within the vendor ID and product ID.

Microphone

  • The characteristics of the microphone(s) used for the headphones device MUST be consistent with the Android 9 compatibility definition for audio recording.
  • The microphone MUST be capable of audio capture (recording) when the button mapped to Function A is held down. Capture functionality MUST NOT be blocked.

Development specifications

Your devices MUST be shipped to Google for certification and internal user testing.


Device specification updates

Google reserves the right to update this device specification document from time to time. As a rule:

  • New projects (projects where Google has not already approved the product plan): MUST always comply with the most current version of the device specifications.

  • In-process projects (projects with approved product plan but not yet launched): your Google technical contact will inform you of the changes and discuss how these changes may impact your project.

  • Launched projects (projects that are already in the field): Google MAY request for updates to the device to implement new specs. These updates would be performed as part of the update schedule.

Version history

Date Description
2018-12-07 First posting of device spec doc on developers.google.com
2019-01-04 Adding requirement for mic capture on press of Function A button