作者回复: 这里说的是某些场景下手机没有网络信号,只有通信信号,也就是能打电话能收短信但是上不了网。
作者回复: app去APNs获取devicetoken,如果发生了变化再由app上报给im服务器进行记录。
作者回复: devicetoken只是识别设备的哈,每台设备的devicetoken都不一样。
作者回复: 👍
作者回复: app在后台被静默推送唤醒后只有30s的后台运行时间,所以建立长连后可能也会很快再被掐断。可以考虑用来进行一些多媒体消息的后台预拉取。
作者回复: APNs本身并不保证消息不重不丢,所以实际上很难控制,应用层面能做的只是尽量避免业务层面重复发送给APNs导致重复下推的问题。
作者回复: 课程中有讲到哈:一般情况下,我们的 IM 服务端可以在每次启动 App 时,都去请求 APNs 服务器进行注册,来获取 DeviceToken。正常情况下,客户端每次获取到的 DeviceToken 都不会变,速度也比较快。客户端在首次获取到 DeviceToken 之后,会先缓存到本地,如果下次获取到 DeviceToken 后,它没有发生变化,那么就不需要我们再调用 IM 服务端进行更新了。这也算是个小技巧。
作者回复: 嗯,这个是比较常见的用法。
作者回复: 一般这些推送服务是已sdk的方式集成到你自己的app里,推送不是独立存在的一个app。另外,这个得看下小米的推送服务是否有集成接收方手机的厂商sdk,如果有,那应该是没问题的,如果没有,估计厂商很难让第三方推送服务的长连接运行。
作者回复: 嗯,这个应该是可行的。