注册
环信即时通讯云

环信即时通讯云

单聊、群聊、聊天室...
环信开发文档

环信开发文档

Demo体验

Demo体验

场景Demo,开箱即用
RTE开发者社区

RTE开发者社区

汇聚音视频领域技术干货,分享行业资讯
技术讨论区

技术讨论区

技术交流、答疑
资源下载

资源下载

收集了海量宝藏开发资源
iOS Library

iOS Library

不需要辛辛苦苦的去找轮子, 这里都有
Android Library

Android Library

不需要辛辛苦苦的去找轮子, 这里都有

apns上传的是什么文件?

推送证书需要是P12格式的。
推送证书需要是P12格式的。

环信有没有修改密码的API?

客户端不提供修改密码接口,rest提供修改密码接口。 地址:http://docs.easemob.com/doku.php?id=start:100serverintegration:20users#重置im用户密码。
客户端不提供修改密码接口,rest提供修改密码接口。
地址:http://docs.easemob.com/doku.php?id=start:100serverintegration:20users#重置im用户密码。

证书不设置密码是否可用?

目前要求必须设置密码。
目前要求必须设置密码。

NSArray *buddyList = [[EaseMob sharedInstance].chatManager buddyList]; 获取到的都是空的,什么原因?

为了方便读取,SDK提供了这个方法,该方法的作用是读取内存中的值,当您登录后,需要您主动去网络取一次buddyList,之后才会有值,否则内存中的值为空。   从服务器获取好友列表的方法是:   /*!  @method  @brief 手动获取好友列表  @...
继续阅读 »
为了方便读取,SDK提供了这个方法,该方法的作用是读取内存中的值,当您登录后,需要您主动去网络取一次buddyList,之后才会有值,否则内存中的值为空。
 
从服务器获取好友列表的方法是:
 
/*!
 @method
 @brief 手动获取好友列表
 @discussion
 @result 好友列表
 */
- (NSArray *)fetchBuddyListWithError:(EMError **)pError;

/*!
 @method
 @brief 手动获取好友列表(异步方法)
 @discussion 好友列表获取完成时, 会调用 didFetchedBuddyList:error(EMChatManagerBuddyDelegate.h 中) 回调方法
 */
- (void *)asyncFetchBuddyList;

/*!
 @method
 @brief 手动获取好友列表(异步方法)
 @discussion
 @param completion 获取好友列表完成后的回调
 @param queue      completion block 回调时的线程
 */
- (void *)asyncFetchBuddyListWithCompletion:(void (^)(NSArray *buddyList, EMError *error))completion
                                    onQueue:(dispatch_queue_t)queue;
 
  收起阅读 »

开放注册和授权注册有什么不同?

注册模式分为两种,  1、开放注册:直接注册,不需要任何验证,设置后客户端sdk可以调用注册方法。 2、授权注册:通过后台调用REST API注册,需要有token,客户端sdk注册会返回405错误。   授权注册安全性高,可以防止他人恶意注册,正式项目中应该...
继续阅读 »
注册模式分为两种, 
1、开放注册:直接注册,不需要任何验证,设置后客户端sdk可以调用注册方法。
2、授权注册:通过后台调用REST API注册,需要有token,客户端sdk注册会返回405错误。
 
授权注册安全性高,可以防止他人恶意注册,正式项目中应该使用该方式注册。 收起阅读 »

用户数据导入环信全部返回了成功,但数据导入了23W多,可实际只有19W,导的im账户, 是把自己的账户导入到环信,怎么办?

可以用rest接口查一下,看是不是都在。按理说如果环信这边给开发者返回成功的话,应该是都导入了。也可以在后台,根据随机抽取用户去查列表什么的,看是不是都正确。
可以用rest接口查一下,看是不是都在。按理说如果环信这边给开发者返回成功的话,应该是都导入了。也可以在后台,根据随机抽取用户去查列表什么的,看是不是都正确。

语音视频模块背后的中继线路也是配备的吗?

实时音视频是支持服务器中继的。   不支持传统pstn电话中继线 
实时音视频是支持服务器中继的。
 
不支持传统pstn电话中继线 

有java、C++的示例代码吗?

服务端示例代码:https://github.com/easemob/emchat-server-examples
服务端示例代码:https://github.com/easemob/emchat-server-examples

web端可以实现一端同时登录多个账号么?

可以,下面注释掉,上面注释的取消
可以,下面注释掉,上面注释的取消

创建的应用可以删除吗?

不可以删除。
不可以删除。

公有群能删除吗?

公有群可以删除,可以由群主或者调用rest删除。
公有群可以删除,可以由群主或者调用rest删除。

环信客服管理有个“自定义信息接口设置”,怎么使用?

参阅文档:http://docs.easemob.com/doku.php?id=cs:400systemintegration:10crmintegration   在自定义接口设置后,会在客服会话界面客户资料页显示对应的界面。
参阅文档:http://docs.easemob.com/doku.php?id=cs:400systemintegration:10crmintegration   在自定义接口设置后,会在客服会话界面客户资料页显示对应的界面。

如果没有注册过的账号去调用环信的登录接口,是不是也能连接聊天服务器?

不是,没有注册的用户不可以聊天。
不是,没有注册的用户不可以聊天。

环信ios和android用户可互相通信吗?

iOS
是的,是跨平台通讯的。
是的,是跨平台通讯的。

录音文件格式可以改吗

不可以,环信的语音发消息只支持那几种格式,amr,wav。
不可以,环信的语音发消息只支持那几种格式,amr,wav。

SDK里面带的有数据库吗?

有的,SDK里建的db保存了历史会话,群组列表。
有的,SDK里建的db保存了历史会话,群组列表。

环信安卓多次调用登入接口,会不会造成已经登入过?

不会出现这种情况,但是环信是要求在调用登陆以后,但是在没有调用退出之前,是不允许再次调用登陆方法的,也就是说在没有调用退出之前,登陆只允许调用一次
不会出现这种情况,但是环信是要求在调用登陆以后,但是在没有调用退出之前,是不允许再次调用登陆方法的,也就是说在没有调用退出之前,登陆只允许调用一次

一个应用可注册多个推送证书吗?

支持。 我们支持一个appkey下传多组证书。
支持。
我们支持一个appkey下传多组证书。

Android获取的是服务器时间吗?

目前是离线的情况下拿到的是服务器时间,在线的状态情况下,使用的是本地时间。
目前是离线的情况下拿到的是服务器时间,在线的状态情况下,使用的是本地时间。

IOS删除所有聊天记录的方法是哪个?

/*!  @method  @brief 删除所有会话对象  @discussion  @param aDeleteMessages 是否删除这个会话对象所关联的聊天记录  @param append2Chat     是否加到内存中。         YES...
继续阅读 »
/*!
 @method
 @brief 删除所有会话对象
 @discussion
 @param aDeleteMessages 是否删除这个会话对象所关联的聊天记录
 @param append2Chat     是否加到内存中。
        YES为加到内存中。加到内存中之后, 会有相应的回调被触发从而更新UI;
        NO为不加到内存中。如果不加到内存中, 则只会直接添加进DB, 不会有SDK的回调函数被触发从而去更新UI。
 @result 是否成功执行
 */
- (BOOL)removeAllConversationsWithDeleteMessages:(BOOL)aDeleteMessages
                                     append2Chat:(BOOL)append2Chat。 收起阅读 »

iOS发送消息时,收到EMErrorServerTimeout 发送消息超时的报错。 网络状况良好,可能还有其他什么原因造成?

如果是偶尔的报错,是有可能的。因为客户端的网络本来就是一个不稳定的弱网络。用户看着感觉网络是良好的,但实际上会有各种临时性中断。
如果是偶尔的报错,是有可能的。因为客户端的网络本来就是一个不稳定的弱网络。用户看着感觉网络是良好的,但实际上会有各种临时性中断。

客服系统中如何增加客服,可以增加几个客服?

客服管理员登陆客服系统后,进入“管理面板--》成员管理--》客服”,显示当前所有的客服坐席。点击右上方的“新增客服”,输入昵称、邮箱、密码三个必填项的信息,点击保存按钮,即为增加一个客服坐席。添加坐席数可根据环信客服系统收费标准。 试用版:全功能不限坐席数免费...
继续阅读 »
客服管理员登陆客服系统后,进入“管理面板--》成员管理--》客服”,显示当前所有的客服坐席。点击右上方的“新增客服”,输入昵称、邮箱、密码三个必填项的信息,点击保存按钮,即为增加一个客服坐席。添加坐席数可根据环信客服系统收费标准。
  • 试用版:全功能不限坐席数免费体验
  • 标准版:享受强大的环信客服云基础功能
  • 旗舰版:享受丰富的旗舰版功能,VIP增值服务与专属的客户成功经理

 
关于价格介绍请查看官网价格介绍 收起阅读 »

ios推送可自己设置apns的内容吗?

iOS
可以,具体信息请参考文档: http://docs.easemob.com/doku.php?id=start:300iosclientintegration:85apnscontent
可以,具体信息请参考文档:
http://docs.easemob.com/doku.php?id=start:300iosclientintegration:85apnscontent

web-im没有黑名单的功能吗?通过rest的话,环信这边加入黑名单之后可以移除用户窗口,可是对面还是有,怎么操作?

通过rest进行黑名单的操作。在加入黑名单的同时,对面也调用rest把这边加入黑名单。
通过rest进行黑名单的操作。在加入黑名单的同时,对面也调用rest把这边加入黑名单。

环信可以有提供技术支持服务吗?

有两种方式,第一种是直接在官网找到在线技术支持QQ咨询,第二种是可以加入到环信交流群里讨论咨询。
有两种方式,第一种是直接在官网找到在线技术支持QQ咨询,第二种是可以加入到环信交流群里讨论咨询。

支持文件断点续传吗?

没有断点续传,发送文件就是发送的一条消息,会在一个时间范围内发送,如果超过设定时间,没有成功则返回一个失败回调,可以尝试重新发送
没有断点续传,发送文件就是发送的一条消息,会在一个时间范围内发送,如果超过设定时间,没有成功则返回一个失败回调,可以尝试重新发送

对聊天内容进行敏感字控制怎么实现?

对于开发者利用即时通讯通道所发布的信息,环信保留依据国家相关法律法规对其通讯的信息进行关键词过滤的权利,如发现开发者发送内容明确存在违反国家相关法律法规的,环信有权作出包括但不限于劝阻、拦截、直至向有关公安部门举报等行为。但这并不表示环信对开发者所发送的内容有...
继续阅读 »
对于开发者利用即时通讯通道所发布的信息,环信保留依据国家相关法律法规对其通讯的信息进行关键词过滤的权利,如发现开发者发送内容明确存在违反国家相关法律法规的,环信有权作出包括但不限于劝阻、拦截、直至向有关公安部门举报等行为。但这并不表示环信对开发者所发送的内容有过滤或审核的义务,也没有任何审查、审核、监督的责任或其他连带责任。开发者需自行对发送信息的行为承担责任,在具体操作上,环信一般建议做2层控制和保护。第一层是app首先做到在app层面上的敏感字过滤。这个也很容易做。可以在app里维护一个简单的敏感字列表,然后在发送消息时针对敏感字表做审查,如果发现有敏感字,就在UI上提示用户,不允许用户发出。这个敏感字列表可以定期的从服务器更新,比如每个月一次。任何有害信息就不准发到网络上去,这个是最重要的保护。第二层是环信即将增加的功能:服务器端的敏感字列表。用户自行维护服务器端的敏感字列表。当开启敏感字过滤功能后,环信会将含有敏感字的消息替换成***或不再转发。具体行为可以由用户自行定义。环信的服务器端敏感字过滤主要用于一些临时增加的敏感字控制。该功能将于最近推出。 收起阅读 »

互相沟通的两个人,一个是在自己的消息系统上,一个在环信的消息系统上, 能否打通呢?

可以。类似:环信发消息给微信,是通过环信的实时消息旁路接口。微信发消息给环信,是通过环信提供的REST发消息接口。旁路接口--就是把环信服务器收到的IM消息,实时的推送给自己的服务器。
可以。类似:环信发消息给微信,是通过环信的实时消息旁路接口。微信发消息给环信,是通过环信提供的REST发消息接口。旁路接口--就是把环信服务器收到的IM消息,实时的推送给自己的服务器。

透传消息是什么意思

透传消息不会存db,也不会走apns推送,类似一种指令型的消息,比如您的服务器要通知客户端做某些操作,您可以服务器和客户端提前约定好某个字段,当客户端收到约定好的字段时,执行某种特殊操作。 具体可以参考下这里:http://docs.easemob.com/d...
继续阅读 »
透传消息不会存db,也不会走apns推送,类似一种指令型的消息,比如您的服务器要通知客户端做某些操作,您可以服务器和客户端提前约定好某个字段,当客户端收到约定好的字段时,执行某种特殊操作。
具体可以参考下这里:http://docs.easemob.com/doku.php?id=start:200androidcleintintegration:110payloadmsg 收起阅读 »

微信公众号不能使用吗?可以接入使用移动客服吗?

如何接入微信公众账号:http://docs.easemob.com/doku.php?id=cs:300visitoraccess:30wechat

已经有聊天系统再集成环信用户数据对接方便吗?

方便,环信只是一个聊天的消息引擎,用户体系还是用客户自己的用户体系。环信没有客户的任何业务数据。
方便,环信只是一个聊天的消息引擎,用户体系还是用客户自己的用户体系。环信没有客户的任何业务数据。

聊天记录想按条件查询,可以吗?

这个不能支持的。聊天记录导出接口只是用来导出用的,导出后自己的服务器再进行过滤。
这个不能支持的。聊天记录导出接口只是用来导出用的,导出后自己的服务器再进行过滤。

怎么修改密码?

SDK不支持,修改的密码应该是用户登录APP的密码,不是环信的密码,所以当提交修改密码到自己的服务器并修改成功后,可以由您决定是否对应的修改环信密码,如果修改,需要由您的服务器去调rest 重置密码的接口进行修改环信的密码。 http://docs.easem...
继续阅读 »
SDK不支持,修改的密码应该是用户登录APP的密码,不是环信的密码,所以当提交修改密码到自己的服务器并修改成功后,可以由您决定是否对应的修改环信密码,如果修改,需要由您的服务器去调rest 重置密码的接口进行修改环信的密码。
http://docs.easemob.com/doku.php?id=start:100serverintegration:20users#重置im用户密码 收起阅读 »

移动客服可以集成C#app吗?

如果可以集成IM,就可以集成客服系统。
如果可以集成IM,就可以集成客服系统。

客服的接入人数已满的时候,有人转接,是否可以接入?

可以接入,当前自己接入的会话满了不影响别的客服同事的会话转接,会直接接入
可以接入,当前自己接入的会话满了不影响别的客服同事的会话转接,会直接接入

用环信即时通讯服务,后台人员是否可看到日活用户数和注册用户数的工具?

可以的,在环信后台可以很清晰的看到。
可以的,在环信后台可以很清晰的看到。

环信的用户离线判断机制是怎样的?

用户调用退出方法,可以立刻检测到用户离线。 iOS用户主动kill掉app,也可以立刻检测出用户离线。 如果用户外网断了,则不能立刻检测出用户离线,服务器会判断,如果5分钟没有收到心跳,也会认为用户离线。
用户调用退出方法,可以立刻检测到用户离线。
iOS用户主动kill掉app,也可以立刻检测出用户离线。
如果用户外网断了,则不能立刻检测出用户离线,服务器会判断,如果5分钟没有收到心跳,也会认为用户离线。

如果账户登录冲突,会让哪个用户下线?

两台设备登陆同一账号,后登陆账号会强迫之前登陆的账号下线
两台设备登陆同一账号,后登陆账号会强迫之前登陆的账号下线

android怎么把日志设置为关闭?

EMChat.getInstance().setDebugMode(boolean debugMode)设置为false
EMChat.getInstance().setDebugMode(boolean debugMode)设置为false

环信那个service的so库还要针对64位机器另外打包么?

service在arm64-v8a下有64位的so。在官网下载的sdk里面有的。 下载地址http://www.easemob.com/downloads
service在arm64-v8a下有64位的so。在官网下载的sdk里面有的。
下载地址http://www.easemob.com/downloads

web 版的是否后续会支持实时音视频聊天?

目前没有排在计划里,以后看需求量。
目前没有排在计划里,以后看需求量。

C#开发APP可否接入环信?目前采用映射可以实现吗?

很快环信会提供c++版本,需要用户自自己封装实现。用c++,C#调C++太费劲。
很快环信会提供c++版本,需要用户自自己封装实现。用c++,C#调C++太费劲。

访客标签是否可以自己设置?如何设置?

可以。管理员进入“管理面板-->设置-->访客标签”,对访客标签进行定义。可以添加标签,编辑标签,删除标签等操作。 客服坐席可以在会话过程中或会话结束后,对本次会话类型进行总结和标注。 已添加标签的会话,在会话过程中或会话结束后,可以修改。 当会话结束后,可以...
继续阅读 »
可以。管理员进入“管理面板-->设置-->访客标签”,对访客标签进行定义。可以添加标签,编辑标签,删除标签等操作。
客服坐席可以在会话过程中或会话结束后,对本次会话类型进行总结和标注。 已添加标签的会话,在会话过程中或会话结束后,可以修改。 当会话结束后,可以在历史会话页面按会话标签筛选和查看会话。 会话标签类型由管理员统一设置,普通客服无法修改标签类型,仅能使用。 收起阅读 »

在客服后台的会话列表里,点击回呼,自动转为会话列表,但是根本就不是跟这个人说话,为什么呢?

回呼是指由客服发起,再次和该客户建立聊天会话,不会出现和别人会话的情况。
回呼是指由客服发起,再次和该客户建立聊天会话,不会出现和别人会话的情况。

web版im聊天只要刷新就需要重新登录么?

多页面登录,暂时没有好的方式,可以考虑用token登录看看能不能解决用户的问题,web这块是支持token登录的: conn.open({ apiUrl : apiURL, user : user, pwd : pass, //连接时提供appkey appK...
继续阅读 »
多页面登录,暂时没有好的方式,可以考虑用token登录看看能不能解决用户的问题,web这块是支持token登录的:
conn.open({
apiUrl : apiURL,
user : user,
pwd : pass,
//连接时提供appkey
appKey : appkey
//accessToken : 'YWMt8bfZfFk5EeSiAzsQ0OXu4QAAAUpoZFOMJ66ic5m2LOZRhYUsRKZWINA06HI'
});
open连接时提供accessToken 而不是密码pwdconn.open的时候多传递参数,resource:随机值,每个tab中随机值不能一样,一样则会把前一个登录的踢出,默认都是webim使用accessToken登录的时候不用传pwd值,每次刷新页面获取一个新的accessToken传进去。 收起阅读 »

群成员被踢出群,想保留聊天信息怎么处理?

这个可以在sdk的初始化时设置一个参数 setDeleteMessagesAsExitGrouppublic void setDeleteMessagesAsExitGroup(boolean delete) 设置退出(主动和被动退出)群组时是否删除聊天消息 ...
继续阅读 »
这个可以在sdk的初始化时设置一个参数
setDeleteMessagesAsExitGrouppublic void setDeleteMessagesAsExitGroup(boolean delete)
设置退出(主动和被动退出)群组时是否删除聊天消息 enable/disable deleting the group message after existing the group参数:
delete - true为删除群组相关消息,默认为true 收起阅读 »

SDK是基于xmpp标准协议的吗?有没有什么细节的改动?

在IM协议选择方面,环信是自主研发的私有协议,已取得软件著作权。环信只是采用了XMPP协议的一部分内容,同时摒弃掉XMPP大部分不适合移动互联网的部分。虽然是私有协议,但并没有完全自己低头写代码,而是借鉴业界标准中精华的部分内容,比如XMPP,站在巨人的肩上,...
继续阅读 »
在IM协议选择方面,环信是自主研发的私有协议,已取得软件著作权。环信只是采用了XMPP协议的一部分内容,同时摒弃掉XMPP大部分不适合移动互联网的部分。虽然是私有协议,但并没有完全自己低头写代码,而是借鉴业界标准中精华的部分内容,比如XMPP,站在巨人的肩上,再结合核心研发团队15年以上的国际顶级研发机构(Nokia Symbian、Redhat、Polycom等)的经验,所以从技术层面更占据制高点。具体有哪些改进可以参见环信在csdn上的视频讲座:http://v.csdn.hudong.com/s/article.html?arcid=15819558 收起阅读 »