2
votes

I'm totally new in Bluetooth & iBeacons world. I'm developing an app using Cordova, I'm using cordova-plugin-ibeacon (https://github.com/petermetz/cordova-plugin-ibeacon).

I start MONITORING for a region with only UUID defined (no major and no minor defined), because I want to find all the beacons with the same UUID, don't want to apply any "filter" to major/minor.

The callback "didDetermineStateForRegion" is being executed on region enter/exit, but when I dump to console the data being passed to callback... can't found major/minor on it. An example:

{"eventType":"didDetermineStateForRegion","region":{"identifier":"beacon_region_0","uuid":"ebefd083-70a2-47c8-9837-e7b5634df524","typeName":"BeaconRegion"},"state":"CLRegionStateInside"}

I would like to monitor for a given UUID but also be able to know major/minor values for every iBeacon found for this UUID. Is this possible?

I've also tried with cordova-plugin-ble-central (https://github.com/don/cordova-plugin-ble-central#startstatenotifications), using startScan... but I got the same issue: I scan for a concrete UUID, but in the info of found device's I can't get major/minor values. Example:

{"id":"41:4E:B8:F1:F6:15","advertising":{},"rssi":-39}

Please help me with this issue. I can't believe that is not possible to get the major/minor values for every beacon found when filtering only by UUID.

1

1 Answers

1
votes

With the cordova-plugin-ibeacon, try using ranging APIs, not monitoring APIs. This is not a Cordova issue is is a general beacon API issue. The concept of monitoring just tells you if the identifier pattern you passed is detected or not detected. Monitoring does not tell you specific beacon identifiers. Ranging does.