【问题标题】:CLBeacon - Storing and Extracting Info From PeripheralData NSDictionary?CLBeacon - 从 PeripheralData NSDictionary 存储和提取信息?
【发布时间】:2013-12-05 23:49:02
【问题描述】:

当您开始使用外围数据广告 CLBeacon 时,您是否可以将 NSString 或 UIImage 传递到此字典中,以便在发现信标时显示出来?

例如,如果我想创建一条消息给朋友,然后当朋友进入信标区域时,我可以通过将消息存储在 NSDictionary 中然后提取它来让消息显示在他们的手机上吗?如果是这样,怎么做?如果没有,还有其他方法吗?

谢谢!

【问题讨论】:

    标签: ios objective-c ios7 ibeacon cbperipheral


    【解决方案1】:

    所以您问是否可以将额外信息添加到信标设备发送的自定义应用程序可以查找的信标广告中?

    答案是否定的。 iBeacon 协议是一个非常短的、固定的数据包。无法向数据包添加额外信息。

    您可以设计和实现自己的 BLE 服务,作为 iBeacons 的替代品,并在发送器和接收器上实现它。

    您还可以使用混合方法,使用标准 iBeacon 发现来查找信标,当您检测到您感兴趣的信标时,触发与该信标的 2 路 BLE 对话并询问它以获取更多信息。据我了解,一些作为 iBeacons 出售的 BLE 设备可以运行自定义软件来实现这种功能。 (其中许多设备中都装有 ARM 处理器,与为 iOS 设备供电的芯片系列相同。

    【讨论】:

      【解决方案2】:

      不,你不能这样做。基于 iOS 的 iBeacon(与所有其他标准 iBeacon 一样)只会传输三部分标识符和发射器功率校准值。就是这样。你不能传送任何其他东西。

      即使您确实制作了一个自定义的蓝牙 LE 广告,除了标准 iBeacon 字段之外发送其他数据,您也无法使用用于查看 iBeacon 的标准 API 查看这些数据。

      如果你想将其他数据绑定到 iBeacon,你必须通过另一个渠道,通过某种查找,将数据与上面的标识符相匹配。执行此操作的三种常见方法:

      1. 在您的应用中硬编码静态查找表。
      2. 使用 Web 服务根据 iBeacon 标识符查找值。
      3. 使用辅助 BluetoothLE 通信通道直接从(非标准)iBeacon 获取数据。

      我的公司有一个名为ProximityKit 的网络服务,可以轻松地将数据绑定到应用程序中的 iBeacons。您登录 Web 界面输入键/值对以与每个 iBeacon 关联,然后包含的 iOS 客户端库会在 iBeacon 可见时自动为您提供这些键/值对。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多