前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >即时通信IM-离线推送使用及常见问题

即时通信IM-离线推送使用及常见问题

原创
作者头像
erickyan
修改于 2022-04-14 08:11:33
修改于 2022-04-14 08:11:33
7.3K0
举报

1.前言

      越来越多的用户选择使用即时通信IM,并结合各厂商提供的系统级推送通道来进行消息通知,在接入使用的过程中,会遇到消息发送后,终端没接到推送的情况,本文档指引可以帮助用户进行一些排查,以便解决遇到的问题。

2.概述

      IM目前已经支持了小米推送、华为推送、魅族推送、vivo 推送、OPPO 推送、Google FCM推送,各个推送通道的系统要求、条件、证书配置、集成等,可以参考此链接文档:https://cloud.tencent.com/document/product/269/44516

3.用户状态的理解

  • "Online":客户端登录后和即时通信 IM 后台有长连接
  • "PushOnline":iOSAndroid 进程被 kill 或因网络问题掉线,进入 PushOnline 状态,此时仍然可以接收消息的离线推送。(客户端切到后台,但是进程未被手机操作系统 kill 掉时,此时状态仍是 Online。)
  • "Offline":客户端主动退出登录或者客户端自上一次登录起7天之内未登录过

服务端依赖心跳包超时来进行判断,当客户端和服务端之间持续 400 秒没有心跳包时,即时通信 IM 服务端认为该用户异常下线(Android 版本较多出现此情况) 心跳:IM SDK 每隔2分钟发一个心跳包给服务器,以维持用户的在线状态。

即时通信 IM 后台只会保存 PushOnline 状态7天时间,若从掉线时刻起7天之内未登录过,则进入 Offline 状态。

1)能够收到离线推送的情况

  • 当用户状态为PushOnline时,如果配置了离线推送,会收到厂商的离线推送通道下发的通知栏消息。
  • IM_sdk_version_android从5.0.1版本开始,切后台doBackground后,如果配置了离线推送,会收到厂商的离线推送通道下发的通知栏消息。   <u>所以需要查询用户的状态及是否切后台,来确定是否符合推送的条件,只有符合的时候,才会进行推送。</u>

2)如何查询用户状态:

4.收不到推送的可能原因及排查

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 信息。

5.典型case

1)小米推送一直收不到

背景:通过其他端发送的消息,在小米机型上一直收到不到推送内容

a) 可以按照上方【收不到推送的可能原因及排查】的内容进行排查下
b) 核实在IM控制台配置的小米证书是否配置了ChannelID,及小米开发平台是否也配置了ChannelID

如果配置了ChannelID,该ChannelID要先向小米申请,且和小米官网保持一致

即时通信控制台配置的证书截图:(IM控制台查询地址:https://console.cloud.tencent.com/im-detail

IM控制台查看证书信息
IM控制台查看证书信息

小米推送平台对应位置:如果小米推送平台没有配置,点击新增一个,ChannelID值和IM控制台配置的ChannelID值保持一致。

小米开放平台
小米开放平台
c) 控制台 用户状态检查工具 进行查看下用户状态

地址:https://console.cloud.tencent.com/im-detail/tool-push-check

IM控制台查看用户状态
IM控制台查看用户状态
d) 控制台 离线推送定位工具 进行自助定位下

地址:https://console.cloud.tencent.com/im-detail/tool-push-check

按照检测结果,进行核实小米手机是否在手机设置中开启了通知功能

IM控制台自助定位工具
IM控制台自助定位工具

2)华为手机能收到推送,但透传自定义内容获取不到

a) 由于华为推送的兼容性问题,透传内容只能在部分 EUI10+ 的设备上收到。

   i) 之前华为推送回调是通过onEvent回调的,IM后台对接的是华为的V2接口,在这种情况下,想要获取ext字段,必须通过华为的onEvent回调获取;

    参考文档:https://developer.huawei.com/consumer/cn/doc/development/HMS-2-Guides/hmssdk_huaweipush_devguide_client_agent#h2-1575281121280

   ii) 目前已经切到华为的V4推送接口进行使用 (华为证书ID > 11344的走华为v4接口,否则走V2),请核实这里的证书ID值

   iii) 目前emui10.0以上的版本是正常的,在emui10.0以下系统可能会出现问题。

    https://cloud.tencent.com/document/product/269/44516#.E9.80.8F.E4.BC.A0.E8.87.AA.E5.AE.9A.E4.B9.89.E5.86.85.E5.AE.B92

注意事项
注意事项
b) 核实发送消息是是否携带了自定义内容

  i) 客户端发送消息时,携带自定义内容:

发送消息携带自定义内容
发送消息携带自定义内容

  ii) 服务端发送消息时,携带自定义内容:

  服务端restapi接口(OfflinePushInfo字段):

    https://cloud.tencent.com/document/product/269/2282#.E8.AF.B7.E6.B1.82.E5.8C.85.E5.AD.97.E6.AE.B5.E8.AF.B4.E6.98.8E

  离线推送 OfflinePushInfo 说明:

    https://cloud.tencent.com/document/product/269/2720#.E7.A6.BB.E7.BA.BF.E6.8E.A8.E9.80.81-offlinepushinfo-.E8.AF.B4.E6.98.8E

推送内容格式
推送内容格式
c) 接收端是否有设置获取自定义内容
获取透传自定义内容
获取透传自定义内容

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
IM即时通信探索(二)-- IM即时通信采坑
目前IM的兼容性还是很高的,基本上各个平台已经可以实现跨平台交流了,但是里面肯定还是有一些需要注意的坑点或者注意点,我将一一给大家讲一讲。
黑眼圈云豆
2020/07/06
3.6K0
云通信-即时通信IM关系链使用指引
从控制台->功能配置->登录与消息 打开好友控制开关,打开开关后,非好友间发消息会失败,消息界面默认显示红色感叹号图标,SDK会收到20009的错误码
linpeiyang@云通信专项团队
2020/11/02
3.1K0
IMSDK华为离线推送快速集成
即时通信 IM 的终端用户需要随时都能够得知最新的消息,而由于移动端设备的性能与电量有限,当 App 处于后台时,为了避免维持长连接而导致的过多资源消耗,即时通信 IM 推荐您使用各厂商提供的系统级推送通道来进行消息通知,系统级的推送通道相比第三方推送拥有更稳定的系统级长连接,可以做到随时接受推送消息,且资源消耗大幅降低。
ppchao
2021/01/13
2.1K0
IMSDK华为离线推送快速集成
产品双月刊 | 腾讯云即时通信IM
近期,腾讯云即时通信IM有哪些 重大发布? 它又带给我们了哪些 惊喜 ? 请跟随我们的脚步一起来回顾! 「 即时通信 IM 」 1. 即时通信 IM - 进军南亚,印度站上线! 即时通信 IM 国际站 1月12日上线印度独立数据中心!IM 国际站可以为国内出海企业以及境外企业提供南亚(印度孟买)、东南亚(新加坡)、东北亚(韩国首尔)以及欧洲(德国法兰克福)数据存储地点选择。 国际站数据存储站点简介 即时通信 IM 为支持海外客户业务数据合规存储,为海外客户提供了四个数据存储地点供选择:印度孟买、新加坡、
腾讯云音视频
2022/02/15
5.7K0
云通信IM-离线推送收不到问题分析
2.发送消息时MsgLifeTime设置的值是否为0,若设置该字段为0,则消息只发在线用户,不保存离线
liyao
2020/12/02
2.7K0
云通信IM-离线推送收不到问题分析
IMSDK离线推送
云通信 IM 的终端用户需要随时都能够得知最新消息,而由于安卓手机使用深度定制 Android 系统,对于第三方 App 自启动权限管理很严格,默认情况下第三方 App 都不会在系统的自启动白名单内,App 在后台时容易被系统 kill,因此推荐在安卓设备上集成对应的厂商推送,依赖厂商的系统级服务,推送到达率较高。
腾讯云-chaoli
2019/07/26
6.2K0
IMSDK离线推送
你问我答 | 即时通信IM 第四季
即时通信IM 你问我答 第4季 本期共解答10个问题 Q1:即时通信 IM可以让用户加入多个音视频聊天室吗? 目前暂不可以,同一用户同时只能加入一个音视频聊天室。 例:用户已在音视频聊天室 A 中,再加入音视频聊天室 B,SDK 会先退出音视频聊天室 A,然后加入音视频聊天室 B。 Q2:即时通信 IM如何实现本地搜索? 从增强版5.4.666版本开始即时通信IM支持本地搜索。 使用前需要购买旗舰版套餐包,请参见: 本地搜索(iOS):https://cloud.tencent.com/d
腾讯云音视频
2022/04/11
7650
你问我答 | 即时通信IM 第四季
即时通信 IM 控制台全新功能抢先看!
腾讯即时通信 IM (Instant Messaging,IM),基于QQ 底层 IM 能力开发,仅需植入 SDK 即可轻松集成聊天、会话、群组、资料管理能力,帮助您实现文字、图片、短语音、短视频等富媒体消息收发,全面满足通信需要。
腾讯即时通信IM
2020/06/19
1.5K0
即时通信 IM 控制台全新功能抢先看!
IMSDK华为离线推送快速调试
即时通信 IM 的终端用户需要随时都能够得知最新的消息,而由于移动端设备的性能与电量有限,当 App 处于后台时,为了避免维持长连接而导致的过多资源消耗,即时通信 IM 推荐您使用各厂商提供的系统级推送通道来进行消息通知,系统级的推送通道相比第三方推送拥有更稳定的系统级长连接,可以做到随时接受推送消息,且资源消耗大幅降低。
ppchao
2021/01/13
2.2K0
IMSDK华为离线推送快速调试
即时通信IM-自定义字段使用及常见问题
自定义资料字段是各 App 根据各自业务需要而设置的用户数据。通过自定义资料,各 App 可以将一些额外数据附加到用户资料上,并通过现有接口进行读写操作。
erickyan
2020/11/06
2.2K0
即时通信IM-自定义字段使用及常见问题
腾讯云轻量应用服务器搭建即时通信 IM系统
我们如果想要搭建一个自己的即时通信系统,实现与好友的单聊或者创建群聊,这里推荐大家使用腾讯云的即时通信IM产品,部署十分简单,并且提供了免费版套餐可供试用。下面为大家介绍如何使用腾讯云轻量应用服务器搭建即时通信IM系统 首先进入腾讯云即时通信 IM产品控制台(https://console.cloud.tencent.com/im),点击立即开始创建应用
zuantou
2021/08/23
2.9K0
IMSDK华为离线推送快速集成
即时通信 IM 的终端用户需要随时都能够得知最新的消息,而由于移动端设备的性能与电量有限,当 App 处于后台时,为了避免维持长连接而导致的过多资源消耗,即时通信 IM 推荐您使用各厂商提供的系统级推送通道来进行消息通知,系统级的推送通道相比第三方推送拥有更稳定的系统级长连接,可以做到随时接受推送消息,且资源消耗大幅降低。
腾讯云-chaoli
2021/01/13
4.1K1
IMSDK华为离线推送快速集成
内容审核实践 | 即时通讯 IM 场景
一些用户使用即时通信 IM 产品开发实现自己的聊天业务,但对于聊天之间的消息无法很好的去管控内容是否违规。
云存储
2021/09/27
2K0
内容审核实践  |  即时通讯 IM 场景
TRTC Android端开发接入学习之实现视频通话(五)
经过上一篇《屏幕分享》功能的实践,我们知道了如何使用官方提供的功DEMO,快速开发。今天我们来尝试使用官方提供的组件和自定义的UI实现功能。
腾讯云-hongyang
2020/09/04
2.7K0
TRTC Android端开发接入学习之实现视频通话(五)
即时通信 IM丨全员推送的玩法,你一定要pick起来!
1、假如现在有一款游戏 App 打算在圣诞节推出优惠活动,需要推送给全部用户,这时候运营人员一般会使用短信进行用户触达。但是可能会有部分用户因为没留意短信而错过优惠活动。
腾讯即时通信IM
2020/07/15
3.7K0
【腾讯云上实践】内容审核实践 | 即时通讯 IM 场景
一些用户使用即时通信 IM 产品开发实现自己的聊天业务,但对于聊天之间的消息无法很好的去管控内容是否违规。
TCS-F
2021/10/09
4.8K0
【腾讯云上实践】内容审核实践 | 即时通讯 IM 场景
即时通信 IM Flutter SDK 正式上线!
导语 Flutter 是目前最火的跨平台技术,在提供极好的用户体验的同时能解决多端一致性的问题,而且还能有效地降低人力成本。 Flutter 是什么? Flutter 是谷歌的移动端跨平台UI框架,可以快速在 iOS 和 Android 上构建高质量的原生用户界面。Flutter 可以与现有的代码一起工作。在全世界,Flutter 正在被越来越多的开发者和组织使用,并且 Flutter 是完全免费、开源的。简单来说,Flutter 是一款移动应用程序 SDK,包含框架、控件和一些工具,可以用一套代码同时构
腾讯即时通信IM
2021/02/04
6.3K1
TIMSDK 常见问题
构建消息元素后,实例化一个 TIMMessage 对象,然后调用 addElement() 方法构建到 TIMMessage 消息对象中,不推荐在同一个消息对象中使用多个元素
腾讯云-ahqzhang
2019/04/24
5.8K0
TIMSDK 常见问题
最佳实践 | 即时通信IM接入AI服务,高效构建智能聊天能力
随着ChatGPT在全球范围的爆火,AI已成为当下开发者最为关注的焦点,国内各大厂商也纷纷跟进,推出了各自的大模型应用与产品。很多应用都在尝试与AI结合,寻找新的发力点。而新一代大语言模型的强大对话交流能力与各类即时通信场景天然契合,这为IM与AI结合带来了广阔的想象空间。
腾讯云音视频
2023/04/23
4K0
最佳实践 | 即时通信IM接入AI服务,高效构建智能聊天能力
你问我答 | 即时通信IM 第五季
即时通信IM 你问我答 第5季 本期共解答15个问题 Q1:即时通信 IM全球加速点分布是怎样的? 即时通信 IM全球接入加速点分布如下: 中国:华南、华北、华东、香港、台湾等; 其他国家(或地区):亚洲:新加坡、印度尼西亚、阿联酋、泰国、马来西亚、日本、越南、印度、韩国、菲律宾等; 欧洲:英国、荷兰、法国、德国、意大利、挪威、法国、俄罗斯、西班牙等; 南美洲:巴西等; 北美洲:美国、加拿大、墨西哥等; 大洋洲:澳大利亚等; 非洲:南非、尼日利亚等。 Q2:即时通信 IM支持哪些群聊类型? 即时通
腾讯云音视频
2022/07/12
3.3K0
你问我答 | 即时通信IM 第五季
推荐阅读
相关推荐
IM即时通信探索(二)-- IM即时通信采坑
更多 >
LV.0
这个人很懒,什么都没有留下~
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档