我们有一个基于iBeacon的生态系统,并希望通过Android广告对其进行扩展.
我们基于此博客文章:http://developer.radiusnetworks.com/2014/11/18/beacon-transmission-with-android-5.html使用AltBeacon BeaconTransmitter类,并在此线程:Is this the correct layout to detect iBeacons with AltBeacon’s Android Beacon Library?中提及了信标布局
我们使用Nexus 9平板电脑做广告,我们的其他AndroID设备可以看到广告的信标,而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方法中,我们看不到该信标.
解决方法:
Android Beacon Library’s新的BeaconTransmitter类要求新的BeaconParser.setBeaconLayout()表达式与要传输的信标类型完全正确.
关于代码的两件事看起来很可疑:
>即使在信标布局表达式(带有d:前缀)中未定义任何数据字段,代码也会在信标上调用setdatafields().这可能会导致异常,但是如果没有异常,则可能是变速箱损坏了.我会删除这个.
>我不确定制造商代码0x0000是否有效.如果(1)不能解决问题,请尝试使用不同的制造商代码来找到适用于iOS的代码.
只是为了验证Nexus 9硬件没有问题,请尝试在Google Play商店中运行免费的QuickBeacon应用.它使用完全相同的API进行传输,因此,如果可以正常工作,您也应该可以使代码正常工作.
总结以上是内存溢出为你收集整理的android-iOS设备看不到Nexus 9广告的AltBeacon信标全部内容,希望文章能够帮你解决android-iOS设备看不到Nexus 9广告的AltBeacon信标所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)