
IM即时通讯
安全可靠、全球互通

实时音视频
流畅稳定、省钱省力
回答:
融云 SDK 中存在两种长连接通道:
当调用连接方法后, 应用连接到融云服务器, 并与融云服务器保持着用于消息的发送与接收的长连接, 我们称之为 IM 连接通道。
当应用的主进程被杀死或者回收,或者您主动调用 disconnect() 跟融云断开(IM)连接后。此时,融云会通过一个后台服务保持一条推送长连接,跟融云服务器保持连接,我们称之为 Push 连接通道。
下面为 SDK 的通知流程分发图:
通过上图我们可以了解到, 通知分为两类:
Push 通知: Push 通知是当接收方的主进程被杀死或者回收,或者您主动调用 disconnect() 的操作, 导致 IM 长连接通道与服务器断开后。 在这种情况下,服务器会检查 Push 通道是否存在,如果存在,则会通过 Push 通道推送消息。此时你会收到实时的推送。推送的内容是包含消息内容的数据。
本地通知
接收方应用被压入后台(应用没有被真实杀死或回收, 也没有调用disconnect()),IM 连接通道此时还存在, 则将不会走 Push 推送。而是正常走 IM 通道的消息接受回调方法。所以需要在回掉方法实现 Notification 的通知提示, 此通知我们可以称之为本地通知。
如果你集成的是 IMKit , 则内部已经实现了通知提示。 否则需自己实现 Notification 通知。
注意 : 有些模拟器和真机, 在清理后台应用, 应用看着貌似杀掉了,但其实只是清理了UI界面, 但 IM 连接通道没 有断开, 所以是不会走 Push 推送通道的。