注册
环信即时通讯云

环信即时通讯云

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

环信开发文档

Demo体验

Demo体验

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

RTE开发者社区

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

技术讨论区

技术交流、答疑
资源下载

资源下载

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

iOS Library

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

Android Library

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

来自环信的新年问候

辞旧迎新,2015年已经随着新年的钟声渐渐远去,但是给中国企业级服务市场所带来的深远影响才刚刚开始。随着中国人口红利的消退、经济走弱带来的各行业毛利下滑以及移动互联网红利的凸显,通过Saas提高企业运营效率,节省成本,成为企业服务加速爆发的核心驱动力,SaaS...
继续阅读 »

head.jpg

辞旧迎新,2015年已经随着新年的钟声渐渐远去,但是给中国企业级服务市场所带来的深远影响才刚刚开始。随着中国人口红利的消退、经济走弱带来的各行业毛利下滑以及移动互联网红利的凸显,通过Saas提高企业运营效率,节省成本,成为企业服务加速爆发的核心驱动力,SaaS领域将会迎来一个爆发式增长的黄金时期。


2015年是中国企业级服务元年,也是中国SaaS元年。企业服务市场因此成为资本追逐的热点,而其中环信更是明星中的明星公司,一年时间实现四轮融资。环信从连接“人与人”为愿景的即时通讯云产品出发,进而在PaaS平台上生长出了连接“人与商业”的SaaS产品环信移动客服。同时还逐步上线了环信大数据产品、环信反垃圾产品,打造了一个IM蓝图的全产业链布局。环信推动了整个即时通讯云行业从PaaS服务向SaaS服务延展的风潮,引领了整个行业的发展趋势。


因为有你,环信连接人与人才有价值。
因为有你,环信连接人与商业才有基础。
感谢有你,环信飞速发展,一年四轮融资。
见证有你,环信即时通讯云领军行业,覆盖TOP20领域TOP10客户。
见证有你,环信移动客服占据SaaS移动端客服市场77.4%份额居行业第一。
感谢有你,环信大数据产品,反垃圾服务等如雨后春笋茁壮成长。
感谢有你,感恩有你,感激有你,2016“环信”有“你”更精彩!
环信祝福小伙伴们,新春快乐,猴年吉祥!​​



融资情况:
环信一年时间内完成了4轮融资。天使轮为经纬中国500万人民币、A轮为SIG 500万美元、A+轮为红杉资本300万美元,B轮融资1250万美元,由红杉资本领投,经纬中国和SIG跟投。是即时通讯云和SaaS客服领域融资最快、资金最充裕的平台。

业绩规模:
环信是国内起步最早、规模最大的即时通讯云平台和全媒体智能云客服平台。现已覆盖包括电商、O2O、互联网金融、在线教育、在线旅游、移动医疗、智能硬件、游戏等20大领域的Top10客户,典型用户包括国美在线、58到家、快牙、随手记、猎聘、海尔等。截至2015年底,环信共服务了50833家 App 客户,SDK覆盖手机终端3.19亿,平台日均发送消息2.1亿条。
  收起阅读 »

凡信2.0beta发布-超仿微信的开源项目 (更新了朋友圈和钱包)

         凡信的第一个版本于2015年4月份发布,之后由于自己工作忙碌的原因,一直没有重大的更新内容。2016年1月份抽空做了一些更新。主要是加入了朋友圈和钱包这两块内容,以及对第一版的一些bug的修复。凡信2.0依然是基于环信IM通信云SDK开发的,...
继续阅读 »
         凡信的第一个版本于2015年4月份发布,之后由于自己工作忙碌的原因,一直没有重大的更新内容。2016年1月份抽空做了一些更新。主要是加入了朋友圈和钱包这两块内容,以及对第一版的一些bug的修复。凡信2.0依然是基于环信IM通信云SDK开发的,当前状态下第三方通信云趋于火热,环信也这一年走过四轮共计几千万美元的融资,开发者用户也呈现几万的增长。这个项目也算是给需要集成IM云的开发者提供一个参考,给刚接触Android开发,对Android整体开发框架还很模糊同学提供一个学习的教材。

       关于此次更新的朋友圈版块,有些地方的处理的我觉得非常有技术分享的价值,项目为了极速开发,整个项目写得有点凌乱粗糙,但是部分功能单独拎出来讨论。会以博客的形式的解析一些功能。

    可关注http://www.imgeek.org/people/huangfangyi 
    作者QQ : 84543217
    技术讨论群:437758366(已有900名小伙伴等着你)


APP运行效果图展示


Screensho.png


 
APK扫码下载体验

liantu.png



二维码下载不了的,直接用链接
http://120.24.211.126/fanxin/download/Fanxin.apk
 
github源码下载 https://github.com/huangfangyi/FanXin2.0_IM



凡信2.0beta的代码更新说明:
 
   
一、朋友圈相关
1.发布动态--文字 图片 位置
2.朋友动态列表
3.点赞
4.评论
5.识别网址
6.好友的所有动态查看
7.我的相册
8.部分功能待完善
二、钱包相关
1.零钱 -虚拟账户
2.充值 选择卡-充值-每张卡初始额度200元
3.提现 提现到卡-需要手动处理才能完成,我就不手动去弄 了,因此提现后无法到你的卡(注:此卡指的是凡信中的虚拟卡)
4.交易记录---转账、充值、提现三类
5.银行卡 后台虚拟了一些卡账号,每张卡有200的额度。添加后可充值。
6.给好友转账--后面会添加提现和在聊天页显示。     
7.支付宝集成(app中常用的功能)-----集成了支付宝的SDK,由于密钥等参数都是比较重要的,已在工程中去掉了。体验这个带参数的功能,可以下载这个包-http://120.24.211.126/fanxin/download/Fanxin.apk,做了一个打赏的功能。
   三、  逻辑变化:
好友关系独立化,弃用了环信的好友关系表,在后端自己管理好友关系,这样做是跟朋友圈的业务相关,因此请务必注册新的账号的测试,

前情回顾:
本项目的IM通信部分是基于第三方通信云——环信的SDK开发的。对于个人开发者或者小企业来说,做IM用第三方的也是一种趋势吧,毕竟自己整一套可供运营使用的IM系统几乎是不切实际的(技术门槛和维护成本)。之前用环信做了几个外包项目,其中有些设计和安排我觉得很赞,所以总结了以前的经验和收获,做了这套全仿微信的APP。总的来说,这里面大的架构还是沿用了环信官方提供的UIdemo,但是里面的很多的细节和大部分页面都是我精心按照微信的逻辑和UI设计进行编写的。功能上目前解决了好友体系、用户资料、单聊、群聊等社交功能,后续还会继续更新类似于更换聊天背景、搜索本地用户、朋友圈、更多聊天表情等功能。。。希望有兴趣的小伙伴能一起更新这个开源项目。      整套代码编写的时间仓促,加上作者水平有限,望理解!
第一版功能说明:
1.注册登录部分:
     1.1重写了EditText的默认的蓝色底线,变成微信的绿色
     1.2 登录和注册按钮对输入框进行监听,并变色
     1.3 密码明文和隐藏
2.主页
     2.1全仿微信底部导航
     2.2 右上角加号按钮可进入 “发起群聊”和“添加朋友“
     2.3 显示未读消息数和未读通知数
3.聊天列表页:
     3.1 群聊头像是群成员头像的组合,有1.2.3.4.5种类型的头像
     3.2 置顶功能。置顶后该会话item置于列表顶端,并像微信一样变底色
     3.3 删除列表功能,删除该条会话记录
4.通讯录页
     4.1 显示好友列表
     4.2 进入还有申请通知
     4.3 进入群聊列表
5.发现页(正在开发朋友圈功能.....)
6.用户详情页
      6.1 资料设置(目前可更改的资料是:头像、昵称、性别)
      6.2 微信号只能设置一次。
      6.3 设置页(通知、声音、震动、退出登录)
7.用户申请通知
      7.1按时间由近及远排序
      7.2 显示申请理由
      7.3 处理状态(已添加、同意)
8.查找添加用户
      8.1 按用户的手机号查找用户
      8.2 搜索的用户的存在显示用户资料
      8.3 若该用户已经是好友,显示”发送消息“按钮
      8.4 若该用户不是好友,显示添加好友,并要求输入申请理由
9.发起群聊
      9.1可以在输入框内按用户昵称搜索好友
      9.2 添加群聊的用户的头像可以动态显示在顶部
10.聊天页面
      可以发送语音文字图片和视频(后续更新更多表情和设置聊天背景)
11聊天设置
       11.1单聊:置顶聊天、免打扰、和清除聊天记录
       11.2 群聊:显示群成员列表、增加群成员、删除群成员(群主可操作)、
                  修改群名称、置顶聊天、屏蔽清除群消息 收起阅读 »

致美洽,造谣抹黑和博同情不能赢得市场,好产品不需要说谎!

1月26日,易观智库发布了《2015中国SaaS客服市场专题研究报告》全方位解读了国内SaaS客服市场现状。易观报告详细诠释了未来客服行业移动端、全媒体、智能化等发展趋势,预测2017年中国SaaS客服市场将达到680亿元人民币。同时公布了2015主要SaaS...
继续阅读 »
1月26日,易观智库发布了《2015中国SaaS客服市场专题研究报告》全方位解读了国内SaaS客服市场现状。易观报告详细诠释了未来客服行业移动端、全媒体、智能化等发展趋势,预测2017年中国SaaS客服市场将达到680亿元人民币。同时公布了2015主要SaaS移动端客服厂商用户覆盖比例,其中环信以77.4%的份额占据SaaS移动端客服市场第一,从而一石惊起千层浪。在报告中份额比较小的美洽通过造谣抹黑环信,付费刷爆微信群和朋友圈,以弱者的姿态博同情误导不明真相群众,我们对此深表遗憾。与之形成鲜明对比的是行业主流SaaS客服厂商均没有借势抹黑环信来抬高自己的产品,我们对此表示由衷的钦佩,因为好产品从不需要说谎。
 
环信呼吁公开、公平、公正测评,规范中国SaaS客服市场
 
中国SaaS客服软件市场将是一个千亿级市场,但目前市场份额的很大部分还是被传统安装型软件和传统的单一语音呼叫中心所占领。中国新一代的SaaS客服厂商的共同战场是SaaS VS 传统安装软件,是移动互联网时代应运而生的创新技术对诞生在PC互联网时代的上一代客服技术的革新,提高整个客服行业的用户体验和工作效率。环信衷心希望可以团结中国新一代的SaaS客服厂商,教育市场,培育市场,一起把中国的SaaS客服市场做大做强。

环信一直秉承着用数据和事实说话,环信郑重承诺,环信公开发布的所有数据包括融资金额、产品数据和客户量等信息均真实可靠,环信愿意为此承担一切法律责任和道德风险。

 环信提倡在一个公开、公平、公正的环境下用第三方的评测标准和透明的用户数据来规范中国SaaS客服市场,大家带上自己的TOP 用户一起来比一比,美洽,敢约么?


640.webp_(12)_.jpg


 
 环信用数据说话,不服来战,美洽敢约么?
 
环信在即时通讯云领域耕耘数年,积累了大量的用户和良好的口碑,成就了环信“连接人与人”的愿景。环信移动客服是在环信即时通讯云PaaS平台上生长出来的SaaS产品,环信移动客服SDK与环信即时通讯云SDK共享核心代码,历经5万余家APP实践验证,2年半迭代开发,承担着环信“连接人与商业”的愿景。环信携其优势移动端技术和客户资源,在SaaS客服的移动端客服领域后发先至,高歌猛进也是理所当然。

企业级服务市场从来都是靠产品技术和市场销售实力取胜,而不是靠造谣、抹黑和博同情,针对美洽质疑报告数据,环信提议美洽带上自己的TOP用户一起来比一比,敢约么?


具体提议如下:(环信已将评测方案开源在github上,其余友商有兴趣参加,环信同样欢迎。)


640.webp_.jpg



 
1,用户:提交各自TOP50移动端app用户名单,需要有明确客服入口,需要检测明确使用了自己的SDK。(针对美洽质疑TOP5/TOP10用户不代表整个厂商市场覆盖,那我们直接加码到TOP50客户,如果对方不足50家客户的可以酌情减少到40家)

2,机构:主持评测机构:第三方公证处。数据来源机构:各大应用商店,App annie、易观千帆、QuestMobile等。

3,评测方法:1、各自Top50 App用户的总累计市场下载量。2、、各自Top50 App用户的总累计日活量。为保证日活数据的透明公正,可采用至少2家研究机构的日活监控数据,如app annie、易观千帆、QuestMobile等。

4,如果你敢接受环信的挑战,请在2月19日前提交申请。SaaS移动端客服市场占有率公开评测方案GitHub开源地址:https://github.com/haozki/servicecloudmarket
 


 市场份额不是大锅饭:主流SaaS客服厂商均认可,为啥单美洽质疑?
 
易观《2015中国SaaS客服市场专题研究报告》发布后获得了广泛传播。其中部分领先厂商比如逸创云、智齿、爱客服等均第一时间解读了,并在各自微信和优势媒体传播了报告里的趋势,引用了报告里的核心市场数据。
 
 

640.webp_(1)_.jpg


 
逸创云客服微信描述易观智库为国内知名数据机构,智齿客服微信描述易观智库为权威的第三方机构,这是为什么呢?


640.webp_(2)_.jpg


 
为啥美洽你口中的“大佬”《2015中国SaaS客服市场专题研究报告》代表厂商天润融通和Live800不质疑,这么多比你优秀的厂商不质疑,为什么只有你质疑?在移动端美洽1.7%的真实市场占有率影响到你投资人信心了是么?市场不是大锅饭,靠的是实力。


640.webp_(3)_.jpg



美洽:恶意中伤,黑稿路人群全覆盖,误导不明真相群众,红包发到手抽筋。
 


640.webp_(4)_.jpg


 
以上为部分大群截图,绑架友商恶意中伤环信,妄图鹤蚌相争渔翁得利,可惜友商都有职业操守。请问程总您是如何得知逸创、Udesk、环信三家的核心市场数据的?还得出结论环信排第四,靠冥想么?
 

640.webp_(5)_.jpg



组团将黑稿发到行业群里供大家讨论本也无可非议,刷爆上百个微信群也没什么,砸红包诱发转发都能理解,美洽COO程总将黑稿发到众多不明真相的普通路人群,比如“北京程氏宗亲群”是单纯为了冲阅读数?还是里面有一股来自东方的神秘力量?


产品和市场落后可以追,最可怕的是固步自封、观念落后

根据官网显示美洽成立于2013年,而环信移动客服2014年12月开始内测,于2015年4月正式上线,环信移动客服是晚于美洽进入市场,但现在市场占有率环信远超美洽,美洽有反思过为什么吗?

2015年某国内最大O2O平台的App内置客服选型,其中某友商爆出两年完全免费的价格,但最后仍旧付费采购了环信移动客服。某友商是否在失败后在产品和技术层面进行了反思:


1,你的移动端客服是否基于IM长连接技术?只有基于IM长连接技术的移动端客服才能保证消息必达、24小时在线,这已经是常识。

2,SaaS云客服要支持互联网上的海量用户,你的移动端客服是否有经过验证的支持千万级用户同时在线咨询的能力?



企业级服务产品的核心竞争点是产品和技术实力,是靠高质量的研发团队的长期和巨量的投入,不是靠价格,更不是靠打嘴仗,发黑稿博取同情,绑架用户。
 

640.webp_(6)_.jpg


 
 易观报告客户服务领域关于移动端和全媒体的趋势已经不需累述,如果SaaS客服“移动端”指标还算是程总口中所谓意淫的“中国特色”指标,那么很遗憾您的观念起码已经落后整个SaaS客服行业了。如果行业厂商一直固步自封,停留在原来的产品和市场圈子自沾自喜,将会被新一轮先进的生产力无情的淘汰,这也是他们为什么市场占有率低的主要原因。当然如果程总能和谈笑风生的 Nielsen 或者其他机构一起在以下美洽提议的三个方面: “付费用户数占比”、“付费金额占市场总额比”和“注册用户占比”做一个中立报告,环信将积极参与并提供数据。


640.webp_(7)_.jpg


 
环信新媒体小编努力工作效率高也有错?行业调研机构发布报告以后,第一时间完成解读借势传播难道不是每个厂商市场部的最起码职责么?由此可以看出美洽的全方面落后,不单只在市场部。

俗话说“离开剂量谈毒性”都是耍流氓,抛开数据谈第一是不是更耍流氓?美洽COO程总说:“反正美洽比环信领先的多了。”亲,原因呢?数据呢?哼,讨厌、恶心、呸,就是比你领先的多…
 

不堪入目的骂街都来了


 

640.webp_(8)_.jpg



造谣和吹牛逼三神兽:“我同学、我朋友、我亲戚”。本来想深度扒扒易观智库的,后来想想还是省省力气吧…其实大家真的很想听。下面这幅图还给您,不谢。


640.webp_(9)_.jpg


 
Udesk:你没看清楚数据,我不怪你


640.webp_(10)_.jpg


 
求Udesk小编手下留情,马上大过年的,就不要打打杀杀啦。重要的事情说三遍:“移动端、移动端、移动端。”这个图里说明的是环信占中国SaaS移动端客服市场比例,而不是整个市场。也许媒体自发转载传播的标题有歧义,你没看清楚数据我不怪你。


写在最后,2015年是中国SaaS元年,行业需要自律,同时也需要新标准。环信衷心希望可以团结中国新一代的SaaS客服厂商,教育市场,培育市场,一起把中国的SaaS客服市场做大做强,市场足够大,大家都可以活下来。 收起阅读 »

【有奖调查】关于表情的使用需求

为了更好地服务环信用户,了解大家对表情的使用需求,环信和萌岛合作发起本次有奖调查,感谢大家支持!如果有需要,可以抓你们的运营或者 PM 来回答哦。    萌岛是一个专注于互联网卡通形象的服务平台,汇聚国内专业卡通形象设计师,大家熟悉的各路表情包设计大...
继续阅读 »
为了更好地服务环信用户,了解大家对表情的使用需求,环信和萌岛合作发起本次有奖调查,感谢大家支持!如果有需要,可以抓你们的运营或者 PM 来回答哦。
 

萌岛.jpg


 
萌岛是一个专注于互联网卡通形象的服务平台,汇聚国内专业卡通形象设计师,大家熟悉的各路表情包设计大神,都在萌岛。萌岛已为国内多个互联网产品提供卡通形象和表情设计服务。


萌岛表情设计稿.png



 1、你是否想要类似天猫和京东狗这样的卡通形象?
 
 2、你是否想要企业专属定制的卡通形象表情包? 
 
3、单个表情制作费用多少钱能够接受?500以内 / 500-1000 / 1000-2500 / 其它价格(可以具体说明)
 
 4、关于表情有任何想法请告诉我们。


 
如果对卡通形象表情感兴趣,还可以关注萌岛的微信服务号了解哦。   



萌岛服务号二维码8.jpg

收起阅读 »

java.lang.NoClassDefFoundError: com.easemob.chat.EMChat

导入jar,在自定义application里oncreat中跑EMChat.getInstance().init(this)这个就报错,估计是导包的问题,就是找不到哪里错了


aaa.png


导入jar,在自定义application里oncreat中跑EMChat.getInstance().init(this)这个就报错,估计是导包的问题,就是找不到哪里错了

Android EaseUI里的百度地图替换为高德地图

鉴于有些客户的项目里要使用高德地图,我就把EaseUI里的百度地图替换为了高德地图,提供给有需要的客户下载使用。 (EaseUI里的类名没有做修改,还是沿用的之前的,想修改的可自行修改) 依赖这个EaseUI之后,需要在项目的清单文件里去配置权限 ...
继续阅读 »
鉴于有些客户的项目里要使用高德地图,我就把EaseUI里的百度地图替换为了高德地图,提供给有需要的客户下载使用。
(EaseUI里的类名没有做修改,还是沿用的之前的,想修改的可自行修改)
依赖这个EaseUI之后,需要在项目的清单文件里去配置权限

QQ截图20160130130317.png


还有高德地图的appkey和定位服务

QQ图片20160128201903.png


我把依赖这个EaseUI写的demo也一并上传了,可以去参考下。
github上的地址:
https://github.com/wangxinjeff/WXEaseUIDemo
我在这里只是简单的实现了高德地图的地位,大家可以根据高德的api自行扩展。 收起阅读 »

ANDROID开发之BUG专讲:入门篇(一)

话说诸葛亮是一个优秀的程序猿,每一个锦囊都是应对不同的case而编写的!但是优秀的程序猿也敌不过更优秀的bug!六出祈山,七进中原,鞠躬尽瘁,死而后已的诸葛亮只因为有一个错误的case-马谡,整个结构就被break了!   BUG真的是一个很讨人厌烦的东西...
继续阅读 »
话说诸葛亮是一个优秀的程序猿,每一个锦囊都是应对不同的case而编写的!但是优秀的程序猿也敌不过更优秀的bug!六出祈山,七进中原,鞠躬尽瘁,死而后已的诸葛亮只因为有一个错误的case-马谡,整个结构就被break了!

 

BUG真的是一个很讨人厌烦的东西,它总是在你以为自己已经战胜它的时候跳出来嘲笑你。如何才能拿下这些烦人的BUG呢?我想要从DEBUG开始。这里给刚刚接触编程的新手们介绍一下Debug的方法,学会了这些方法后反复练习,当你积累了上万的有效代码量以后自然会发现你的水平将大大精进。

 

工具介绍

 

Android Studio:几乎所有的编译器都会带上自己的DEBUG调试器,所以先来讲讲这个。我这里就以Android studio为例,Android studio是谷歌推出的专门同来进行Android开发的软件,由于针对性比eclipse强所以里面集成了很多插件个人觉得比eclipse方便不少。现在多数安卓开发者都在使用这款IDE了。

 

Android Studio自带模拟器:简单讲Android不像C或者C++甚至是单纯的Java编程。它从设计到编写程序到调试,都离不开手机,Android Studio自带一款强大的模拟器,他能在电脑上模拟出一台手机,如果你不考虑程序在真实设备上的兼容性,这款模拟器已经非常棒了,一般程序在开发阶段的需要都能用模拟器来满足。

 

云手机:模拟器也有缺点,它的效率比较低,并且程序在真机上的运行情况,远比模拟器要复杂,所以开发者的程序写好后还需要用真机来调试。我不太不愿意用自己手机调试,所以会用Testbird的云手机,它们会在云端提供好几百款主流手机,你可以直接用Android Studio等IDE,去远程连接这些机器做调试,简直就是为调试Android程序量身定做的,感兴趣的同学可以注册使用,现在免费开放注册

 https://dt.testbird.com/sign_up/?i18n=zh-cn&cl=DNgwzY&invite=gLKeRY

建立一个初始程序

 

首先在建立一个默认的空白工程之后,我们先在工程里面加点儿东西,这样我们才有东西可调。因为这篇文章是写给新手们看的(调试都不会你敢自称老手?),大家都知道Android编程里非常重要的一个概念就是MVC,MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写。其中模型(model)大家可以不管,因为这涉及到结构和数据类型,本例还涉及不到。

 

View可以这么概括——你在手机上所看见的都是view或者由view组成的,但这句话反过来是错的,View并不都是可见的。至于controller控制器你可以将其理解为你的控制逻辑。在Android studio默认工程里面本来是有一个TextView和一个信封样的按钮,我们可以对这个默认工程作出如下修改:添加一个Button按键,在用户按下该按键之前那个TextView显示的内容为默认的“Hello world!”。当用户按下按钮以后该TextView变成“->按下的次数”。我把具体步骤贴在这儿:

 

以Design形式打开content_main.xml,拖出一个Button控件,再进入content_main.xml的Text形式,在button里面加入这样一句话:android:onClick="Btn1_Click",然后进入MainActivity.java文件,依次加入下面的语句:

import android.widget.*; // 引入JAVA包



TextView textView;//创建一个TextView对象

Button button; // 创建一个button对象

int count = 0;



在onCreate()方法中添加如下语句:

button = (Button)findViewById(R.id.button);

textView = (TextView)findViewById(R.id.textView);//这两句话将View和controller联系了起来,也就是说你对手机上view的操作有了这两句话才能反映到你的控制逻辑也就是程序中来~

public void Btn1_Click(View view)//按键后要作出反映的函数。
{
     String str = "---->" + count;
     textView.setText(str);
     count++;
}

然后运行程序就可以了,按一下数字就会增加一个。这里先上一张图(我用的是云手机,大家有条件的可以用自己的手机或者模拟器):

 

 

DEBUG的第一步,设置断点

 

现在初始程序就算是完成了,接下来说说调试,Android调试首先你得知道自己在哪儿打断点,它不像C语言那样只有C文件在你想打哪儿打哪儿。Android主要有两种形势的文件,一种是.java文件一种是.xml文件。打断点只能打在.java文件里面,因为.java文件就是控制逻辑。而.xml文件大家可以理解成视图文件或者叫布局文件,程序走逻辑流程是永远不会走到那儿的,就算到了也没有任何的意义。打断点的方式也非常简单,只是在某一行代码前用鼠标左键点一下出现了红圆点就表示打断点成功了。如下图:

 


 

 

打点是使用DEBUG的第一步,那么接下来就只需要点击run->debug”run”就可以了。当你的程序运行到断点所在的位置的时候程序就会自动暂停,如下图:

 

 

 

如果你是通过DEBUG运行程序手机也会有提示,大家可以看看。

然后程序如果运行到断点处你就会看见某行处于被选中的状态,这个时候程序已经暂停了。

 

 

 

这个时候你可以选择继续运行到下一个断点或者自己一步一步的跟踪调试下去:

一步步调试(F8)

 

 

 

直接运行到下一个断点(F9)

 

 

Debug的操作核心就只有这简单的三步:打断点,通过DEBUG运行程序,按自己的需要选择调试方式(调试途中也可以打断点)。

 

今天主要给大家简单的介绍了一下Debug,是基本使用方式,下一节将为大家具体讲解DEBUG的用法和特性。 收起阅读 »

环信移动客服v4.3更新说明

各位开发者大大好呀,寒潮终是过去,年味气息也越来越近了。从上一次发版以来,我们是实实在在感受到了各位小伙伴对环信的热情!为了让大家都能在春节前用上新版本过个好年,我们工程师也是彻底开挂了!如约而至,移动客服V4.3出来了,这次新版本包含了大家期待已久的“机器人...
继续阅读 »
各位开发者大大好呀,寒潮终是过去,年味气息也越来越近了。
从上一次发版以来,我们是实实在在感受到了各位小伙伴对环信的热情!为了让大家都能在春节前用上新版本过个好年,我们工程师也是彻底开挂了!如约而至,移动客服V4.3出来了,这次新版本包含了大家期待已久的“机器人”,“客服自定义消息”“发送文件消息”等热门功能,赶紧来体验下吧!

 1. 新功能    


1.1. 智能机器人客服    
1.2. 企业欢迎语    
1.3. 多级问候语    
1.4. 访客中心    
1.5. 手机版客服工作台(长连接)    
1.6. 会话结束自动发送满意度评价邀请    
1.7. 转接会话需要对方确认    
1.8. 文件发送    
1.9. 自定义消息    
1.10. 客服在线时长统计    
1.11. 客服超时未回复访客端提示    
1.12. 注册验证    
1.13. 消息提示音(客服端)    
1.14. 企业形象展示位(网页访客端)    
1.15. 客服状态切换提示    
1.16. 最大接待人数设置开关    


 
2.优化内容


2.1. 优化数据统计    
2.2. 增加客服最后回复时间    
2.3. 解决客服关闭窗口后30秒内依然分配会话的问题    
2.4. 历史会话消息详情按单会话查询    
2.5. 历史会话可以精确到分钟查询    
2.6. 满意度评价记录和评语查看   
2.7. 访客资料备注区域增大    


  
 
点击下载详细说明↓ 收起阅读 »

环信的appkey可以写到代码里面吗?

2.2.0之后是可以的,EMChat.getInstance().setAppKey(String appkey);
2.2.0之后是可以的,EMChat.getInstance().setAppKey(String appkey);

SDK默认是自动登陆的,我想改成手动登陆的可以吗?

可以,只要调用EMChat.getInstance().setAutoLogin(false)放在SDK初始化的前边就行
可以,只要调用EMChat.getInstance().setAutoLogin(false)放在SDK初始化的前边就行

环信是否有登陆状态的判断?

可以用EMChat.getInstance().isLoggedIn();
可以用EMChat.getInstance().isLoggedIn();

我们聊天记录要同步,环信是否保存聊天记录呢?

环信服务器会保存聊天记录3天的,开发者需要通过rest api定期获取历史消息到app服务器,每次获取聊天记录从app服务器获取。
环信服务器会保存聊天记录3天的,开发者需要通过rest api定期获取历史消息到app服务器,每次获取聊天记录从app服务器获取。

关于打包混淆有注意的吗?

如果apk要打包混淆的话,要关闭debug模式。
如果apk要打包混淆的话,要关闭debug模式。

你们的log日志在哪?

/sdcard/Android/data/your_packet/日期/000.html。注意是html格式的。
/sdcard/Android/data/your_packet/日期/000.html。注意是html格式的。

我们接受不到消息了,但退出重登就会收到上次没收到的。这个可能是什么问题?

一种情况可能你被踢了但没做登出处理,另一种情况可能在没调登出前多次调用登陆。
一种情况可能你被踢了但没做登出处理,另一种情况可能在没调登出前多次调用登陆。

如何将消息批量导入到本地数据库,同时保存到内存?

用importMessage(EMMessage message,boolean addToMemory);这个方法里的第二个参数可以控制是否加载到内存,多的话遍历即可。importMessages(List list); 只能导数据库,如果想同时导入内存的话...
继续阅读 »
用importMessage(EMMessage message,boolean addToMemory);这个方法里的第二个参数可以控制是否加载到内存,多的话遍历即可。importMessages(List list); 只能导数据库,如果想同时导入内存的话可以用EMConversation来添加。 收起阅读 »

视频通话的横竖屏在哪设置?

EMVideoCallHelper.setVideoOrientation(); 我们已经支持支持横屏视频了。
EMVideoCallHelper.setVideoOrientation(); 我们已经支持支持横屏视频了。

关于GCM推送什么时候用,国内外怎么区分?

根据国内情况,目前GCM推送只适用于在国外,国内正常走的还是环信本身推送,SDK会自动切换推送,如果你的APP有国外用户,只要按照文档加上相应的gcm设置即可,当你的设备在国内,SDK会判断出,不会启动GCM,当你的app在国外登陆,SDK识别到国外,同时保证...
继续阅读 »
根据国内情况,目前GCM推送只适用于在国外,国内正常走的还是环信本身推送,SDK会自动切换推送,如果你的APP有国外用户,只要按照文档加上相应的gcm设置即可,当你的设备在国内,SDK会判断出,不会启动GCM,当你的app在国外登陆,SDK识别到国外,同时保证你的设备带有Google play 服务,SDK会自动切换到GCM推送; 收起阅读 »

好友列表的回调正要回来,这时我的网络断了,几天或者更长时间后,我重新连接上了,回调还会来吗?

当再次连接到服务器,肯定会收到回调的。
当再次连接到服务器,肯定会收到回调的。

多个客户端登录同一个环信账号,前一个用户被踢,走了回调onConnectionConflict()方法,然后我去调用EMChat.getInstance().isLoggedIn();依然是true ,请问是什么原因呢?

虽然走了onConnectionConflict()回调,有可能没做logout处理,这就比如一个设备登陆A账号后断网然后另一个设备再登录A账号,等原设备联网后还是会登录A账号。
虽然走了onConnectionConflict()回调,有可能没做logout处理,这就比如一个设备登陆A账号后断网然后另一个设备再登录A账号,等原设备联网后还是会登录A账号。

环信的聊天室是不是一个时间只能加入一个聊天室吗,可以加入聊天室不用退出?聊天记录会保存吗?

可以加入多个聊天室,但建议只加一个聊天室。聊天记录是服务器推下来的,一般是10条,会在本地做保存,当leave的时候会删除。
可以加入多个聊天室,但建议只加一个聊天室。聊天记录是服务器推下来的,一般是10条,会在本地做保存,当leave的时候会删除。

环信sdk的数据库中有个表是用来存储token的,这个token的用处在哪里?这个token在sdk里的作用和应用场景是什么?

token是用来验证客户身份的,没有合法的token是没法链接服务器的。Token一般是上传下载附件是需要用到的一个认证。
token是用来验证客户身份的,没有合法的token是没法链接服务器的。Token一般是上传下载附件是需要用到的一个认证。

环信安卓demo清除缓存的功能在哪?

没有只清除内存的方法,deleteConversation和clearConversation都会删除会话和本地db中的记录。不同的是clearConversation会在内存中保留会话对象。demo中调clearConversation清空后没有在会话列表显...
继续阅读 »
没有只清除内存的方法,deleteConversation和clearConversation都会删除会话和本地db中的记录。不同的是clearConversation会在内存中保留会话对象。demo中调clearConversation清空后没有在会话列表显示出空会话,是因为对消息数为零的会话做了过滤。 收起阅读 »

用户客户端收到大量的透传消息和普通消息时,在透传消息的监听里面去创建消息去importmessage,然后会出现消息发送的回调走的onerror,但是对方已经收到了,这个会是什么原因导致的。

在透传监听那块不可以调用importmessage,因为这里面有个notify的提醒会导致一些其他的问题,如果想保存的话可以调用saveMessage这个方法即可。
在透传监听那块不可以调用importmessage,因为这里面有个notify的提醒会导致一些其他的问题,如果想保存的话可以调用saveMessage这个方法即可。

我调用了两次login,结果app打包出来报错。

只建议调用一次login,在登陆时可以添加个是否已经登陆的判断,登录了就不必再次登陆。
只建议调用一次login,在登陆时可以添加个是否已经登陆的判断,登录了就不必再次登陆。

客户端到客户端的消息加密应该调什么API呢?

客户可以先把消息内容按照自己的算法加密之后再通过环信来发送,iOS的回调是EMChatManagerEncryptionDelegate.h;安卓是EncryptProvider,接口说明在http://www.easemob.com/apidoc/andro...
继续阅读 »
客户可以先把消息内容按照自己的算法加密之后再通过环信来发送,iOS的回调是EMChatManagerEncryptionDelegate.h;安卓是EncryptProvider,接口说明在http://www.easemob.com/apidoc/android/chat/ 收起阅读 »

添加好友申请,接收方sdk有打印收到申请,监听收不到,同时打印这句话:received roster presence, but app is not ready,请问是什么原因?

这个是因为没有添加 EMChat.getInstance().setAppInited();
这个是因为没有添加 EMChat.getInstance().setAppInited();

接收不到透传,请问是什么原因?

如果普通消息能收到的话就要看EMChat.getInstance().setAppInited();添加了没。(只用调一次即可,建议放到主activity中)。
如果普通消息能收到的话就要看EMChat.getInstance().setAppInited();添加了没。(只用调一次即可,建议放到主activity中)。

环信的表情可以换成自己的吗?

可以换成自己的,用户自己app里协定好了就可以。比如<:)> 这个字符串代表笑脸的图片,用户在ui上截取了替换就可以了。 对于环信来说,发的就是一个字符串。
可以换成自己的,用户自己app里协定好了就可以。比如<:)> 这个字符串代表笑脸的图片,用户在ui上截取了替换就可以了。 对于环信来说,发的就是一个字符串。

环信demo通过长按home键,弹出的应用列表里面关掉应用,然后就不能及时收新消息,这种情况算bug吗?

服务被kill掉长链接断了所以收不到消息。
服务被kill掉长链接断了所以收不到消息。

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

图片发送不会断点续传,发送不成功超时后会出现一个叹号,点击之后会重新发送。
图片发送不会断点续传,发送不成功超时后会出现一个叹号,点击之后会重新发送。

如何设置免打扰这些,如何自定义notification?

从sdk2.1.8开始已经放到demo层控制了,可以参考HXNotifier这个类。
从sdk2.1.8开始已经放到demo层控制了,可以参考HXNotifier这个类。

实时判断好友在不在线能做到吗?

环信与微信类似,弱化了用户在线状态。即使用户不在线环信也会推送消息。
环信与微信类似,弱化了用户在线状态。即使用户不在线环信也会推送消息。

android客户端可以获取群的历史记录吗?

正常来说是看不到进群前面的历史记录。如有需要,可按以下步骤完成。第一步,用户服务端通过环信rest将聊天记录导入用户自己的服务器上;第二步,用户服务器给客户端提供拉取聊天记录的一个接口,手机客户端从用户自己服务器下载到聊天记录后,可以再通过环信的客户端sdk导...
继续阅读 »
正常来说是看不到进群前面的历史记录。如有需要,可按以下步骤完成。第一步,用户服务端通过环信rest将聊天记录导入用户自己的服务器上;第二步,用户服务器给客户端提供拉取聊天记录的一个接口,手机客户端从用户自己服务器下载到聊天记录后,可以再通过环信的客户端sdk导入到手机本地的db中: 调用importmessage存入 收起阅读 »

Demo中用到的友盟部分是什么作用?

做数据统计用的(不需要可以删掉)。从2.2.3以后还会有自动更新。
做数据统计用的(不需要可以删掉)。从2.2.3以后还会有自动更新。

环信的图片和语音文件是经过加密的么?

上传附件成功后会返回的数据中会有secret,需要根据secret和url从服务器下载附件。
上传附件成功后会返回的数据中会有secret,需要根据secret和url从服务器下载附件。

Android打包混淆之前实时语音和视频是正常的,混淆之后总是无法建立连接,这个可能是什么原因?

看下官网的相关混淆,音视频相关那些类是不是都keep了,如果还不行的话,请分析下日志看看,无法连接的状况也可能和混淆无关。
看下官网的相关混淆,音视频相关那些类是不是都keep了,如果还不行的话,请分析下日志看看,无法连接的状况也可能和混淆无关。

在IDEA中开发的项目,有的手机会报couldn't find libeasemobserviceso ,请问怎么解决?

检查是否加入了so,没有加入的话请加入so。
检查是否加入了so,没有加入的话请加入so。

javalangRuntimeException: Appkey is null or empty, Please check AndroidManifestxml,这个错误是什么问题呢?

这是因为没填appkey,需要用户去AndroidManifestxml里面填上appkey。
这是因为没填appkey,需要用户去AndroidManifestxml里面填上appkey。

如果一个群主解散了一个群,这个群在本地的聊天记录还有吗?

解散群组后本地聊天记录就删除了。
解散群组后本地聊天记录就删除了。

华为手机(小米新版)不自动重连 该怎么处理?

华为(小米新版本)有白名单,不在白名单的应用不准在后台运行 ,需要让用户把应用放到白名单里 ,这个完全是厂家和系统的设置。app绕不过去,我们也增加了小米推送,具体可参考 http://docs.easemob.com/doku.php?id=start:20...
继续阅读 »
华为(小米新版本)有白名单,不在白名单的应用不准在后台运行 ,需要让用户把应用放到白名单里 ,这个完全是厂家和系统的设置。app绕不过去,我们也增加了小米推送,具体可参考 http://docs.easemob.com/doku.php?id=start:200androidcleintintegration:115payloadmsg。 收起阅读 »

类似ChatService这样的服务很容易会被系统或者杀毒软件给kill掉,在安卓sdk中环信是怎么让ChatService不被kill掉的?

在sdk里环信是加了个守护进程,在应用中也可以在应用设置里允许后台运行和保持后台连接。
在sdk里环信是加了个守护进程,在应用中也可以在应用设置里允许后台运行和保持后台连接。

群跟聊天室最多能容纳多少人?

群上限是2000人,聊天室是5000人。
群上限是2000人,聊天室是5000人。

关于为群组添加二维码加群的经验分享

一个矛盾的问题,环信群组分为公开群组与私有群组,各自特征请自己查阅。项目前阶段并没有为群组添加二维码加群的功能,所以 使用 :  eGroupStyle_PrivateMemberCanInvite; // 所有群成员都可以邀请非成员进群型  这个类型建了群,...
继续阅读 »
一个矛盾的问题,环信群组分为公开群组与私有群组,各自特征请自己查阅。项目前阶段并没有为群组添加二维码加群的功能,所以 使用 :
 eGroupStyle_PrivateMemberCanInvite; // 所有群成员都可以邀请非成员进群型 
这个类型建了群,成员与群主均可邀请成员。
后期添加了 二维码扫描入群, 那么问题来了, 如果想要添加此功能就必须使用 公开群组 :
eGroupStyle_PublicOpenJoin //公开群组,允许非群组成员加入,不需要管理员同意
但是公开群组的设定只允许群主邀请好友,成员无法邀请。起初并不知道这个设定,工作人员告诉我也并不清楚,知道安卓小哥做到成员邀请的时候 发现了这个问题,与工作人员讨论了许久 ,后台创建群组也是无法 是公开群组 成员可邀请好友。
结论就是 :想为群组添加二维码扫描入群,就需要舍弃 成员邀请;想要成员邀请好友功能,二维码扫描入群这个功能就无法实现了。
 
希望环信早点完善这个冲突。。
 
  收起阅读 »

根据易观发布的《中国SaaS客服市场专题研究报告2015》显示,截至2015年第三季度,环信移动客服占据中国SaaS移动端客服市场77.4%的份额,稳居行业第一。

 1月26日,易观国际发布了《2015中国SaaS客服市场专题研究报告》,全方位解读了国内SaaS客服市场现状,环信以高达77.4%的份额遥遥领先竞品,绝对优势稳居市场第一。易观预测SaaS客服将在2016年进入高速发展期,市场规模将在2017年达到680亿元...
继续阅读 »
 1月26日,易观国际发布了《2015中国SaaS客服市场专题研究报告》,全方位解读了国内SaaS客服市场现状,环信以高达77.4%的份额遥遥领先竞品,绝对优势稳居市场第一。易观预测SaaS客服将在2016年进入高速发展期,市场规模将在2017年达到680亿元人民币,或将诞生SaaS客服领域首个“独角兽”公司。



图片1.png


环信移动客服市场占有率高达77.4%,绝对优势稳居市场第一。


 SaaS客服为啥这么火?环信或将成首个独角兽公司

自2006年起,中国就有企业提供SaaS客服,主要提供语音呼叫中心客服和网页端客服,探索期前期发展缓慢。随着移动互联网的发展,专门为移动端提供SaaS客服的厂商纷纷崛起,促进了SaaS客服领域的高速发展。自2014年以来,SaaS客服领域吸引了大量的投资者,促进了更多的客服提供厂商进入市场。预计2016年开始进入高速发展期。
 

图片2.png


在北美市场,2015年客服软件市场采购总额高达96亿美元。这个市场在过去一年里就新出现了两家“独角兽”公司Zendesk和Freshdesk。Zendesk于2014年上市,股票首日即大涨50%,市值最高近30亿美元。同时另一家SaaS客服厂商Freshdesk于2015年完成E轮融资估值也已超过10亿美元。这还不包括在这个领域中的传统巨头,如微软,Salesforce,Oracle等。足以见得资本对SaaS客服市场的追捧程度。易观预测到2017年,中国SaaS客服市场交易规模将增长至680亿元人民币,并将继续保持平稳增长。
目前来看,中国SaaS客服市场的成长路径相当清晰。PC时代诞生了最早的传统话音呼叫中心,PC互联网诞生了网页在线客服,社交媒体时代诞生了微信、微博等社交媒体客服。进入2015年后,随着移动互联网井喷,消费者全面转向移动设备进行消费和交易,将以环信移动客服为代表的新一代智能云客服又推到了风口浪尖。这一代智能云客服的特点是重视移动端APP的内置客服接入体验,同时支持多种渠道的接入如电话,网页,微信和APP。通过云服务SaaS形式降低用户使用成本,大量运用人工智能技术提高效率。因此,新一代智能云客服正日益成为移动互联网时代企业客服的标配。而在国内,已经有过四轮融资、市场份额一直保持第一的环信很有可能扛起大旗,或将成为国内SaaS客服领域首个“独角兽”公司。

中国SaaS客服市场发展现状:环信移动客服市场、融资、产品技术均遥遥领先

根据易观报告显示,中国SaaS客服中传统客服渠道仍旧占有较大份额,如呼叫中心仍受33.0%的消费者偏好,2014年语音呼叫中心占据整体SaaS客服市场80.4%的市场份额。但调研数据显示,三分之二客户偏好来自网页端、移动端、微信公众号、微博等互联网渠道客服类型。随着移动互联网井喷,消费者全面转向移动设备进行消费和交易,尤其是移动端客服,将逐渐成为SaaS客服的主流。易观智库预计2017年移动端客服将占整体SaaS客服市场7.9%的市场份额,全媒体客服将占据市场12.3%的市场份额。这说明移动端和全媒体客服形式具有强劲市场潜力。


图片3.png


 
根据易观报告,SaaS客服市场厂商占有率出现比较明显的集中趋势。其中,环信移动客服用户覆盖占比为77.4%,稳坐市场第一宝座,遥遥领先竞品厂商,为“互联网+”时代的客户服务产品树立了一个新的标杆。

环信之所以取得如此佳绩,原因不是偶然的,而是多方面综合决定的,主要在于:

1,从市场销售角度来说,环信即时通讯云服务了国内包括电商、O2O、互联网教育、互联网医疗、智能硬件等TOP20行业的TOP10客户,市场份额绝对领先,积累了良好的品牌,构建了良好的开发者关系,并赢得了极佳的客户美誉度。环信移动客服是在环信即时通讯云PaaS平台上孵化出来的SaaS产品,因此具有巨大的客户资源优势和很低的获客成本。

2,从产品角度来说,环信以移动端客服,全渠道客服,智能问答机器人为核心切入点。环信移动客服是全球首创的全媒体智能云客服平台。支持全媒体接入,包括网页在线客服、社交媒体客服(微博、微信)、移动端客服和呼叫中心等多种渠道。环信移动客服基于环信业界领先的IM长连接技术保证消息必达,并通过强大的智能机器人技术极大降低人工客服工作量。

图片4.png


3,从资本角度,环信已经实现四轮融资,是SaaS客服领域融资最快,资金最充裕的平台。 2014年5月经纬中国天使伦融资500万人民币,2014年8月SIG A轮融资500万美金,2014年10红杉300万美金A+轮融资,2015年4月红杉领投1250万美金B轮融资,融资总额近1亿5000万元人民币,而SaaS客服行业其余竞品都还停留在A轮阶段。环信CEO刘俊彦表示:“当你的产品和技术足够领先,你的资本又是竞品的数倍,你的市场份额没有理由不占据绝对优势。”对于环信移动客服取得77.4%的高市场份额,刘俊彦表示毫不意外,未来还将要继续扩大这一优势。

中国SaaS客服市场未来发展趋势:环信大有可为

易观报告同时指出了中国SaaS客服厂商未来应该注意的四点趋势:
1、客服中心将由企业成本中心向盈利中心转变,承担起更多的营销、销售职责。而在移动互联网时代,客服将成为互联网时代用户和企业的第一连接点,拥有更多主动权,并承担起更多客户关系维护,二次销售,市场营销职能,而不再是原来那样简单的承担售后服务职能,而是直接参与营销、销售等企业盈利业务。

2、从企业需求角度而言,云服务形式有利于降低购买成本与维护成本。部署简单、按需付费、弹性扩容、席位灵活是企业对SaaS形式的客服系统的基本需求。通讯连接技术升级、系统架构开放、富媒体信息处理是对SaaS客服平台的技术要求。

3、从SaaS客服服务提供商角度来说,市场份额逐渐向领先的厂商集中,客服企业逐渐呈现出平台化趋势。SaaS软件产品标准化程度高,单个用户服务成本低,规模化优势明显。将导致大批以销售安装型软件的传统中小型软件厂商失去竞争力面临威胁。市场份额出现向少数几个领先厂商集中的趋势。领先的厂商将通过PaaS平台来解决特定用户或特定行业的定制化需求,并通过PaaS平台打造由合作伙伴,集成商,开发者等多方参与者构成的平台型企业生态圈。SaaS客服市场将向有先发优势和规模优势的企业进一步倾斜。

4、具备移动端技术优势的SaaS客服企业将更有可能胜出。从消费者角度而言,消费者对客户服务的需求越来越多的体现在移动端上,对客服需求也越来越高。随着移动终端的普及和移动互联网用户习惯的养成,客服需求将表现为向移动端为首的全媒体接入迁移。移动互联网的发展使得用户的客服需求开始由目的型客服需求逐渐向场景型客服需求发展。

环信移动客服于2014年12月上线,截至2015年底,环信移动客服共服务了12000家企业用户,现已覆盖包括电商、O2O、互联网金融、在线教育、在线旅游、移动医疗、智能硬件、游戏等20大领域的Top10客户,典型用户包括国美在线、58到家、楚楚街、随手记、海尔、51talk,链家自如客等众多互联网和传统企业。

未来环信还将会给行业带来什么样的惊喜,我们拭目以待!
 

 
 
点击下载研究报告 ↓
  收起阅读 »

单聊或群聊-的聊天历史的实现

这是 效果图, 群组 或是单聊 均可,用的 2.0的sdk ,之前项目没有添加视频,聊天历史中只有文字与图片,这一部分开始 是个妹纸写的,后来妹纸离开了,项目加了视频发送,聊天历史中也要添加,群聊也要添加聊天历史功能, 看妹纸的代码 也是看了许久,毕竟我工作也...
继续阅读 »



x.png



这是 效果图, 群组 或是单聊 均可,用的 2.0的sdk ,之前项目没有添加视频,聊天历史中只有文字与图片,这一部分开始 是个妹纸写的,后来妹纸离开了,项目加了视频发送,聊天历史中也要添加,群聊也要添加聊天历史功能, 看妹纸的代码 也是看了许久,毕竟我工作也就几个月,她也是个新人。。。 简单的说下实现思路吧。


m.png



文件目录, model 就是参照 环信demo 中的MessageModel ,cell布局需要判断 消息的类型,Controller中需要 两个 关键参数:单聊就是用户ID,群聊就是 群组ID ;
然后:
@property (strong, nonatomic) EMConversation *conversation;环信的,具体内容自己点进去看
// 根据接收者的username获取当前会话的管理者

    if (_numForGroup==42) {
       _conversation =[[EaseMob sharedInstance].chatManager conversationForChatter:_groupID conversationType:eConversationTypeGroupChat];
    }else{
    _conversation = [[EaseMob sharedInstance].chatManager conversationForChatter:_username
                                                              conversationType:eConversationTypeChat];
      } 
获取到消息以后  NSArray *messages = [_conversation loadAllMessages];   //这里的messages 数组 就是与 用户ID 或群组ID 相对应 单聊或群聊的所有消息,
接下来 就要解析这个数组里面的 消息了,可以参照 ChatVC 中的消息解析; 
下面是一部分代码
-(void)analyzeData:(NSArray *)messages{

//    [_messageList removeAllObjects];

    _messageList = [[NSMutableArray alloc] init];

    int i = 1;

    for (EMMessage *mes in messages) {

        NSLog(@"mes == %@",mes);

        ChatHistoryModel *chatModel = [[ChatHistoryModel alloc] init];

        

        chatModel.massageID = mes.messageId;

        

        NSDictionary *ext = mes.ext;

        NSDictionary *em_apns_ext = ext[@"em_apns_ext"];

        chatModel.username = em_apns_ext[@"nickname"];

        

        NSDate *mesD = [NSDate dateWithTimeIntervalSince1970:mes.timestamp/1000];

        NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];

        [dateFormatter setDateFormat:@"MM-dd HH:mm:ss"];

        chatModel.time = [dateFormatter stringFromDate:mesD];

        

        id<IEMMessageBody> mesbody = [mes.messageBodies firstObject];

        

        chatModel.messageType = mesbody.messageBodyType;

        

        if (chatModel.messageType == 1) {

            EMTextMessageBody *textbody = (EMTextMessageBody *)mesbody;

            chatModel.textMessage = textbody.text;

        }else if(chatModel.messageType == 2){

            EMImageMessageBody *imagebody = (EMImageMessageBody *)mesbody;

            chatModel.message = imagebody.message;

            //本地图片路径

            chatModel.thumbnailFile = imagebody.thumbnailLocalPath;

            chatModel.imageFile = imagebody.localPath;

            

            //网络图片路径

            chatModel.imageRemote = imagebody.remotePath;

            chatModel.trumbnailRemote = imagebody.thumbnailRemotePath;

            

            //图片大小

            chatModel.imageSize = imagebody.size;

            chatModel.thumbnailSize = imagebody.thumbnailSize;

            

        }else if(chatModel.messageType == 3){

            EMVideoMessageBody *videoMessageBody = (EMVideoMessageBody*)mesbody;

            

            chatModel.message = videoMessageBody.message;

            //第一帧图片

            chatModel.thumbnailImage = [UIImage imageWithContentsOfFile:videoMessageBody.thumbnailLocalPath];

            //视频第一帧图片大小

            chatModel.imageSize = videoMessageBody.size;

            chatModel.localPath = videoMessageBody.thumbnailLocalPath;

           }
        }
视频消息的显示, 是一个视频的第一帧图片 加上一个按钮,    另外有一个问题,就是 他人发送的图像 与自己发送的图片,在cell显示上会有大小的差异, 接下来我会把源码传上来,给大家参考,这一部分还需要优化,特别是cell中 图像与 视频的显示, 大小总是有些不满意,也希望大家帮忙修改下
  收起阅读 »

感谢环信技术支持对我集成环信的帮助

  我集成环信用的时间很短,直接按照文档来的,没有出现什么大问题,小问题有,都百度解决了。   不知道大家有没有遇到过,在更改聊天页面UI显示的时候出现了问题,因为环信很多信息由一个父类+N多个子类,通常找个信息更改要command很久,才能找到,没准还找错了...
继续阅读 »
  我集成环信用的时间很短,直接按照文档来的,没有出现什么大问题,小问题有,都百度解决了。
 
不知道大家有没有遇到过,在更改聊天页面UI显示的时候出现了问题,因为环信很多信息由一个父类+N多个子类,通常找个信息更改要command很久,才能找到,没准还找错了,浪费功夫。这可能是我技术、经验的缺陷造成的。
 
昨天弄环信昵称、头像、信息显示的UI,通过在线技术支持 指点解决了。
说句实在话,尽管我从事开发这一块时间短,但是也使用过不少的SDK,询问客服问题,你环信这一块做的让我感觉是最好的。

虽然有些东西你们也不太清楚,但是你们给的提示贼重要,是一个引路人
 
因为以前没有使用过环信,我为了可以方便改动一些你的demo上的东西,特意使用2.0,因为2.0暴露了.m文件,给我们这些程序员改东西提供了了很大的方便。
 
但是问题也就出现了,因为你们SDK封装很好,类一个嵌套一个,查找时很费时间,弄这个我自己摸索了将近一天,就是没有找到关键的地方,你们客服NO.3直接看到我的问题就反应过来我的目的是什么,直接说了父类名出来,我才能顺利的解决我的问题。
 
环信的技术支持部门给我感觉真的很强大,从集成环信以来,我接触了NO.11、17、03这三位技术支持,其他的没遇到过暂时就不评价了。
NO.11客服每次都很耐心回答我的问题,很棒。给我感触最深的是NO.3,我问她“你为什么知道的这么清楚呀?”她回了句很经典的话:遇到多了,自然就知道了。

可能大家会说我是喷子,拖,但是这里附上我写的更改昵称、头像、信息显示位置的文章链接:

http://community.easemob.com/article/825307564
 
大家共同进步! 收起阅读 »