越来越多的用户选择使用即时通信IM,并结合各厂商提供的系统级推送通道来进行消息通知,在接入使用的过程中,会遇到消息发送后,终端没接到推送的情况,本文档指引可以帮助用户进行一些排查,以便解决遇到的问题。
IM目前已经支持了小米推送、华为推送、魅族推送、vivo 推送、OPPO 推送、Google FCM推送,各个推送通道的系统要求、条件、证书配置、集成等,可以参考此链接文档:https://cloud.tencent.com/document/product/269/44516
服务端依赖心跳包超时来进行判断,当客户端和服务端之间持续 400 秒没有心跳包时,即时通信 IM 服务端认为该用户异常下线(Android 版本较多出现此情况) 心跳:IM SDK 每隔2分钟发一个心跳包给服务器,以维持用户的在线状态。
即时通信 IM 后台只会保存 PushOnline 状态7天时间,若从掉线时刻起7天之内未登录过,则进入 Offline 状态。
1. 登录前设置token,还是登录成功后? 登录成功后,再调用接口去上报证书id和regid,顺序不要搞反了
2. 安卓应用切到后台,为什么没有收到离线消息? 1)IM_sdk_version_android从5.0.1版本开始,切后台doBackground后,如果配置了离线推送,会收到厂商的离线推送通道下发的通知栏消息。 2)确认手机的设置是否打开接收推送的开关 3)在IM控制台更改推送证书配置时,有10-20min延时,此期间收不到推送
3.集成华为离线推送,为什么注册token时总是提示6003 指纹证书配置不一致,参考:https://developer.huawei.com/consumer/cn/doc/development/HMS-References/push-ErrorEnum4 必须用release包运行,才能注册token成功。这个release包的签名文件,必须是开通华为离线推送服务时填入的证书指纹。 1) 检查是否在华为开发者联盟上配置了正确的证书指纹。 2) 如果检查都正确,请联系华为方支持人员。
4. 已退出登录的用户,是否可以收到离线消息? 对于已经退出登录(主动登出或者被踢下线)的用户,不会收到任何消息通知。
5. 系统消息是否可以通过离线推送通知? 目前,离线推送只提供 普通聊天消息 进行消息提醒,暂不提供对 系统消息 的消息提醒。
6. 为什么有的群组消息收不到离线推送? 1) 确认 TIMGroupReceiveMessageOpt 是否为关闭免打扰的状态:ReceiveAndNotify; 2) 群组类型为聊天室(ChatRoom),音视频聊天室(AVChatRoom),广播大群(BChatRoom) 是不支持离线推送的;
7. 离线推送定位工具提示:“证书有误” 检查控制台证书配置的AppID、AppSecret信息是否配置的和对应厂商推送后台显示的信息是否一致 IM控制台离线推送定位工具:https://console.cloud.tencent.com/im-detail/tool-push-check
8. 安卓点击通知栏,可以跳转到指定页面吗 可以的,可以参考这个:https://cloud.tencent.com/document/product/269/44516#.E9.85.8D.E7.BD.AE.E7.82.B9.E5.87.BB.E9.80.9A.E7.9F.A5.E6.A0.8F.E6.B6.88.E6.81.AF.E4.BA.8B.E4.BB.B6
9. 小米手机收到离线消息,点击后未打开应用? 1) 是否有onNotificationMessageClicked配置打开应用 2) 获得的intentUri,通过小米推送后台下发,能否打开自定义界面
10. Android 手机离线推送怎么自定义推送的声音? 目前大部分厂商都不支持离线推送声音的设置,因此 IM SDK 暂时不支持。
11. 自定义消息为什么收不到离线推送? 自定义消息的离线推送和普通消息不太一样,自定义消息的内容我们无法解析,不能确定推送的内容,所以默认不推送,如果您有推送需求,需要您在 sendMessage 的时候设置 offlinePushInfo 的 desc 字段,推送的时候会默认展示 desc 信息。
背景:通过其他端发送的消息,在小米机型上一直收到不到推送内容
如果配置了ChannelID,该ChannelID要先向小米申请,且和小米官网保持一致
即时通信控制台配置的证书截图:(IM控制台查询地址:https://console.cloud.tencent.com/im-detail)
小米推送平台对应位置:如果小米推送平台没有配置,点击新增一个,ChannelID值和IM控制台配置的ChannelID值保持一致。
地址:https://console.cloud.tencent.com/im-detail/tool-push-check
地址:https://console.cloud.tencent.com/im-detail/tool-push-check
按照检测结果,进行核实小米手机是否在手机设置中开启了通知功能
i) 之前华为推送回调是通过onEvent回调的,IM后台对接的是华为的V2接口,在这种情况下,想要获取ext字段,必须通过华为的onEvent回调获取;
ii) 目前已经切到华为的V4推送接口进行使用 (华为证书ID > 11344的走华为v4接口,否则走V2),请核实这里的证书ID值
iii) 目前emui10.0以上的版本是正常的,在emui10.0以下系统可能会出现问题。
i) 客户端发送消息时,携带自定义内容:
ii) 服务端发送消息时,携带自定义内容:
服务端restapi接口(OfflinePushInfo字段):
离线推送 OfflinePushInfo 说明:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。