我似乎无法弄清楚主要和次要值在检测iBeacons中的相关性或重要性。当我注册并配置我的万向节信标时,我给它一个特定的UUID值,主要和次要值,然后当我使用我的cordova iBeacon插件时,我可以检测到我的信标,但只有当我指示它寻找这些确切的参数时。
在我看来,只有uuid对检测信标至关重要。然而,我的应用程序无法检测到它们,除非我将这三个标准中的每一个的值都匹配
任何人都可以阐明信标检测中主要值和次要值的相关性,我的代码是否需要专门指示插件查找匹配所有这些值的信标。
希望这篇文章有意义... iBeacon检测有很多活动部分,了解它已经将我的大脑绑在椒盐卷饼中
答案 0 :(得分:5)
iBeacon协议以这种方式实现,以确保每个信标都是唯一的。如果您有一个大型信标部署(比如说在全国各地的所有商店中),那么您希望以这样的方式设置标识符,以便您可以单独识别信标。示例部署如下所示:
所有灯塔UUIDS:1234 ......
波士顿的所有百货商店:Major = 1 芝加哥的所有百货商店:Major = 2
轻微可能因过道或部分而异。
那么我知道如果我检测到信标UUID 1234 ...,Major 1 Minor 8我可以将它映射到波士顿商店服装部分。这只是一个例子(并且是一种跛脚),但基本上标识符的级别只是一个更大的保险,你检测到的信标是你真正想要的那个。
在监控iBeacons时,您实际上可以监控每个不同的标识符级别,因此您可以监控所有具有UUID的信标,所有具有UUID和Major的信标,或所有具有UUID,Major和Minor的信标(理想情况下,它只是一个灯塔)
答案 1 :(得分:5)
这句话很关键:
在我看来,只有uuid对检测信标至关重要。然而,我的应用程序无法检测到它们,除非我将这三个标准中的每一个的值都匹配
使用原始iOS API和Android Beacon Library,仅提供UUID将匹配信标。 您不需要指定major和minor来检测信标。您正在查看的事实意味着您正在运行的代码,正在使用的框架或两者都有问题。
主要和次要的目的是为了逻辑目的细分标识符空间。如果您仅匹配UUID或UUID和major,则可以通过检查次要值来根据检测到的信标采取不同的操作。