1、刚进入后台两分钟内是本地通知,想要自定义通知内容,就需要自己弹本地通知 RCIM 中有下面代理方法可以让你自己弹本地通知
RCIMReceiveMessageDelegate
/*!
当 App 处于后台时,接收到消息并弹出本地通知的回调方法
@param message 接收到的消息
@param senderName 消息发送者的用户名称
@return 当返回值为 NO 时,SDK 会弹出默认的本地通知提示;当返回值为 YES 时,SDK 针对此消息不再弹本地通知提示
@discussion如果您设置了 IMKit 消息监听之后,当 App 处于后台,收到消息时弹出本地通知之前,会执行此方法。
如果 App 没有实现此方法,SDK 会弹出默认的本地通知提示。
流程:
SDK 接收到消息 -> App 处于后台状态 -> 通过用户/群组/群名片信息提供者获取消息的用户/群组/群名片信息
-> 用户/群组信息为空 -> 不弹出本地通知
-> 用户/群组信息存在 -> 回调此方法准备弹出本地通知 -> App 实现并返回YES -> SDK 不再弹出此消息的本地通知 -> App 未实现此方法或者返回 NO -> SDK 弹出默认的本地通知提示
您可以通过 RCIM的disableMessageNotificaiton 属性,关闭所有的本地通知(此时不再回调此接口)。
@warning 如果 App 在后台想使用SDK默认的本地通知提醒,需要实现用户/群组/群名片信息提供者,并返回正确的用户信息或群组信息。
参考 RCIMUserInfoDataSource、RCIMGroupInfoDataSource 与 RCIMGroupUserInfoDataSource
*/
-(BOOL)onRCIMCustomLocalNotification:(RCMessage*)message
withSenderName:(NSString *)senderName;
2、远程推送是进入后台两分钟后或者杀掉进程或被系统冻结
在发送消息的接口中有参数 pushContent,如果你赋值了,远程推送弹的就是你赋值的内容,不赋值就是 SDK 默认的样式,所以你可以通过给参数 pushContent 赋值来自定义远程推送内容。