首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS设备看不到Nexus 9广告中的AltBeacon信标

iOS设备看不到Nexus 9广告中的AltBeacon信标
EN

Stack Overflow用户
提问于 2014-12-09 11:48:39
回答 1查看 693关注 0票数 3

我们有一个基于iBeacon的生态系统,并希望通过安卓广告来扩展它。我们使用AltBeacon BeaconTransmitter类,它基于以下博客文章:http://developer.radiusnetworks.com/2014/11/18/beacon-transmission-with-android-5.html,以及线程:这是正确的布局,以检测iBeacons与阿尔特比肯的安卓灯塔库?中提到的信标布局

我们使用Nexus 9平板电脑做广告,我们的其他安卓设备可以看到广告中的信标,但iOS设备却看不到。

我们创造了这样的信标:

代码语言:javascript
复制
mBeaconTransmitter = new BeaconTransmitter(this, new BeaconParser().setBeaconLayout("m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24"));
            // Transmit a beacon with Identifiers 2F234454-CF6D-4A0F-ADF2-F4911BA9FFA6 1 2
            Beacon beacon = new Beacon.Builder()
                    .setId1("our uuid")
                    .setId2("a major id")
                    .setId3("a minor id")
                    .setManufacturer(0x0000)
                    .setTxPower(-59)
                    .setDataFields(Arrays.asList(new Long[] {0l}))
                    .build();

缺失的部分是什么?在CL的didRangeBeacons方法中,我们看不到这个信标。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-09 13:13:57

安卓灯塔图书馆BeaconTransmitter类要求new BeaconParser.setBeaconLayout()表达式与您希望发送的信标类型完全正确。

关于代码的两件事看起来很可疑:

  1. 代码在信标上调用setDataFields(),即使在信标布局表达式中没有定义数据字段(带有d:前缀)。这可能会导致异常,但如果不例外,可能会破坏传输。我会移除这个。
  2. 我不确定0x0000的制造商代码是否有效。如果(1)不能解决这个问题,请尝试不同的制造商代码以找到一个与iOS一起工作的代码。

为了验证Nexus 9硬件没有问题,尝试在Google商店中运行免费的QuickBeacon应用程序。它使用完全相同的API来传输,因此,如果它工作,您也应该能够使您的代码工作。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27378258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档