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 and whitelisting.
- 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.
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.)
- 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.
Assistant USB-C headphones MUST implement physical buttons that enable the user to control Assistant functionality on the phone.
- 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.
- 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.
- It is RECOMMENDED that buttons be visibly labeled with symbols that correspond to Functions A, B, and C, as shown below.
- It is RECOMMENDED that button labelling be distinguishable by touch (e.g., raised labels), to allow for easy eyes-free operation.
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.
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.
Android, Assistant available
When the headphones are connected to an Android mobile device with the Assistant present and available, the required UX is:
Each headphones product MUST have unique 16-bit Vendor ID reported over the USB interface, which is assigned by the USB Implementers Forum.
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.
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.
- 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.
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.
|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|