新手指引

功能概述

IM基础功能是满足APP用户互动需求的基本功能。

从聊天方式上包括单聊、群聊、聊天室;从信息类型上包括文字、表情、图片、语音、视频、地理位置、通知消息。 如果这些类型都不能满足,您还可以通过自定义消息来实现个性化需求。比如红包、新闻分享、石头剪刀布游戏等。 还可以通过实时音视频、教学白板等进行实时信息互通。

通过网易云通信IM SDK,您不仅可以实现常见功能:私信、即时聊天、消息通知、游戏对战通讯等,还能完整打造易信、微信级大用户量级社交产品。

具体包含的功能列表可参见官网

网易云通信服务架构

在开始集成前,我们先看看网易云通信是怎样服务的: enter image description here

接入步骤是怎样的?

体验Demo

网易云通信Demo是一个功能较完整的IM软件,是可参考的网易云通信各功能调用SDK实例,能帮助大家更充分的了解网易云通信SDK的接入方式。

Android Getting Started

iOS Getting Started

Windows Getting Started

Web Getting Started

术语表

为了让我们呈现的文档更容易被开发者理解,网易云通信将全部产品线中的一些专业名词和约定的术语概念在此做出解释。节约您的时间是我们工作的动力。

A
appkey
开发者平台分配给开发者的公钥。
appsecret
开发者平台分配给开发者的私钥。
accid
网易云通信用户id,网易云通信中用户账号的唯一标识,每个应用下的账号唯一且不可更改,字符规则详见文档创建网易云通信ID
apns
英文全称:Apple Push Notification service,中文翻译为:苹果推送通知服务。该技术由苹果公司提供的APNS服务。目前网易云通信的iOS使用了苹果的APNS作为推送服务,详情可以参考文档APNS推送
aac
AAC(Advanced Audio Coding),中文名:高级音频编码,目前网易云通信的语音消息,以及服务端保存音频格式都是AAC格式。
C
抄送
网易云通信服务器支持可以通过消息抄送功能,将消息数据实时同步给第三方开发者的服务器。在接收数据之前,需要在网易云通信管理后台注册消息抄送数据的接收地址,目前抄送的功能分为
1.会话类型的抄送
2.登录登出的抄送
3.聊天室消息抄送
4.音视频和白板的抄送
5.主播或管理员进出聊天室抄送
F
分辨率
分辨率是用于度量图像内数据量多少的一个参数,通常表示成ppi(每英寸像素Pixel per inch)。通俗意义上,也有将视频宽高尺寸称作分辨率。网易云通信的音视频最高支持720P。
H
HTTP
超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。网易云通信支持第三方应用服务器通过HTTP协议来操作网易云通信服务器的API接口,详情可参考文档Server端文档
L
历史记录
SDK会保存一份本地消息历史记录,并提供了删除和查询的接口,由应用自己管理。网易云通信服务端默认不存储应用消息历史记录,但提供保存服务端保存历史记录的服务,标准版保存的时间默认为1年,试用版保存的时间默认为30天。该服务占用服务端存储资源,是一项收费服务,最长可以保存3年。服务端保存的历史记录,同样提供查询接口供应用使用。
离线消息
离线消息是指当发送方给接收方发送消息时,接收方不在线,此时该条消息就会被存储为离线消息,在接收方下次登录上线时同步给接收方,离线消息服务器最多下发每个会话100条消息,超过部分需要从云端记录拉取。
聊天室
网易云通信从2.0.0开始提供了一项聊天室的功能,聊天室相当于一个广场,只要有人看到了进入广场的门,任何人随时都可以进来,也可以随时离开。聊天室没有离线消息,漫游消息,推送消息,以及人数限制。聊天室分为固定成员以及游客,固定成员最多1000人,游客无上限,此外,聊天室还提供了禁言以及黑名单的功能,但是创建聊天室的方式只能通过服务端API的形式,详情请参考文档创建聊天室
录制
网易云通信支持在音视频进行的同时,对音视频进行录制,录制分为客户端录制以及服务端录制,客户端目前仅支持录制自己的,并保存到本地;服务端录制双方的,并保存成文件之后,支持抄送到第三方服务器。
M
漫游消息
漫游消息是指同一个用户在一台设备上收发的消息,当他在另一台设备上登录时同步的消息叫漫游消息。漫游消息最长7天,最多100个会话,每个会话100条消息,超过部分需要从云端记录拉取。
Q
群组
网易云通信提供的群组分为两种:
普通群
开发手册中所提及的普通群都等同于Demo中的讨论组。普通群没有权限操作,适用于快速创建多人会话的场景。每个普通群只有一个管理员(群主)。管理员可以对普通群进行增减员操作,普通成员只能对普通群进行增员操作。在添加新成员的时候,并不需要经过对方同意。
高级群
高级群在权限上有更多的限制,权限分为群主、管理员、以及群成员。2.4.0之前版本在添加成员的时候需要对方接受邀请;2.4.0版本之后,可以设定被邀请模式(是否需要对方同意)。高级群可以覆盖所有普通群的能力,建议开发者创建时选用高级群。
T
token
与accid一起作为SDK连接网易云通信服务器的凭证,即登录密码,作为登录时的校验,不会过期,没有时效限制。可调用服务端接口更新,字符规则详见文档创建网易云通信ID
通知类消息
属于会话中的一种消息,其对应的数据结构为IMMessage,有在线、离线、漫游。目前用于(已操作完成的)群通知事件,不计入消息未读数。Android没有通知栏提醒(如有需要,第三方自行实现),iOS没有APNS推送,一般位于聊天界面的中间。例如,群名称更新,某某某退出了群聊等。
提醒(Tip)消息
提醒消息用于会话内的状态提醒,一般用于自定义的通知提醒,位于聊天界面的中间,例如进入会话时出现的欢迎消息,或是会话过程中命中敏感词后的提示消息等场景。
X
系统通知
系统通知属于网易云通信内建的系统通知,由网易云通信服务器推送给用户的通知类消息,用于网易云通信系统类的事件通知。现在主要包括群变动的相关通知,例如入群申请,入群邀请等,如果第三方应用还托管了好友关系,好友的添加、删除也是这个类型的通知。系统通知由 SDK 负责接收和存储,并提供较简单的未读数管理。只有在线和离线,没有漫游。Android没有通知栏提醒(如有需要,第三方自行实现),iOS没有APNS推送。
Z

自定义系统通知
自定义系统通知提供给第三方自定义的全局的通知类型,其对应的数据结构为 CustomNotification。只有在线和离线,没有漫游,Android没有通知栏提醒(第三方自行实现)

自定义消息
属于会话中的一种消息,其对应的数据结构为IMMessage,主要提供给第三方开发者定制消息使用,有在线、离线、漫游、通知栏提醒(文案需要自行定制)。

状态码
网易云通信提供了一份状态码,方便开发者在接入SDK的时候能够更快的去定位问题,并且去解决问题。参考文档状态码,强烈建议开发者对一些常见的状态码进行处理和判断,更够更加快速的解决问题。