# 功能描述
IMLib 中已经内置了推送功能 RongPush. RongPush 是通过在云端和客户端之间维护一条稳定可靠的长链接通道,从云端发送各类消息至客户端并以通知形式展现的服务。应用被杀掉或者调用了 SDK 中的 disconnect 方法后, 也想接收到消息, 那就需要集成推送功能. 国内应用
由于国内手机厂商的限制, RongPush 在国内部分机型上无法存活. 为了更好的推送体验, 应用需集成手机厂商的三方推送.
目前融云以适配集成了 小米、华为、魅族、OPPO、vivo 三方推送.
国外应用
国外应用需集成 FCM.
SDK 2.9.9 版本开始,融云推送功能进行升级,集成方式请参考以下文档说明。如使用的是 2.9.9 之前的 SDK 集成可参考 集成文档.
须先集成融云 IMKit 或 IMLib SDK , 才能正常使用推送功能.
# 推送通道策略
SDK 内部优先注册使用当前机型厂商的三方推送, 三方推送注册成功, 则会使用三方推送; 当没有集成三方推送或集成失败, 则会使用融云推送.
融云推送属于应用级别的推送,会受系统各种权限限制,需在设置里打开自启动权限和通知权限,或者勾选 信任此应用 等,以提高推送到达率。
# 集成推送 集成 IMLib SDK. 详细可查看 IMLib 快速集成
在 融云开发者后台 -> 应用标识 -> Android -> ApplicationID 一栏填写应用的唯一标识。
# 启用推送服务
在 SDK init 之前, 配置使用推送.
# 混淆脚本
详细可参考 混淆
# 通知设置
# 通知显示
SDK 内部已经实现了接收到 RongPush 推送消息后显示通知栏的逻辑. # 修改内容样式
SDK 内部实现了两种通知栏内容显示样式. 内容为 "您有了一条新消息". 此为默认显示内容.
显示具体的内容. 只有接收到单人发送的消息通知, 内容则为 “xxx 发了xxx 条消息”
接收到多人的消息通知时, 内容则为 “xxx 个人发送了 xxx 条消息”
三方推送, 由于系统限制. 有些则是一条消息一个通知栏.
两个通知内容可以进行切换设置.
切换步骤 在 init 后设置内容显示格式. 提交工单, 通知客服人员开通或关闭显示 Push 通知内容的功能设置. # 自定义通知
当 SDK 中默认通知栏无法满足需求, 可自定义通知栏. 创建 CustomPushMessageReceiver 集成 PushMessageReceiver 类. 在主工程的 AndroidManifest.xml 中注册广播组件. 注册完成广播后, 可在创建的 CustomPushMessageReceiver 类中复写 onNotificationMessageArrived 方法. 在此方法中做拦截, 然后实现跳转逻辑.
参数说明 参数 类型 必填 说明 最低版本 context Context 是 上下文对象
pushType PushType 是 推送类型
notificationMessage PushNotificationMessage 是 推送消息
# 通知点击事件 # 配置跳转界面
融云 SDK 内部已经实现了点击 知栏跳转功能. 点击通知栏时,融云 SDK 会以隐式调用的方式发出相应 intent。所以需要在 AndroidManifest.xml 里进行如下配置:
a. 只有一个联系人发来一条或多条通知时,点击通知默认跳转到会话 Activity。在会话 Activity 中配置如下 intnt-filter 即可跳转到当前 Activity。
b. 多个联系人发来多条通知时,这些通知会折叠显示,点击该通知会跳转到会话列表 Activity。在 AndroidManifest.xml 的会话列表 Activity 中配置如下 intent-filter 即可跳转到当前 Activity。
c. 当从融云开发者后台广播推送-广播消息-推送中,发起远程推送时,该推送通知会独立显示,在 AndroidManifest.xml 里进行如下配置即可跳转到当前 Activity。 # 自定义点击跳转
当 SDK 中默认跳转无法满足需求, 可自定义跳转. 创建 CustomPushMessageReceiver 集成 PushMessageReceiver 类. 在主工程的 AndroidManifest.xml 中注册广播组件. 注册完成广播后, 可在创建的 CustomPushMessageReceiver 类中复写 onNotificationMessageClicked 方法. 在此方法中做拦截, 然后实现跳转逻辑.
参数说明 参数 类型 必填 说明 最低版本 context Context 是 上下文对象
pushType PushType 是 推送类型
notificationMessage PushNotificationMessage 是 推送消息