Skip to content

Manufacturer Specific Data

Paul DeMarco edited this page Aug 11, 2018 · 6 revisions

Manufacturer Specific Data

From the spec:

The Manufacturer Specific data type is used for manufacturer specific data. The first two data octets shall contain a company identifier code from the Assigned Numbers - Company Identifiers document. The interpretation of any other octets within the data shall be defined by the manufacturer specified by the company identifier

If the device is advertising MSD in both an advertising packet AND the scan response, Android and iOS handle this differently:

iOS

If the accessory advertises mfg data in both the advertising packet (ADV_IND) and the scan response (SCAN_RSP), previously iOS would only hand back the data from the scan response. iOS 9 will now concatenate the two fields to provide all the data from the device. (from this post)

Android

As of Android 21, the multiple instances of MSD are parsed separately and can be accessed with ScanRecord#getManufacturerSpecificData()

Note: Unfortunately, iOS does not allow access to the raw bytes of the scan record. If this was the case, all parsing would be performed Dart-side.

Clone this wiki locally