关注

如何利用 iBeacon 进行消息推送?

首先,iBeacon 设备只是一个以一定频率不断向外界广播自身 ID 的 BLE 设备。Apple 对 iBeacon 提供了一些

系统级的支持,如果在 iOS App 中监听了某一个特定的 iBeacon,当用户持手机走进 iBeacon 信号覆盖范围内时,应用就会被唤醒。

我们通常说的 iBeacon 可以进行推送,其实是需要 App 进行配合的。

目前推送的实现逻辑有几种:

  1. 用户进入 iBeacon 覆盖范围 -> 应用被唤醒 -> 应用通知云端 -> 云端通过 Remote Notification 向用户推送内容。

     优点:推送内容实时性,自定义程度高,可手动推送内容
     缺点:网络条件要求高,需要推送服务相关的私钥
    
  2. 用户进入 iBeacon 覆盖范围 -> 应用被唤醒 -> 应用请求云端数据 -> 应用发送 Local Notification 向用户推送内容。

     优点:推送内容实时性,自定义程度高,不需要私钥文件
     缺点:网络条件要求高
    
  3. 用户进入 iBeacon 覆盖范围 -> 应用被唤醒 -> 应用查看本地缓存推送内容 -> 应用发送 Local Notification 向用户推送内容。

     优点:不需要私钥文件
     缺点:推送内容实时性较差
    
  4. 应用注册 iBeacon 绑定的推送内容 -> 用户进入 iBeacon 覆盖范围 -> 用户收到推送。

     优点:需要iOS8系统支持,不需要私钥文件,系统级服务稳定性高
     缺点:推送内容实时性较差
    

总结

iBeacon 自身只是一个简单的广播设备用来标识一个区域。消息推送功能是 App 监听进入 iBeacon 通过触发的事件来实现的。利用本地缓存进行推送,比较适合于网络条件较差,推送成功率要求较高的需求。通过网络实时请求推送内容,比较适合于网络条件较好、对内容实时性要求较高的服务。

在选择解决方案时,我们还是要考虑实际的使用情况来选择最优的实现方案。

评论

由 Zendesk 提供技术支持