注册
环信即时通讯云

环信即时通讯云

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

环信开发文档

Demo体验

Demo体验

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

RTE开发者社区

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

技术讨论区

技术交流、答疑
资源下载

资源下载

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

iOS Library

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

Android Library

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

Xcode事件跟踪:76个苹果APP被置入病毒

iOS
根据腾讯安全应急中心发布的报告称,APP Store中下载量最高的5000个APP中有76款被XcodeGhost感染,其中不乏大公司的知名应用,不少金融类应用,还有诸多民生类应用。 虽然名为“XcodeGhost-Author”非认证微博昨日发文澄清,...
继续阅读 »
根据腾讯安全应急中心发布的报告称,APP Store中下载量最高的5000个APP中有76款被XcodeGhost感染,其中不乏大公司的知名应用,不少金融类应用,还有诸多民生类应用。

虽然名为“XcodeGhost-Author”非认证微博昨日发文澄清,称只是一次错误实验,以后也只是彻底死亡的代码而已,并不会有任何的威胁性行为。详细可见雷锋网新闻:《XcodeGhost作者现身,回溯事件原委》但是,就算此次信息泄露不严重,可潜在的威胁不可不防。感染的APP越多,个人信息资料泄露就越严重。

目前来看,至少有76款苹果APP被病毒入侵,安装这些应用的iPhone/iPad用户可能泄露基本的信息。受影响App名单如下:


222.png


 
资深安全专家shotgun称,目前事实本身不算清楚,背后有诸多可能:
 
1、出于某种目的,有幕后力量在构建庞大的系统,搜集用户的私人信息,不排除黑产或灰产的可能;

2、可能真如“作者”声明那样,出于实验性质,这群技术控希望看到自己能够达到什么样的水准。

如果是第一种可能,那么黑客就可定点对一两个机器进行植入和控制,通过远程控制指令,定位对象,绕过苹果的杀毒机制,让你的手机安装某些程序,细思恐极。
 
转自雷锋网 收起阅读 »

接收私信,如何知道别人在以哪一条帖子在和自己聊天?

环信只是提供一个即时通讯的平台,具体谁和谁可以聊天还是自己用户体系维护的。节操精选,是类似的案例。
环信只是提供一个即时通讯的平台,具体谁和谁可以聊天还是自己用户体系维护的。节操精选,是类似的案例。

后台可以添加多个管理员吗?

可以,但是邮箱必须是不一样的,这个其实没什么实际作用,以后会考虑去掉。
可以,但是邮箱必须是不一样的,这个其实没什么实际作用,以后会考虑去掉。

群组有批量删除群成员的接口吗?

没有,需要您做循环处理。
没有,需要您做循环处理。

环信服务器上的用户昵称是注册时就有吗?

sdk提供了设置接口,也可以通过REST处理。
sdk提供了设置接口,也可以通过REST处理。

显示详情那里,ApnsName为空时 后面的冒号能不能去掉?

环信目前已支持自定义推送,可以自定义推送内容。 http://docs.easemob.com/doku.php?id=start:300iosclientintegration:85apnscontent#自定义显示
环信目前已支持自定义推送,可以自定义推送内容。
http://docs.easemob.com/doku.php?id=start:300iosclientintegration:85apnscontent#自定义显示

录音时长有什么限制?

录音时长建议控制在1分钟内。境外访问,录音时长建议控制在30秒内。录音大小不得超过过10M,境外建议不超过3M
录音时长建议控制在1分钟内。境外访问,录音时长建议控制在30秒内。录音大小不得超过过10M,境外建议不超过3M

web如何利用环信做私信功能?

网页端可以用rest接口做。即发消息时调用环信rest接口。收消息时是用浏览器来轮询服务器。同时服务器和环信服务器之间用聊天记录导出接口定时同步(比如每2分钟一次)。
网页端可以用rest接口做。即发消息时调用环信rest接口。收消息时是用浏览器来轮询服务器。同时服务器和环信服务器之间用聊天记录导出接口定时同步(比如每2分钟一次)。

客户资料的内容是否可以修改?是否可以自定义?

客户资料,可以进行修改。该界面可以自定义,也可以引入客户的CRM系统,订单系统等。
客户资料,可以进行修改。该界面可以自定义,也可以引入客户的CRM系统,订单系统等。

客服系统的客服系统后台以后会提供集成SDK吗?

目前没这个计划,客服是独立的产品还没计划提供自主集成的方案。
目前没这个计划,客服是独立的产品还没计划提供自主集成的方案。

请问Web可以加入群吗?

demo没实现,开发者可以调用rest加http://docs.easemob.com/doku.php?id=start:100serverintegration:60groupmgmt#群组操作。
demo没实现,开发者可以调用rest加http://docs.easemob.com/doku.php?id=start:100serverintegration:60groupmgmt#群组操作。

用户发过来的语音消息,这边听过后,黄点(未读标识)不消失, 是怎么回事?

全局搜一下prepareMessageAudioModel这个函数 还有modelWithMessage,把 [[EaseMob sharedInstance].chatManager insertMessageToDB:chatMessage]; 换成[ch...
继续阅读 »
全局搜一下prepareMessageAudioModel这个函数 还有modelWithMessage,把 [[EaseMob sharedInstance].chatManager insertMessageToDB:chatMessage];
换成[chatMessage updateMessageExtToDB]; 收起阅读 »

安卓客户端集成,一定要设置昵称吗?

环信并不会存储用户的信息,而这个昵称仅仅是为iOS推送设置的,对于Android来说没有任何作用,如果不设置安卓给iOS发消息的时候,iOS收到apns的时候,会显示成环信username。注意:这个昵称只能设置不能获取。
环信并不会存储用户的信息,而这个昵称仅仅是为iOS推送设置的,对于Android来说没有任何作用,如果不设置安卓给iOS发消息的时候,iOS收到apns的时候,会显示成环信username。注意:这个昵称只能设置不能获取。

使用的早期的sdk demo中的广播接收数据,接收离线消息用广播只能接收最后一条离线消息,接收其它消息都是正常的,这会是什么原因呢?

早期版本由于都是广播事件,发最后一条消息只为通知,实际上消息都是收到了的,这个是正常的 如果想监听到全部的离线消息可以实现EMEventListener接口去重写onEvent方法, 具体看下这里http://docs.easemob.com/doku.php...
继续阅读 »
早期版本由于都是广播事件,发最后一条消息只为通知,实际上消息都是收到了的,这个是正常的
如果想监听到全部的离线消息可以实现EMEventListener接口去重写onEvent方法,
具体看下这里http://docs.easemob.com/doku.php?id=start:200androidcleintintegration:40broadcastreceiver#回调监听事件注册 收起阅读 »

图文混排怎么实现?

环信支持以下几种默认消息 1.文字消息 2.图片消息 3.语音消息 4.位置消息 5.视频消息 6.文件消息    在这个基础上,还支持对以上几种消息进行ext扩展,如果您发送的是图文混排消息,可以使用图片消息+ext扩展。 如:  EMMessage *re...
继续阅读 »
环信支持以下几种默认消息
1.文字消息
2.图片消息
3.语音消息
4.位置消息
5.视频消息
6.文件消息
  
在这个基础上,还支持对以上几种消息进行ext扩展,如果您发送的是图文混排消息,可以使用图片消息+ext扩展。
如:
 EMMessage *retureMsg = [[EMMessage alloc] initWithReceiver:receiver
                                                        bodies:@[body]];
    retureMsg.requireEncryption = requireEncryption;
    retureMsg.messageType = type;
    retureMsg.ext = @{@"msg":@"要显示的文字"};
    EMMessage *message = [[EaseMob sharedInstance].chatManager
                          asyncSendMessage:retureMsg
                          progress:nil];.
 
当对方收到这条message后,可以从ext里解析到“要显示的文字” ,消息本身还有image属性,这样就得到了图片和文字。
之后可以再UI上做消息的展示,将文字和图片显示在一条消息中。
  收起阅读 »

一个用户会话的时候,2个在线客服可以同时去处理这一个会话吗?

不支持两个客服同时回答。
不支持两个客服同时回答。

android能不能直接就显示原图呢?

ImageMessageBody body = new ImageMessageBody(new File(filePath));  // 默认超过100k的图片会压缩后发给对方,可以设置成发送原图  // body.setSendOriginalImage(...
继续阅读 »
ImageMessageBody body = new ImageMessageBody(new File(filePath)); 
// 默认超过100k的图片会压缩后发给对方,可以设置成发送原图 
// body.setSendOriginalImage(true);
具体可以参考这里:http://docs.easemob.com/doku.php?id=start:200androidcleintintegration:50singlechat#发文字_语音_图片_位置 收起阅读 »

用户的H5 APP接这个WEBIM的SDK,可行吗?能否给个建议?

手机端用可以。但强烈不建议,因为webim设计时是没有考虑移动终端的弱网络环境的,在自动重连,不丢失消息等方面都没有做特别的处理。也没有考虑省电省流量的需求。因为桌面的浏览器没有要求省电省流量。所以结论就是能用。但可能不好用 。
手机端用可以。但强烈不建议,因为webim设计时是没有考虑移动终端的弱网络环境的,在自动重连,不丢失消息等方面都没有做特别的处理。也没有考虑省电省流量的需求。因为桌面的浏览器没有要求省电省流量。所以结论就是能用。但可能不好用 。

webim1.0.7版中是不是加入了websocket,是不是就不再采用长轮询的方式了?

是的。默认就走websocket。
是的。默认就走websocket。

集成环信,商务上应该怎么合作?

这个很简单。价格体系很简单也完全透明,见:http://www.easemob.com/price。
这个很简单。价格体系很简单也完全透明,见:http://www.easemob.com/price。

用户的APP本身有一套用户管理的模块,添加好友/删除好友,创建群组/删除群组的功能也都有,但是如果要用到环信IM的系统,这两块的数据是否需要分开呢?就是说,是否创建的群组,不能直接在环信里面聊天呢?

APP自身已有好友体系的话,不需要再用环信的。环信只负责IM,用户具体信息由开发者自己维护。所以用户拿着在环信注册的username去自己服务器取对应的用户详情信息。
APP自身已有好友体系的话,不需要再用环信的。环信只负责IM,用户具体信息由开发者自己维护。所以用户拿着在环信注册的username去自己服务器取对应的用户详情信息。

怎么获取管理员token?

使用app的client_id和client_secret获取授权管理员token。地址:http://docs.easemob.com/doku.php?id=start:100serverintegration:20users#获取app管理员token
使用app的client_id和client_secret获取授权管理员token。地址:http://docs.easemob.com/doku.php?id=start:100serverintegration:20users#获取app管理员token

当手机向两侧不同方向横屏时,代码里怎么旋转图像,才能使接收方两种情况下显示方向一致?也就是比如向左横屏时,和向右横屏时,接收方得到的都是一个方向的图像。

环信已经支持支持横屏视频了,使用EMVideoCallHelpersetVideoOrientation这个方法来设置。 设置横竖屏要和界面保持一致,不然会导致花屏 具体可以参考文档这里:http://docs.easemob.com/doku.php?id=...
继续阅读 »
环信已经支持支持横屏视频了,使用EMVideoCallHelpersetVideoOrientation这个方法来设置。
设置横竖屏要和界面保持一致,不然会导致花屏
具体可以参考文档这里:http://docs.easemob.com/doku.php?id=start:200androidcleintintegration:90realtimeaudio 收起阅读 »

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

可以。不受该人数限制。
可以。不受该人数限制。

环信联合开源社及国内8所大学一起庆祝世界软件自由日

每年9月的第三个周六是“国际软件自由日”。世界“软件自由日(SFD,Software Freedom Day)”源自Ubuntu计划。每年世界“软件自由日”活动的安排和协调,接受在美国注册的“软件自由国际(SFI,Software Freedom Intern...
继续阅读 »
每年9月的第三个周六是“国际软件自由日”。世界“软件自由日(SFD,Software Freedom Day)”源自Ubuntu计划。每年世界“软件自由日”活动的安排和协调,接受在美国注册的“软件自由国际(SFI,Software Freedom International)非盈利组织的领导。

“软件自由日”是有关FOSS的世界性的庆祝活动,其宗旨是提高世界公众对于在教育、政府和商业系统使用高品质FOSS的益处的认识。“软件自由日”活动的具体安排可以超出一天的范围,活动的形式可以多种多样,比如:组织一次冠名为“FOSS”的郊游野餐(Pacnic);在适当的公共场所摆放一张桌子发放Ubuntu光盘或者演示开源软件“作品”;组织一场FOSS报告会,邀请许多人参加;组织一次FOSS文化聚会:吃饭、喝酒、卡拉“OK”;组织一场小型“演示会”,展出自创的FOSS“作品”;与学校单位、政府部门举办FOSS“联谊会”等等。

首批赞助的大学包括(这些大学将会自发组织SFD活动,参加活动将有机会获得环信提供的礼物):
  • 南京信息工程大学
  • 西南交通大学
  • 天津大学
  • 黑龙江工程学院
  • 中科院
  • 西安电子科技大学
  • 西安交通大学
  • 西安邮电大学


环信聚集了100多位世界级技术专家,三位创始人均是世界著名项目的committer,追求技术极致,提供世界级的产品,是环信从诞生之日就融入公司的血液。欢迎对技术有极致追求的同学加入环信,简历可以直投 steven@easemob.com 
 
上礼物:


0917_7.jpg




0917_6.jpg




0917_5.jpg


  收起阅读 »

能获取环信服务器上的聊天记录吗?

可以,环信提供一个聊天记录导出接口(需要在服务端调用),可以参考地址:http://docs.easemob.com/doku.php?id=start:100serverintegration:30chatlog#导出聊天记录
可以,环信提供一个聊天记录导出接口(需要在服务端调用),可以参考地址:http://docs.easemob.com/doku.php?id=start:100serverintegration:30chatlog#导出聊天记录

环信SDK有朋友圈功能么?

环信不提供朋友圈功能,只专注做IM。朋友圈功能要自己实现。
环信不提供朋友圈功能,只专注做IM。朋友圈功能要自己实现。

请问一下用REST API下载聊天记录,会有延时么?后面新增的消息,又要从第一页获取么?

没有延时,再根据第一次获取的数据返回的cursor去获取下一页的数据。
没有延时,再根据第一次获取的数据返回的cursor去获取下一页的数据。

环信成立多长时间了?

环信成立于2013年4月,核心技术团队拥有平均15年以上对移动IM相关技术的研发经验和积累,核心研发团队均来自国际知名研发中心,比如RedHat、Nokia,Polycom等。
环信成立于2013年4月,核心技术团队拥有平均15年以上对移动IM相关技术的研发经验和积累,核心研发团队均来自国际知名研发中心,比如RedHat、Nokia,Polycom等。

客服端是不解析接收到的消息中的扩展字段的吗?

客服端可以解析固定格式的扩展字段,如:商品信息卡、昵称、Iframe的刷新等,如果不解析,注意格式。用户自行定义的字段不支持。
客服端可以解析固定格式的扩展字段,如:商品信息卡、昵称、Iframe的刷新等,如果不解析,注意格式。用户自行定义的字段不支持。

三方QQ或新浪微博登陆如何实现?

如果用户使用第三方QQ或新浪微博登陆,在进行授权登陆的时候把QQ号等信息返回给用户自己的服务器,用户的服务器会记录这些信息作为用户的一个新用户,之后用户的服务器把这个用户的主键作为环信id注册环信绑定就可以了。
如果用户使用第三方QQ或新浪微博登陆,在进行授权登陆的时候把QQ号等信息返回给用户自己的服务器,用户的服务器会记录这些信息作为用户的一个新用户,之后用户的服务器把这个用户的主键作为环信id注册环信绑定就可以了。

下载下来的音频文件是按照什么规则命名的?

这里是根据服务器生成的一个唯一的长字符串,下载时可以自己去定义下载然后改下命名规则,在本地可以自己命名,自己规定就行。  
这里是根据服务器生成的一个唯一的长字符串,下载时可以自己去定义下载然后改下命名规则,在本地可以自己命名,自己规定就行。
 

环信发送图片那里是断点发送的?如果断开了,隔了一段时间,怎么重连?

目前不支持断点续传。 发图片时网络断开了,需要重新上传。
目前不支持断点续传。
发图片时网络断开了,需要重新上传。

客服后台的那个iframe的url在切换用户时如何添加参数?

 默认情况,环信会传递两个参数来供客户界面备用,web页面可获取到的两个参数。这两个参数页面可以从Parameter里取到并使用,如果使用不到,忽略即可。 第一个参数:easemobId(关联的IM服务号); 第二个参数:visitorImId(访客的环信IM...
继续阅读 »
 默认情况,环信会传递两个参数来供客户界面备用,web页面可获取到的两个参数。这两个参数页面可以从Parameter里取到并使用,如果使用不到,忽略即可。 第一个参数:easemobId(关联的IM服务号); 第二个参数:visitorImId(访客的环信IM号); 此HTTPS页面环信会默认传递两个URL参数,以供客户进行一般化的信息查询。除此之外,如果还需要特定参数,则客户可通过APP发送一个命令消息把参数传递给环信,环信会将这些参数序列化后,重新刷新自定义信息页面。
http://docs.easemob.com/doku.php?id=cs:400systemintegration:10crmintegration 收起阅读 »

图片压缩比用户能调整么?

可以的,这个是iOS的压缩方法:     EMChatImage *chatImage = [[EMChatImage alloc] initWithUIImage:image displayName:@"image"];     id options = ...
继续阅读 »
可以的,这个是iOS的压缩方法:
    EMChatImage *chatImage = [[EMChatImage alloc] initWithUIImage:image displayName:@"image"];
    id options = [[ChatImageOptions alloc] init];
    [options setCompressionQuality:0.6];
    [chatImage setImageOptions:options]; 收起阅读 »

环信sdk支持离线消息吗?

支持的,只要用户在线,则直接把消息发送过去,ios端如果不在线则通过apns推送过去的,Android端如果不在线则聊天消息先保存在服务器上,等Android登录后直接推送过去。 可以实现EMEventListener接口去重写onEvent方法来监听消息, ...
继续阅读 »
支持的,只要用户在线,则直接把消息发送过去,ios端如果不在线则通过apns推送过去的,Android端如果不在线则聊天消息先保存在服务器上,等Android登录后直接推送过去。
可以实现EMEventListener接口去重写onEvent方法来监听消息,
具体可以参考这里:http://docs.easemob.com/doku.php?id=start:200androidcleintintegration:40broadcastreceiver#回调监听事件注册 收起阅读 »

注册用户量很大,有无优惠?

将用户数和APP名称反馈给商务,会根据实际情况考虑。
将用户数和APP名称反馈给商务,会根据实际情况考虑。

日活数30万 ,是活跃用户30万吗?

日活就是当月的同时在线人数的最高峰值。
日活就是当月的同时在线人数的最高峰值。

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端可以实现一端同时登录多个账号么?

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