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

实时音视频
流畅稳定、省钱省力
回答:
通知分为远程通知(Push)和本地通知两种:
推送(Push)
是指从服务端实时发送远程通知到客户端,如 APNS(Apple Push Notification Service)、FCM(Firebase Cloud Messaging) 等服务。在国内,由于谷歌服务不能使用,因此您的应用必须使用第三方或者自己研发的服务来推送。
融云使用长连接技术来实现 IM 服务,和典型的 Push 服务具有相同的长连接机制,所以,开发者也可以直接使用融云来实现推送功能。
本地通知
本地通知指的是您的应用程序在前台、或者在后台但仍然在生命周期存活,此时收到消息,会直接通过前台的应用程序弹出提示窗口。
集成 Android IM SDK 并连接到服务器后,客户端会和云端建立两个连接通道:消息通道和推送通道。
1、当应用被切换到手机后台后,SDK 仍然会与服务器保持连接,在未被系统收回进程情况下,通过消息通道接收消息后,以本地通知方式提示。
2、应用长时间在后台运行时,Android 系统会对应用进程进行清理,手机类型不同清理规则也不相同,当应用进程被系统清理杀掉后(消息通道不可用),将通过融云推送通道接收消息推送。此时客户端显示的通知即推送通知。
目前国内各手机厂商对 ROM 进行了深度定制化,应用级别的推送进程基本不可能达到永久保活,所以融云引进了几个主要厂家系统级别的推送,目前支持的第三方推送通道所括:华为、小米、魅族、OPPO、vivo、FCM
注:部分 Android 手机系统在黑屏待机后自动清理后台运行的软件(消息通道和推送通道都不可用),这样影响了应用正常接收新的消息,需要将应用设置为后台运行应用。详细查看文档
iOS 端应用切到后台后,手机系统会在一段时间之后将应用进程回收,在回收之前收到的消息都会以本地通知的方式对用户进行提醒,回收后将通过苹果 APNs 服务进行远程推送。
同时,如 App 进入后台两分钟之后,系统未回收应用进程,融云默认也会断开和融云服务器的长连接,通过 APNs 服务进行消息的推送,以保证用户体验。
有新消息时默认通过融云推送通道,向用户进行通知。如客户设置了第三方推送通道,目标手机为对应第三方手机时,则优先走第三方通道进行推送。
杀掉应用后,通过 APNs 服务进行消息远程推送。
融云 IM SDK 提供了两个断开连接的方法 logout 和 disconnect
logout:当调用此接口断开连接后,仍然可以接收 Push 消息
disconnect:断开与融云服务器的连接,并且不再接收 Push 消息
某些场景中需要在用户点击通知栏后,能够获取到通知内容,方便客户实现自身的业务逻辑处理
消息通知设置免打扰功能,支持按单个会话设置消息免打扰和所有会话设置消息免打扰,参考文档:
注:Web 端不支持设置消息免打扰,可以获取到会话的设置状态
用户之前在移动端登录过,后又在 Web 端登录当前状态为在线,默认情况下,Web 端会直接接收到新的消息,移动端不会收到 Push 提醒。
如需要用户在 Web 端在线时,移动端也收到 Push 提醒,则需要提交工单申请开通。