基础消息功能

消息类型

IM SDK内的消息可以分为两类:会话内消息和系统通知消息。

会话内消息

会话内消息只能出现并展示在聊天界面里,一般是应用内的一个用户发给另一个用户(或群组/聊天室)的消息,例如文本消息、图片消息都属于会话内消息。目前IM SDK内置支持的会话内消息包括以下类型:

会话内消息类型

备注

文本消息

消息内容为普通文本

图片消息

消息内容为图片URL地址、尺寸、图片大小等信息

语音消息

消息内容为语音文件的URL地址、时长、大小、格式等信息

视频消息

消息内容为视频文件的URL地址、时长、大小、格式等信息

文件消息

消息内容为文件的URL地址、大小、格式等信息,格式不限

地理位置消息

消息内容为地理位置标题、经度、纬度信息

群事件通知消息

主要用于群事件的通知,由服务器下发,客户端无法发送群事件通知消息。 通知类消息有在线、离线、漫游机制;没有通知栏提醒

提示消息

又叫做 Tip 消息,没有推送和通知栏提醒,主要用于会话内的通知提醒,例如进入会话时出现的欢迎消息,或是会话过程中命中敏感词后的提示消息等场景。

自定义消息

开发者自定义的消息类型,例如红包消息、石头剪子布等形式的消息

系统通知消息

系统通知消息属于系统级别的消息,一般是系统下发给某一个用户或者群组的消息。系统通知消息包括内置和自定义两类。

内置系统通知属于SDK预定义的通知类型,网易云信服务器推送给用户的通知类消息,用于网易云信系统类的事件通知。现在主要包括群变动的相关通知,例如入群申请,入群邀请等,如果第三方应用还托管了好友关系,则好友的添加、删除也是这个类型的通知。系统通知由 SDK 负责接收和存储,并提供较简单的未读数管理。只有在线和离线消息,没有漫游,不提供消息推送。

自定义系统通知是开发者自定义的一些事件状态通知,客户端和服务端都可以发送。SDK 不存储,也不解析这些通知,仅仅负责替第三方传递和通知这些事件,起到透传的作用,收到自定义通知后的持久化工作需要由上层开发负责。

类型

消息存储

未读计数

离线消息

漫游消息

消息推送

内置系统通知

没有

没有

自定义系统通知

没有

没有

没有

系统通知消息各平台开发指南请参见:

iOS:系统通知

Android:系统通知

Windows:系统通知

Web:系统通知

Linux:系统通知

Unity:系统通知

Cocos2d-x:系统通知

容易混淆的消息概念

通知消息和系统通知

概念

通知消息属于会话内的一种消息,有在线、离线、漫游。目前用于(已操作完成的)群通知事件,不计入消息未读数。没有推送和通知栏提醒。

系统通知属于网易云信内建的系统通知,由网易云信服务器推送给用户的通知类消息,用于网易云信系统类的事件通知。现在主要包括群变动的相关通知,例如入群申请,入群邀请等,如果第三方应用还托管了好友关系,好友的添加、删除也是这个类型的通知。系统通知由 SDK 负责接收和存储,并提供较简单的未读数管理。只有在线和离线,没有漫游。没有推送和通知栏提醒(如有需要,通过自定义系统通知实现)。

使用场景

通知消息一般位于聊天界面的中间。例如:群名称更新、某某某退出了群聊等。

系统通知通常在验证消息列表中展现。例如:某某某请求加你为好友等。

自定义消息和自定义系统通知

概念

自定义消息属于会话内的一种消息,主要提供给第三方开发者定制消息使用,有在线、离线、漫游、通知栏提醒。提供给第三方自定义的全局的通知类型,只有在线和离线,没有漫游。

自定义通知和自定义消息的不同之处在于,自定义消息归属于会话中的消息体系内,由 SDK 存储在消息数据库中,与网易云信的其他内建消息类型一同展现给用户。而自定义通知主要用于第三方的一些事件状态通知,网易云信不存储,也不解析这些通知,网易云信仅仅负责替第三方传递和通知这些事件,起到透传的作用。

使用场景

自定义消息一般与普通文本,语音消息相同,位于聊天界面的左右两侧。例如,猜拳、贴图、阅后即焚均可以采用自定义消息来实现。

自定义系统通知的一个典型场景为聊天双方处于P2P聊天界面时,显示的“正在输入通知”。

消息功能

除了支持丰富的消息类型外,IM SDK还为开发者提供了常见消息功能的支持。

消息功能

说明

离线消息

不在线时其他人发来的消息。在下次登录时,会自动将离线期间暂存的离线消息自动下发到 客户端SDK。 点对点场景下发 最近 30 天内的最新的 5000 条离线消息,且每个会话最多 100 条最新的离线消息;群聊场景会话下发最近30天内的离线消息,且每个群聊会话最多下发 100 条最新的离线消息。

漫游消息

在新设备(或卸载重装)登录时,服务器记录的漫游消息将自动同步到客户端SDK。漫游 7 天内最近 100 个会话,每个会话最近的 100 条消息

多端同步

同账号多客户端同时在线时,其中一端发出的消息实时下发到其他端

历史消息

支持本地历史消息和云端历史消息。标准版IM可获取到最近1年的云端历史消息,最多支持扩展至3年(增值功能)

消息撤回

撤回投递成功的消息,默认撤回 2 分钟内的消息,可撤回的时长可在用户控制台进行配置。撤回操作仅支持单聊和群聊消息,不支持聊天室消息的撤回

已读回执

查看点对点或群聊会话中对方的消息已读未读状态

消息转发

将消息转发给其他用户或群组

@某人

通过消息扩展字段实现。当发送群消息@某人的时候,可以通过扩展字段带上被@的帐号列表发送出去;群成员收到群消息时,查看扩展字段的@帐号列表里有没有自己,如果有,则界面上做被@的提醒。

正在输入

通过自定义系统通知实现,可参见:发送自定义系统通知

最近会话

最近会话 ,即最近联系人列表,它记录了与用户最近有过会话的联系人信息,包括联系人帐号、联系人类型、最近一条消息的时间、消息状态、消息内容、未读条数等信息。

最近会话列表由 SDK 维护并提供查询、监听变化的接口,只要与某个用户或者群组有产生聊天(自己发送消息或者收到消息), SDK 会自动更新最近会话列表并通知上层,开发者无需手动更新。

某些场景下,开发者可能需要手动向最近会话列表中插入一条会话项(即插入一个最近联系人),例如:在创建完高级群时,需要在最近会话列表中显示该群的会话项。由创建高级群完成时并不会收到任何消息, SDK 并不会立即更新最近会话,此时要满足需求,可以在创建群成功的回调中,插入一条本地消息,以实现插入会话的目的。

需要注意的是,最近会话是本地的,不会漫游。在新设备登录后,最近会话列表会根据当前的漫游消息、离线消息等自动生成。

本篇文档内容是否对您有帮助?

有帮助

我要吐槽

如果遇到产品相关问题,您可 提交工单 或 在线客服 寻求帮助。

您的改进建议

×

问题类型

内容错误

内容没更新

描述不清

链接有误

步骤不完整

内容缺失(缺少代码/示例)

其他

更多建议

请输入您的建议或问题(至少5个字符,至多500个字符)

联系方式

标记内容

同时提交标记内容

提交

此文档对你是否有帮助

×

有帮助

我要吐槽

×

反馈成功

非常感谢您的反馈,我们会继续努力做得更好。

网易im 服务器消息格式,基础消息功能相关推荐

  1. 微信客服为什么不能人工服务器,微信客服消息格式限制及功能

    微信客服消息格式限制及功能,不知小伙伴们有没有关注过微信客服,有没有接触过微信客服.下面小编就来为大家讲解一下微信客服消息格式限制及功能. 微信客服消息格式有什么限制? 文字:长度不得超过600字. ...

  2. 网易im 服务器消息格式,机器人消息体模板说明-IM即时通讯-网易云信开发文档...

    目的 描述机器人返回消息体,包含控件元素.布局(简版).数据及特定事件. 消息体模板说明 template元素 元素定义了整个消息体. 属性 值 描述 id id 元素的唯一id params 参数串 ...

  3. python 查看kafka发送的消息格式及消息内容

    from pykafka import KafkaClientclient = KafkaClient(hosts="0.0.0.0:9092") topic = client.t ...

  4. FAPI专题-3:5G nFAPI接口 - 中文规范-3- 协议栈、消息格式

    作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客 本文网址:https://mp.csdn.net/mp_blog/creation/editor/11759 ...

  5. 网易云信消息抄送php,消息功能-服务端API文档-IM即时通讯-网易云信开发文档

    消息功能 发送普通消息 请求说明 POST https://api.netease.im/nimserver/msg/sendMsg.action HTTP/1.1 Content-Type:appl ...

  6. 什么是Protocol Buffers / protobuf / protobuffer?一种服务器和客户端的消息交互方式

    Table of Contents Protocol Buffers 定义消息类型 指定字段类型 分配字段编号 指定字段规则 添加更多消息类型 添加评论 保留字段 您产生了什么.proto? 标量值类 ...

  7. 服务器主动推送消息数据给客户端

    1 引言 这个问题第一次是我在实现一个导师的方案的时候所发现的,一开始我需要实现服务器与客户端的密钥协商和数据传递,服务器需要主动分发(推送)密钥给客户端,因为以前没有做过相关编码,后来只能想到用反向 ...

  8. 网络协议之:WebSocket的消息格式

    文章目录 简介 WebSocket的握手流程 webSocket的消息格式 Extensions和Subprotocols 总结 简介 我们知道WebSocket是建立在TCP协议基础上的一种网络协议 ...

  9. 传感器信号 如何发送到服务器,传感器如何将消息发送给云服务器

    传感器如何将消息发送给云服务器 内容精选 换一换 消息发送和消费的可靠性必须由DMS服务和生产者以及消费者协同工作才能保证.同时开发者需要尽量合理使用DMS消息队列,以提高消息发送和消息消费的效率与准 ...

最新文章

  1. PYTHON高级全栈开发工程师-老男孩教育
  2. python爬虫抓取图片-简单的python爬虫教程:批量爬取图片
  3. 一个通用Makefile详解
  4. 【转】用nohup命令让Linux下程序永远在后台执行
  5. Eclipse基础设置
  6. 蓝桥杯——机器人行走
  7. hbase里插入big int数据用Phoenix查看的报错问题
  8. Java嵌入oracle,Java插入Oracle Spatial空间数据
  9. 萌宠历险记html5游戏在线玩,《神武2》天外魔境现世 萌宠历险记首发
  10. 文远知行发布自动驾驶新方案:日产纯电动车型,搭载性价比激光雷达
  11. HTML5开发手机项目总结
  12. jQuery表格排序(tablesorter)
  13. [故障解决]Could not get a resource from the pool。
  14. Axure share 二三事
  15. VLAN间路由(笔记)
  16. 一文读懂方向导数与梯度
  17. cinahl数据库怎么进入_CINAHL数据库的检索系统及相关检索方法
  18. 疲劳检测,基于视频的疲劳检测、脱岗、打呵欠、闭眼、点头等检测
  19. 渗透测试网络攻防--OSINT和被动侦察
  20. 动态贴纸android,带你一步步分析和实现 Android 贴纸功能

热门文章

  1. matlab根据根求多项式,matlab求解多项式的根
  2. android 自动读取短息,Android实现短信验证码自动拦截读取功能
  3. 【软件推荐】使用手机和平板作电脑副屏扩展
  4. foxmail发邮件时总提示接收密码错误是怎么回事
  5. Ubuntu X86编译安装Gstreamer nvenc插件(硬件编码)
  6. TypeError: 'str' object cannot be interpreted as an integer
  7. 【VMware】在VMware ESXi 6.7中创建虚拟机
  8. 环境工程部门怎么实施自动化软件学习时间更多
  9. Android 高斯模糊效果从319ms到3ms的优化实现
  10. SpringBoot整合Log4j2以及配置详解