【问题标题】:Can we get eddystone uid on monitoring beacons using altbeacon?我们可以在使用 altbeacon 监控信标时获得 eddystone uid 吗?
【发布时间】:2018-03-31 05:20:05
【问题描述】:

我一直在 react native 应用程序中使用 altbeacon 进行 ibeacon 检测,并且需要在检测到 regionDidEnter/regionDidExit 事件时提供 uuid 以便获取区域 uuid。使用 altbeaconfor eddystone 我是否必须做同样的事情,或者我会在不喂食的情况下获得所有细节。

我的参考库是https://github.com/MacKentoch/react-native-beacons-manager

【问题讨论】:

    标签: android react-native ibeacon altbeacon eddystone


    【解决方案1】:

    如果您使用这样的通配符区域进行监控:new Region("my identifier",null,null,null),监控回调将不会告诉您检测到的 Eddystone-UID。两种选择:

    1. 构造多个 Region 对象并开始监控每个 Region 对象,并将每个 Region 对象设置为您要查找的 Edfustone-UID 标识符,例如new Region("Eddystone region 1","0x0102030405060708090a",null,null)。当您收到didEnterRegion 回调时,Region 参数会告诉您哪个匹配。

    2. startRangingBeaconsInRegion(...) 开始测距。 didRaneBeaconsInRegion(...) 回调包含所有匹配信标的列表,并告诉您它们的所有标识符。这甚至适用于上述通配符区域。

    【讨论】:

    • 它在 Android 上会很好用,但是 eddystone 监控是否像 iBeacon 那样对监控区域有限制(只能监控 20 个区域)?
    • 在 Android 上,对可监控的区域数量没有限制(在合理范围内)。如果开始监控数千个区域,性能会变慢。并且使用 Android Beacon 库,如果您监控超过 50 个区域,则该库将不再在应用重新启动之间保持状态,这意味着您将在每次应用重新启动时收到 额外 条目通知信标在附近。但它仍然可以很好地满足您的目的。
    • 我的用例包含每当用户进入场地时根据进入和退出触发的操作,例如当应用程序被杀死或在后台时弹出通知“欢迎来到 XYZ 地点”(我为此创建了 android 服务) 但我认为场地数量很容易超过 50 个。你有解决办法吗?
    • 当然,您可以在应用程序级别代码中跟踪您自己的每个区域的状态(并且仅在根据您的应用程序的区域的最后已知状态在该区域之外时才在 didEnterRegion 上执行入口代码。 )
    • 是的,Android Beacon 库支持监控 > 50 个 iBeacon 区域。 iOS 的替代方法是使用范围。在 iOS 上,测距区域是无限的。
    猜你喜欢
    • 1970-01-01
    • 2019-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多