Please submit your Fast Pair business proposal here for Google’s review, and to get your NDA signed. Your SI partner or someone from Google will reach out to you if we have questions on your proposal.
Register your device Model ID at the Fast Pair console. Nearby devices need to be associated with one or more Google Cloud Platform projects. Each project can contain an unlimited number of devices. If you do not have GCP projects to link with, you will need to create one (learn more). Meanwhile, your SOC/SI partners will help you create Technical Proposal at google issuetracker system and google stakeholders will review your proposal and reply the status from there.
Once your Model ID is successfully registered, please refer to the the spec or contact your SoC/SI partner for enabling Fast. During the developments, please feel free to contact your SI partner for process or engineering issues, or firstname.lastname@example.org if you do not have a SI partner or Google Technical Account Manager to contact yet.
When ready for official certification, please submit your Self-test report using this format to your SI partners or Google TAM, to help us expedite the review process.
- If you have an SI/SOC partner, please submit your self-test report to them and they will create a corresponding Technical Approval ticket on the Google issue tracker system. Google stakeholders will directly comment on the reviewing results on the tickets
- If you do NOT have an SI/SOC partner, contact your Google TAM or email@example.com for support.
If self-test results are good, your SI partners or Google TAM will inform you when the formal 3rd party lab certification starts. Please have relevant samples delivered to Google or lab at least one week before official certification starts. You must send a total of 9 sample units for QA testing and certification. See shipping guidelines for detailed instructions.
Certification results will be shared in 2-4 weeks. If passed, your device’s Fast Pair functionality will be turned on immediately the status can be seen on your Fast pair console along with your model ID. Otherwise, the Google team or your SI partners will contact you with a list of issues and you can re-submit the firmware once the issues have been addressed.
Once 3PL lab tests results are passed, you should receive a Technical Approval Letter from the Google team. If you have SI partners, they will also receive the same reviewing results from the Google ticket system. Congratulations on passing the certifications!
Once firmware or BT stacks are updated on your devices, please contact your SI partners or Google TAM to re-do steps 4-8 to ensure the relevant changes do not impact performance of fast pair features on your project.
We recommend that you start Fast Pair certification around the starting date of your product PVT. But if you don’t think that is the best plan for you, feel free to discuss your schedule with us.
Visit our Partner Marketing Hub for guidance on branding and messaging. If you are an existing partner, you have been granted access based on your company domain. If you are a new partner, please apply to request for access.
Verifying Fast Pair
Fast Pair quickly identifies Bluetooth devices near an Android mobile device and lets users connect devices with a quick tap on a notification. This document describes how to verify that Fast Pair is working correctly. The examples in this document use a Google Pixel 2 as a model Android device to test Fast Pair headsets with.
Enabling Google Play services notifications
Fast Pair requires Google Play services notifications to be enabled. If the notifications are disabled, Fast Pair notifications used to connect the Bluetooth device to your phone will not appear.
Google Play services notifications are enabled by default. If notifications are disabled, you can enable them in Settings > Apps & notifications > Google Play services > Notifications.
Debug model ID
Register your device in the console to receive a model ID. After registration, the ID will be in debug mode until it is approved for production use. To enable notifications for a debug mode ID, ensure that developer mode is on for your Android device and go to Settings > Google > Devices & sharing (or Device connections) > Devices > > Include debug results. If the option "Include debug results" is missing in this page, please enable "Developer options" then try again.
Fast Pair UI Flows
The UI flows below illustrate the pairing flow when a Bluetooth headset is registered with its model ID and there is an associated companion app linked. If the headset does not have a companion app, then the pairing will still complete normally.
The initial pairing flows show when a Fast Pair device is in pairing mode (discoverabe) and is going to pairing with a phone with a registered Google account.
The subsequent pairing flows show when a Fast Pair device is not in pairing mode (not discoverable). In subsequent pairing, the Fast Pair device has already been paired with a phone with a registered Google account and you are trying to pair the Fast Pair device with another phone that is logged into the same Google account.
Shorten BLE connection interval
To improve building GATT connection performance, the Provider is expected to make the connection interval as short as possible. The expected optimal value is 7.5 ms which is applied to most Seekers.
BLE advertisement and headset connection state
Whether a Fast Pair headset advertises the model ID or account data depends on the headset's BR/EDR discoverable mode, not the connected or disconnected state. Refer to the Fast Pair Service Spec from the links below:
- "When the Provider device is in BR/EDR discoverable (that is, in pairing mode), it shall advertise Fast Pair Model ID Data over BLE." - link
- "When not discoverable (that is, not in pairing mode), the Provider shall advertise Fast Pair Account Data" - link
As defined in the specification, the Seeker estimates the distance by the RSSI based on the given TxPower level. The estimated distance is the key factor to determine whether or not to show the notification. So the checklist of the TxPower is:
- Measure the actual output of the device using an Android phone at 1 meter away, and then add 41 dBm to that.
- Include this value in the BLE advertisement.
- Fill in this value when registering the model.
- Include this value with testing phone information in the self-test report.
As defined in the specification, the Provider can include battery information in the advertisement. The Seeker will decide to show or hide the battery notification according to the type, either 0b0011 to show battery notification or 0b0100 to hide it. Here are some guidelines on when to include the battery information in the advertisement and which type to be used:
- Include the battery information in the advertisement with show battery notification (0b0011) for at least 8 seconds when the case is opened and both buds are docked.
- Include the battery information in the advertisement with hide battery notification (0b0100) for at least 5 seconds when case is closed and both buds are docked.
- To be responsive in showing or hiding battery notifications, the advertisement should reflect the real state within 2 seconds.
- There are 2 ways to hide the battery notification:
- Stop including battery information in the advertisement, the Seeker will hide the notification after a while (, which is set to 20 seconds for now).
- Include the battery information in the advertisement with hide battery notification(0b0100), the Seeker will hide the notification immediately upon getting the advertisement.
- It is optional to include the battery information in the advertisement if there is just one bud docked when case open/close.
- It is optional to include the battery information in the advertisement when the buds are being removed from the case or being docked at the case.
- To prevent tracking, the Provider should only include raw battery data in the advertisement when needed (not all the time).
The implementation should be described in the self-test result for the Certification.
Testing and debugging Fast Pair
This document explains how to test and debug a Fast Pair device with an Android device. The examples in the document use a Google Pixel 2 for testing.
Fast Pair test guideline
- Two Android 8.x or higher phones
- Connected to the internet and have Bluetooth and Location turned on
- Logged into the same Google Account
- Fast Pair-enabled Bluetooth device
Test case 1: First-time pairing
- Make sure the Bluetooth device has not paired with the phone before. If the devices have paired before, go to Bluetooth settings on the phone and select Forget Device. If needed, toggle airplane mode on and off to help reset Bluetooth states.
- Make sure the Bluetooth device has not associated with the Google Account on the phone before.
- Enable pairing mode on the Bluetooth device.
- Place the Bluetooth device within 60 cm (24 in) of the Android phone.
When the Android phone detects the Fast Pair-enabled Bluetooth device, an initial pairing notification appears.
Tap the notification to start Fast Pairing.
When pairing completes, the Android device displays a Device connected notification. If the Bluetooth headset device has a companion app, then tapping on the notification will take you to the Play Store to download the app.
If pairing fails, then the Android device displays an Unable to connect notification.
Test case 2: Pairing a Google-account associated device with a new phone
- Make sure the Bluetooth device has not paired with the phone before. If the devices have paired before, go to Bluetooth settings on the phone and select Forget Device. If needed, toggle airplane mode on and off to help reset Bluetooth.
- Make sure the Bluetooth device has been associated with the Google account
registered on the device. You can check for a previous association by doing
- On the Android device that was used for the initial pairing, go to Settings > Google > Devices > Saved devices. The paired Bluetooth device should appear under the account.
NOTE: Fast Pair will turn on Automatically save devices after users click the initial pairing notification the first time.
- Check the second Android phone for a subsequent pairing. If the paired
device synced to the second phone, then a subsequent pairing notification
will appear in Settings > Google > Devices > Saved devices. If the
paired device does not appear under Saved devices after 20 minutes,
there may be an issue with your test account. Try registering new test
accounts to your devices and try again.
- If registering new test accounts does not work, try running Test Case 1 on another device that is signed into the original Google Account.
- Place the Bluetooth device within 60 cm (24 in) of the Android phone.
When the Android phone detects the Fast Pair-enabled Bluetooth device, a pairing notification for a previously-associated device appears.
Tap the notification to start subsequent pairing.
When the fast pair completes, the Android device displays a Device connected notification.
If fast pairing fails, then the Android device displays an Unable to connect notification.
Debugging with a bug report
Before reproducing the bug
Before starting testing and debugging, make sure you have enabled Bluetooth HCI snoop log for debugging. For instructions on enabling Bluetooth HCI snoop logs, see “Debugging with logs” on Verifying and Debugging Bluetooth.
To make logging easier, run the following commands after every device reboot, before you begin testing. These commands turn on logging and let you grab the bug report.
$ adb logcat -G 16M $ adb shell setprop log.tag.NearbyMessages VERBOSE $ adb shell setprop log.tag.NearbyDiscovery VERBOSE $ adb shell setprop log.tag.FastPair VERBOSE
Leave the phone next to the Bluetooth device for a few minutes before generating the bug report zip file.
After reproducing the bug
$ adb bugreport to generate a zip file that should contain all of the
data. The zip file generation may take several minutes.
Depending on the Android version, run one of the following commands to get
- For Android 8.x and higher:
shell $ adb pull data/misc/bluetooth/logs logs
- For Android 7.x:
shell $ adb pull sdcard/btsnoop_hci.log
Advertising other protocols alongside Fast Pair
Some devices may want to support additional features on top of Fast Pair, such as Google Assistant or Eddystone, that require additional advertisement space. In those cases, rotatating the advertisement data is the best option. However, the Fast Pair advertisements should still be advertised within the Advertising interval according to the discoverable mode and not discoverable mode.
The rotation of these advertisements will be tested during the Fast Pair certification process. If a rotating scheme is used, be sure to verify it with the Fast Pair Validator app, otherwise certification may be delayed.