16 | APNs:聊一聊第三方系统级消息通道的事
该思维导图由 AI 生成,仅供参考
第三方系统下发通道
- 深入了解
- 翻译
- 解释
- 总结
APNs是iOS系统提供的系统级下发通道,能够在App关闭或网络功能受限的情况下,通过系统通知栏将消息推送给用户设备。然而,APNs存在一些缺陷,如可靠性低、无法保证消息的到达率和延迟。对于Android端来说,各个手机厂商各自维护的厂商通道提供系统推送服务,但整体上看,Android端的推送接入比较复杂和混乱。为解决这种混乱状况,工信部主导成立了安卓统一推送联盟,推出了“推必达”产品,支持通过运营商的信令通道来进行消息下推,提升消息的到达率。文章还介绍了静默推送的特点以及系统推送的业界现状和进展。总的来说,系统推送作为一种常用的触达用户的方式,对于即时消息场景来说是提升消息到达率的一条非常重要的途径,但仍存在可靠性低、功能不完善、生态混乱等问题。
《即时消息技术剖析与实战》,新⼈⾸单¥59
全部留言(18)
- 最新
- 精选
- GeekAmI“一般情况下,我们的 IM 服务端可以在每次启动 App 时,都去请求 APNs 服务器进行注册,来获取 DeviceToken。” 老师,这句话不太理解,到底是App去APNs获取DeviceToken,还是IM服务端获取呢?
作者回复: app去APNs获取devicetoken,如果发生了变化再由app上报给im服务器进行记录。
2019-11-115 - 冬老师,Apple除了静默推送,还有更可靠的Voip 推送哦
作者回复: 👍
2019-11-212 - clip“DeviceToken 是 APNs 用于区分识别不同 iOS 设备同一个 App 的唯一标识” 是“不同 iOS 设备不同 App”吗?
作者回复: devicetoken只是识别设备的哈,每台设备的devicetoken都不一样。
2019-10-0342 - 谢炳辉怎么理解 因此在没有 WiFi 和移动网络的场景下,我们只要有手机信号就能推送 不是有信号就有网络了吗
作者回复: 这里说的是某些场景下手机没有网络信号,只有通信信号,也就是能打电话能收短信但是上不了网。
2019-11-151 - GeekAmI静默推送是不是可以这样搞? 静默推送->唤起app->重新建立长连接通道->服务端通道长连接通道下达消息。
作者回复: app在后台被静默推送唤醒后只有30s的后台运行时间,所以建立长连后可能也会很快再被掐断。可以考虑用来进行一些多媒体消息的后台预拉取。
2019-11-111 - 小可app后台自动升级(如果设置自动更新升级)
作者回复: 嗯,这个应该是可行的。
2019-10-021 - 白泗小林apns 的消息去重一般怎么做的?
作者回复: APNs本身并不保证消息不重不丢,所以实际上很难控制,应用层面能做的只是尽量避免业务层面重复发送给APNs导致重复下推的问题。
2019-10-31 - Michael每台iPhone设备的的deviceToken都不一样,IM服务器给APNs推送消息数据需要带上deviceToken,但是IM Server是如何获取到设备的deviceToken的呢?
作者回复: 课程中有讲到哈:一般情况下,我们的 IM 服务端可以在每次启动 App 时,都去请求 APNs 服务器进行注册,来获取 DeviceToken。正常情况下,客户端每次获取到的 DeviceToken 都不会变,速度也比较快。客户端在首次获取到 DeviceToken 之后,会先缓存到本地,如果下次获取到 DeviceToken 后,它没有发生变化,那么就不需要我们再调用 IM 服务端进行更新了。这也算是个小技巧。
2019-10-202 - Michael思考题:可以唤起app,重新建立长连接。
作者回复: 嗯,这个是比较常见的用法。
2019-10-04 - 刘丹请问如果发送方使用小米的推送服务,那么非小米手机怎样接收到消息呢?竞争品牌可能不允许在手机里安装小米的拉取软件。
作者回复: 一般这些推送服务是已sdk的方式集成到你自己的app里,推送不是独立存在的一个app。另外,这个得看下小米的推送服务是否有集成接收方手机的厂商sdk,如果有,那应该是没问题的,如果没有,估计厂商很难让第三方推送服务的长连接运行。
2019-10-02