iBeacons:了解次要、主要和 UUID

iBeacons: understanding minor, major and UUID

我似乎无法弄清楚主要值和次要值在检测 iBeacon 时的相关性或重要性。当我注册和配置我的 Gimbal 信标时,我给它一组特定的 UUID 值,主要和次要,然后当我使用我的 cordova iBeacon 插件时,我可以检测到我的信标,但前提是我指示它寻找这些确切的参数.

在我看来,只有 uuid 对检测信标至关重要。然而,除非我匹配这 3 个标准中的每一个的价值

,否则它们不会被我的应用程序检测到

任何人都可以阐明信标检测中主要值和次要值的相关性吗?我的代码是否需要专门指示插件寻找与所有这些值匹配的信标。

希望这个 post 有意义...iBeacon 检测有很多活动部件,了解它让我的大脑陷入了椒盐卷饼

iBeacon 协议以这种方式实现,以确保每个信标都是唯一的。如果您有大型信标部署(假设在全国所有商店中),那么您希望以可以单独标识信标的方式设置标识符。示例部署如下所示:

所有信标 UUIDS:1234...

波士顿的所有百货公司:Major = 1 芝加哥的所有百货公司:Major = 2

未成年人可能因过道或区域而异。

然后我知道如果我检测到信标 UUID 1234...,Major 1 Minor 8 我可以将它映射到波士顿商店的服装部分。这只是一个例子(有点蹩脚)但本质上,标识符的级别只是一个更大的保证,你检测到的信标是你真正想要的。

在监控 iBeacon 时,您实际上可以在每个不同的标识符级别进行监控,因此您可以监控所有具有 UUID 的信标,所有具有 UUID 和 Major 的信标,或者所有具有 UUID、Major 和次要(理想情况下只是一个信标)

这条语句很关键:

It would seem to me that only the uuid would be critical to detecting beacons. Yet they aren't detected by my app unless I match value for value each of those 3 criteria

使用原始 iOS API 和 Android 信标库,仅提供 UUID 即可匹配信标。 您不需要指定主要和次要来检测信标。您所看到的事实并非如此,这意味着您的代码 运行、框架有问题使用,或两者兼而有之。

major 和 minor 的目的是为了逻辑目的细分标识符space。如果您随后仅匹配 UUID 或 UUID 和主要,您可以根据通过检查次要值检测到的信标采取不同的操作。