大家好,我是黑眼圈云豆。这个系列的文章主要是针对IM功能进行探索,逐步实现一个相对功能较为完整的IM项目。
今天先给大家介绍一下IM这个产品。
论聊天软件的实例,腾讯就不用多说了,经历了这么多年的经验和技术整合出来的IM SDK目前已经能够完整应用在Android、iOS、Windows、Web等平台上了。
目前sdk已经整合了单聊和群聊服务。
单聊即 1V1 聊天,提供包括文字、表情、地理位置、图片、语音、短视频及自定义消息的能力,可实现红包、对话机器人、消息回执、消息撤回等特殊功能,除此之外还提供离线消息、漫游消息等服务。
多人聊天服务,根据群组加群方式及管理组织形式的部分预设以下四种群组类型,可以适应各种群聊场景需求。
我后面的项目也主要是围绕着单聊、群聊和会话管理三方面进行扩展。
官方线上demo地址点击前往
引入IM SDK之后,SDK有一个命名空间TIM,这个变量上面有一个静态方法create和两个常量EVENT、TYPES,其中create方法可以创建一个sdk实例,sdk的方法都在这个实例上,另外两个常量主要用于监听事件和区分类型,结构图如下:
通过TIM.create方法创建的sdk实例包含的方法按功能大概可以分为六类基础、消息、会话、资料、群组、群成员。其中基础的方法包括了登入、登出等功能。
在基础方法中有一个registerPlugin()方法,允许注册插件,不过目前支持的插件只有两个cos-wx-sdk和cos-js-sdk,分别适用于小程序和H5文件上传的插件。
常量目前分为两个大类,TIM.EVENT和TIM.TYPES,分别用来标识事件名称和数据类型,其中数据类型TYPES按照类型可以分为15个小分类,数量挺多的,基本可以用来标识所有IM产品中产生的数据。
这是我整理出来的结构图,里面具体的事件和方法名字我就不展示出来了,数量比较多,大家可以去官方手册上去看详细的内容,点击查看官方手册
在SDK里面还有五个对象分别是Message(消息)、Conversation(会话)、Profile(资料)、Group(群组)、GroupMember(群组成员)。这些对象并不是那些可以直接用的,而是在一些事件或者方法里面传出来的数据。
其中message对象里面有一个字段payload(消息内容),这个字段根据消息的类型,会有不同的结构。目前有九种结构分别是文本、图片、音频、视频、文件、自定义、位置、群提示消息、群系统通知。具体内容也可以在官方文档中查看到。
IM即时通信已经是一个完整的通信sdk了,只要项目中接入了IM,按目前官方提供的内容来看,已经可以很简单的创建一个实时通信的功能,甚至项目。
不过IM里面肯定还有一些坑点和难点,下一篇文章,我将给大家看看我整理出来的一些需要注意的点。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。