我们的ios客户端是控制一个硬件的(像遥控器)。ios端会显示设备的状态(之前这中状态的更新是ios端进行轮询从服务器获得的),现在领导要把ios端设备状态的更新改成MQTT推送的方式,就是设备状态一旦更新,就会向APP推送。但我查了一些资料,感觉ios段貌似不能这么做,有人说ios段推送只能用APNs,各位大牛有了解这块的么,可否给小弟解答一下,拜谢。
我们的ios客户端是控制一个硬件的(像遥控器)。ios端会显示设备的状态(之前这中状态的更新是ios端进行轮询从服务器获得的),现在领导要把ios端设备状态的更新改成MQTT推送的方式,就是设备状态一旦更新,就会向APP推送。但我查了一些资料,感觉ios段貌似不能这么做,有人说ios段推送只能用APNs,各位大牛有了解这块的么,可否给小弟解答一下,拜谢。
我们也是基于MQTT协议实现的实时通信系统,消息推送是我们其中的一项产品服务。说下我们在实现iOS消息推送方面的做法吧。
客户端层面:客户端集成了云巴的 iOS SDK, 服务端通过我们的 SDK 向 iOS 设备发消息。
一方面,我们的服务器会负责向苹果的服务器发送 APNs 的消息; 另一方面,当应用在前台运行时,我们也会通过与 App 建立的长连接,直接推送内部消息。
如下:
当然了,通过我们的 SDK 向 iOS App 推送消息,App 在不同状态下的消息接收情况是不一样的,具体不细讲。
除此以外,我们 SDK 集成了 APNs,开发者无需开发与 APNs 对接的模块,也不必自己负责 Device Token 的更新。
对于 APNs 并不保证消息的送达的问题,我们采取的方案是让 SDK 支持 离线消息 的功能,可保证消息送达客户端。
4 回答4.5k 阅读
2 回答1.9k 阅读✓ 已解决
1 回答1.5k 阅读✓ 已解决
2 回答1.5k 阅读
1 回答1.3k 阅读
1 回答1.3k 阅读
817 阅读
这个问题已经解决了,过几天有时间整理一下demo,把代码奉上,多谢各位的关注