Hello everyone,
I’m building an attendance app using Feasy Beacon devices and Flutter, and I’m scanning BLE devices with the flutter_blue_plus plugin.
On Android, everything works as expected:
I can identify the beacon using the MAC address (remoteId)
The UUID matches the value configured on the beacon
On iOS, however, I’m facing a limitation:
remoteId is a random 128-bit UUID (e.g. e006b3a7-ef7b-4980-a668-1f8005f84383)
This UUID changes between installs and cannot be used as a stable identifier
iOS does not expose the MAC address
According to the plugin documentation:
/// iOS uses 128-bit uuids as the remoteId
/// Android uses 48-bit MAC addresses as the remoteId
My question:
What is the correct and reliable way to uniquely identify a Feasy Beacon across both Android and iOS?
Specifically:
Which BLE data should be used as a unique identifier (UUID / Major / Minor / Manufacturer Data)?
How can this identifier be extracted using flutter_blue_plus on iOS?
Is using iBeacon data (UUID + Major + Minor) the recommended approach for cross-platform identification?