【问题标题】:iOS devices can't see Nexus 9 advertised AltBeacon beaconiOS 设备看不到 Nexus 9 广告的 AltBeacon 信标
【发布时间】:2014-12-09 21:31:41
【问题描述】:

我们有一个基于 iBeacon 的生态系统,并希望通过 Android 广告对其进行扩展。 我们使用基于此博客文章的 AltBeacon BeaconTransmitter 类:http://developer.radiusnetworks.com/2014/11/18/beacon-transmission-with-android-5.html 与此线程中提到的信标布局: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 ios ibeacon android-ibeacon altbeacon


    【解决方案1】:

    Android Beacon Library's 新的BeaconTransmitter 类要求new BeaconParser.setBeaconLayout() 表达式完全适合您希望传输的信标类型。

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

    1. 代码在信标上调用 setDataFields(),即使信标布局表达式中没有定义数据字段(带有 d: 前缀)。这可能会导致异常,但如果没有,它可能会搞砸传输。我会删除它。

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

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

    【讨论】:

    • 感谢 David 的建议,我使用了 0x004c(Apple 的制造商代码),现在可以使用了!
    • 大卫,有没有预计的日期将 android-l-apis 分支与 master 合并?
    • 我计划在今天晚些时候以 2.1-beta-1 的形式发布它,因此届时会有一个二进制版本可用。由于扫描 API 已发生重大变化以支持 Android 5,因此 2.1 可能会在几周内保持测试版,以允许人们发送错误报告。不需要新扫描功能或 BeaconTransmitter 的人仍然可以使用 2.0.x 版本。
    • 这已合并到 master 并且现在可以作为二进制下载。见这里:github.com/AltBeacon/android-beacon-library/releases/tag/…
    猜你喜欢
    • 1970-01-01
    • 2016-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多