Repository navigation
Breaking changes
Android: updated manufacturer advertising data
advertising.manufacturerRawData now uses the same byte layout as iOS: a 2-byte little-endian company ID, followed by the manufacturer payload. Previously, Android used a 4-byte big-endian company ID.
For company ID 0xAABB and payload 01 02 03 04:
- Before:
00 00 aa bb 01 02 03 04 - Now:
bb aa 01 02 03 04
This affects both bytes and the Base64-encoded data field.
Migration: if your Android code parses manufacturerRawData, update the company ID decoding and change the payload offset from 4 bytes to 2. Code using manufacturerData[companyId] does not need this offset adjustment.
Android now also merges manufacturer payloads with the same company ID from the advertising packet and scan response, in that order, and includes all discovered company IDs in manufacturerData. Payload lengths and contents may therefore differ from previous versions.
The iOS manufacturer data format is unchanged.
Added
- iOS: Swift Package Manager support. (#1455)
Fixed
- Android: corrected manufacturer data encoding and merged advertising/scan response payloads. (#1450)