Message Stream
Stay organized with collections
Save and categorize content based on your preferences.
Fast Pair requires an additional channel for a persistent connection with the
Providers to support Fast Pair extensions. When the Provider connects to a
supported Seeker, the Seeker will attempt to connect the message stream.
Supported Implementation
Fast Pair supports two kinds of message stream implementations:
RFCOMM
Use fixed UUID as the endpoint
df21fe2c-2515-4fdb-8886-f12c4d67927c
L2CAP
Use GATT PSM Characteristic to obtain the PSM value for L2CAP connection.
Once connected, messages can be exchanged in the following format:
Octet |
Data Type |
Description |
Mandatory? |
0 |
uint8 |
Message group |
Mandatory |
1 |
uint8 |
Message code |
Mandatory |
2 - 3 |
uint16 |
Additional data length |
Mandatory |
4 - n |
|
Additional data |
Optional |
The additional data length and additional data fields should be big endian.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-12 UTC.
[null,null,["Last updated 2025-08-12 UTC."],[[["\u003cp\u003eFast Pair utilizes a persistent connection with Providers via an additional channel to enable Fast Pair extensions.\u003c/p\u003e\n"],["\u003cp\u003eTwo message stream implementations are supported: RFCOMM using a fixed UUID and L2CAP using GATT PSM Characteristic for connection.\u003c/p\u003e\n"],["\u003cp\u003eExchanged messages adhere to a specific format containing message group, message code, additional data length, and optional additional data.\u003c/p\u003e\n"],["\u003cp\u003eData length and additional data fields within messages are represented in big endian format.\u003c/p\u003e\n"]]],[],null,["# Message Stream\n\nFast Pair requires an additional channel for a persistent connection with the\nProviders to support Fast Pair extensions. When the Provider connects to a\nsupported Seeker, the Seeker will attempt to connect the message stream.\n\nSupported Implementation\n------------------------\n\nFast Pair supports two kinds of message stream implementations:\n\n### RFCOMM\n\nUse fixed UUID as the endpoint\n`df21fe2c-2515-4fdb-8886-f12c4d67927c`\n\n### L2CAP\n\nUse GATT [PSM Characteristic](/nearby/fast-pair/specifications/bledevice#message_stream_PSM \"message stream_PSM\") to obtain the PSM value for L2CAP connection.\n\nMessage Format\n--------------\n\nOnce connected, messages can be exchanged in the following format:\n\n| Octet | Data Type | Description | Mandatory? |\n|-------|-----------|------------------------|------------|\n| 0 | uint8 | Message group | Mandatory |\n| 1 | uint8 | Message code | Mandatory |\n| 2 - 3 | uint16 | Additional data length | Mandatory |\n| 4 - n | | Additional data | Optional |\n\nThe additional data length and additional data fields should be big endian."]]