Fast Pair Help

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 > > Include debug results.

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.

Initial Pairing

Subsequent Pairing

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

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

Requirements

  • Two Android 6.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

Setup
  • 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.
Expected behavior

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

Setup
  • 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 the following:
    • 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.
Expected behavior

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

Run $ 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 btsnoop_hic.log:

  • 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