Android iOS设备可以';看不到Nexus 9的广告

Android iOS设备可以';看不到Nexus 9的广告,android,ios,ibeacon,android-ibeacon,altbeacon,Android,Ios,Ibeacon,Android Ibeacon,Altbeacon,我们有一个基于iBeacon的生态系统,并希望通过Android广告来扩展它。 我们基于以下博文使用AltBeacon BeaconTransmitter类:使用本线程中提到的beacon布局: 我们使用Nexus9平板电脑做广告,我们的其他安卓设备可以看到广告的灯塔,但iOS设备看不到 我们创建的灯塔如下所示: mBeaconTransmitter = new BeaconTransmitter(this, new BeaconParser().setBeaconLayout("m:2-3=0

我们有一个基于iBeacon的生态系统,并希望通过Android广告来扩展它。 我们基于以下博文使用AltBeacon BeaconTransmitter类:使用本线程中提到的beacon布局:

我们使用Nexus9平板电脑做广告,我们的其他安卓设备可以看到广告的灯塔,但iOS设备看不到

我们创建的灯塔如下所示:

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方法中,我们无法看到此信标。

新的
信标传递器
类要求
新的BeaconParser.setBeaconLayout()
表达式与您希望传输的信标类型完全匹配

代码中有两个地方看起来可疑:

  • 即使在信标布局表达式(带有d:前缀)中未定义任何数据字段,代码也会在信标上调用setDataFields()。这可能会导致异常,但如果没有,则可能是变速器出故障。我会移除这个

  • 我不确定0x0000的制造商代码是否有效。如果(1)无法解决问题,请尝试使用不同的制造商代码,以找到一个适用于iOS的代码


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

    谢谢David的推荐,我使用了0x004c(苹果的制造商代码),现在可以使用了!David,你是否有一个将android-l-API分支与master合并的预计日期?我计划在今天晚些时候以2.1-beta-1版本发布,因此届时将有一个二进制版本可用。由于扫描API已经发生了重大变化,以支持Android 5,2.1可能会在测试版中保留数周,以允许人们发送错误报告。不需要新扫描功能或BeanContransmitter的用户仍然可以使用2.0.x版本。该版本合并为master,现在可以作为二进制下载。请看这里: