注册
环信即时通讯云

环信即时通讯云

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

环信开发文档

Demo体验

Demo体验

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

RTE开发者社区

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

技术讨论区

技术交流、答疑
资源下载

资源下载

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

iOS Library

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

Android Library

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

Android-按二次返回键退出

 按二次返回键退出 在onBackPressed 方法中做下时间判断/** * 最后按下的时间 */ private long lastTime ; /** * 按二次返回键退出应用 */ @...
继续阅读 »
 按二次返回键退出
在onBackPressed 方法中做下时间判断
/**
* 最后按下的时间
*/
private long lastTime ;

/**
* 按二次返回键退出应用
*/
@Override
public void onBackPressed() {
long currentTime = System.currentTimeMillis();

if(currentTime-lastTime<2*1000){
super.onBackPressed();
}else {
Toast.makeText(this, "再按一次退出应用", Toast.LENGTH_SHORT).show();
lastTime=currentTime;
}

}
第二种在onKeyDown 方法中做下判断
 @Override
public boolean onKeyDown(int keyCode, KeyEvent event) {

if(keyCode==KeyEvent.KEYCODE_BACK){
//禁用返回键
exit();
return false;
}

return super.onKeyDown(keyCode, event);
}
exit方法就是第一种的写法

有些页面不让用返回键可以禁用​
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {

if(keyCode==KeyEvent.KEYCODE_BACK){
//禁用返回键
return false;
}

return super.onKeyDown(keyCode, event);
}
收起阅读 »

10.13_16阿里云栖大会,环信小伙伴们不见不散

距离2016杭州·云栖大会还剩最后两天,环信的展台也在如火如荼的搭建着,届时欢迎各位环信小伙伴来访。 本次环信给大家准备了精彩的产品展示、体验,还有一些有趣的活动与礼物相送,来到环信展台进行转盘抽奖,限量版定制瑞士军刀背包,书籍,环信T恤....等你来拿! ...
继续阅读 »
距离2016杭州·云栖大会还剩最后两天,环信的展台也在如火如荼的搭建着,届时欢迎各位环信小伙伴来访。
本次环信给大家准备了精彩的产品展示、体验,还有一些有趣的活动与礼物相送,来到环信展台进行转盘抽奖,限量版定制瑞士军刀背包,书籍,环信T恤....等你来拿!

环信展台在2B07 2B07 2B07 重要的事情讲三遍!
开始搭建

362442185240708013.jpg


天黑了,一天的努力


784622866020600564.jpg



是时候来一波效果图了

312631732430550497.jpg




545496614887585519.jpg




821281264303012389.jpg




852603537339425797.jpg

收起阅读 »

环信助力2016中国开源年会(COSCon'16)

  由开源社主办的中国开源年会2016 (COSCon'16 - China Open Source Conference 2016) 即将于今年10月15日-16日在北京举办。 这是一场--跨社区,跨技术领域,跨国度的年度盛会! 您可以与真正的开源贡献者和...
继续阅读 »

1476001158417180.jpg



  由开源社主办的中国开源年会2016 (COSCon'16 - China Open Source Conference 2016) 即将于今年10月15日-16日在北京举办。

这是一场--跨社区,跨技术领域,跨国度的年度盛会!
您可以与真正的开源贡献者和参与者,直接互动!
大数据,云计算,操作系统,开源治理,精彩纷呈,绝对让您不虚此行!
区别于一般的大会,我们知道草根开源社区听众,期盼听到纯干货,更希望与讲师能有更多互动,因此我们安排了:
讲师打赏(提供讲师更高的动力分享干货)
现场在线抽奖(直接回馈热情投入的听众,特等奖为Endless赞助的Endless mini电脑两台)
视频直播/弹幕/评论(全国范围远程参与互动反馈)
越来越多的讲师课题涌入,愈加提升了大会的质感,相信大会的丰满程度将超乎您想象!
 
  • 时间地点
2016.10.15~ 2016.10.16   北京市北京航空航天大学 进入报名:http://www.huodongxing.com/go/coscon2016 
  • 大会亮点
跨社区,跨技术领域,跨国度,年度盛会与真正的开源贡献者和参与者,直接互动大数据,云计算,操作系统,开源治理,精彩纷呈。 
  • 在线直播
http://vzhibo.tv/event/cosc 报告厅1http://vzhibo.tv/event/cosc1 报告厅2
  • 我们是谁
开源社是由中国支持开源的企业、社区以及个人所组织的一个开源联盟,一直以来致力于在中国推广开源,推动中国开源社区成为全球开源软件和硬件的积极贡献者。并携手国内社区,高校,企业,政府,共创健康可持续发展的开源生态体系。 
  • 我们打算办一个怎样的大会
通过这次大会,我们希望能够实现:开源社区、企业的高手齐聚一堂、激荡火花跨社区、跨技术领域、跨国度的年度盛会与真正的开源贡献者、参与者,直接互动最终达成我们"天下开源是一家、社区携手迸火花"的理想! 
  • 会议形式
为了实现上述目标,我们策划了丰富的会议形式:主题演讲:社区大牛为您带来精彩的开源模式相关的深度内容高峰对话:中外开源社区的领军人物,共同探讨开源的发展与社区的未来五大分论坛:包括开源操作系统、云计算、大数据、前沿技术、开源治理等诸多领域,精彩纷呈,一定会有你感兴趣的话题。圆桌高峰会:邀请企业、社区、协会及专家代表,畅谈分享企业开源治理的心得,流程,实践与各种酸甜苦辣。开源之夜:欢聚一堂、敞开心扉、畅所欲言的社区见面会。 
  • 创新互动
和一般的大会不一样,我们知道草根开源社区听众,期盼听到纯干货,更希望与讲师能有更多互动,因此我们安排了:讲师打赏(提供讲师更高的动力分享干货)现场在线抽奖(直接回馈热情投入的听众,特等奖为Endless赞助的Endless mini电脑两台)视频直播/弹幕/评论(全国范围远程参与互动反馈) 
  • 大会议程


第一天(上午) 


08:00  注册报到 

09:00  致欢迎辞 – 吕卫锋,北京航空航天大学计算机学院院长/教授 

09:05  开场致辞 - 廖湘科,中国工程院院士 

09:10  主题演讲 - 变革:企业的开源之旅;申元庆,微软亚太研发集团首席运营官、微软中国云计算与企业事业部总经理 

09:50  主题演讲 - 中国云计算开源产业发展机遇;何宝宏,中国信息通信研究院标准所副所长,云计算开源产业联盟常务副理事长 

10:30  主题演讲 - Elephant in the Room; Niclas Hedhman,Apache 软件基金会副总裁 

11:10  高峰对话 - 廖湘科,中国工程院院士;梁莉,FreeBSD基金会执行总监;栗蔚,云计算开
源产业联盟秘书长;庄表伟,开源l社理事会代表; 



第一天(下午 - 操作系统分会场)


13:30    Linux性能剖析工具的现状以及我们的优化 - 宋宝华, Linux资深工程师

14:10    ZRAM那点事--ZRAM/ZSMALLOC简介以及3个问题修正和1个提高 - 朱辉, 小米电视工程师

15:00    FreeBSD,the Unknown Giant in Internet Industry - Dr. Hiroki Sato, Director, FreeBSD Foundation

15:40    Ubuntu Core 和SNAP 开发技术介绍 – 刘晓国Canonical, 高级软件工程师

16:20    Linux启动管理器对比及启动性能优化方法 – 刘易,优麒麟社区,优麒麟核心开发者



第一天(下午 - 云计算分会场 - OSCAR)


13:30    OpenStack分布式 SDN: Dragonflow 简介 - 肖宏辉, 华为, 高级软件工程师

14:10    Kubernetes on Mesos: 现在与未来 - 马达, IBM, 软件架构师

15:00    容器对 OpenStack 基础架构的影响 - 陈沙克, 九州云信息科技, 技术副总裁

15:40    开源云计算成为中国企业的IT发动机 - 何军辉, Easystack, 大企业部资深架构师

16:20    从DevOps到自动化运维实战分享 -季文轩, 云途腾系统架构师,Magicstack全线产品经理

17:00    OSCAR在开源上的思考 - 陈屹力, 中国信息通信研究院工程师



第一天(下午 - 开源治理分会场)


13:30    Commercialization around Apache Licensed Software - NiclasHedhman, VP, Apache Zest

14:10    如何持续地开发一款开源软件 - 王春生,青岛易软天创网络科技,创始人

15:00    Seafile四年开源路 - 潘凌涛, Seafile CEO

15:40    Inner Source-如何在企业内部采用开源软件模式 - 李建盛,开放云精选,创始人

16:20    结合GitHub的开源审批和部署流程 - 宋青见, 微软, 首席产品经理

17:00    闪电演讲:我的开源经历,开源心得, 开源社区运营经验及展望 - 杜金房, 北京信悦通和烟台小樱桃创始人,FreeSWITCH-CN中文社区创始人

17:20    闪电演讲:开源硬件的社区治理 - 梁尧, BOE知识产权和技术管理中心中级研究员、专利工程师,中国知识产权研究会会员研究员



第二天(上午 - 大数据分会场)


09:00    Building a Reliable Large-Scale Distributed Database: Principles and Practice - 申砾, PingCAP, Engineering VP

09:40    Apache HAWQ: 替代传统数据仓库的SQL-on-Hadoop引擎 - 常雷, Apache HAWQ创始人

10:20    开源指南针 - 王启泰,指南针开发团队项目管理

11:00    从 PostgreSQL到云端大数据处理 - 马涛,北京酷克数据科技,联合创始人

11:40    三个五分钟,构建流式,批处理,交互式应用 - 祝威廉,乐视云, 资深数据工程师



第二天(上午 - 云计算分会场 - OSCAR)


09:00    Docker开源社区初探 - 魏世江, 云栈科技 (希云cSphere) CTO, Docker社区代码贡献者

09:40    基于DC/OS的现代应用落地实践 - 陈冉, DCOS中国社区创始人

10:20    我的2016感悟—云技术社区运营及云计算给运维职业选择带来的变化 - 肖力, KVM云技术社区发起人

11:00    重新打造一个开源容器管理面板 - 肖德时, 北京数人科技有限公司, CTO

11:40    OpenStack Zaqar项目简介 - 王昊,烽火通信科技股份有限公司,架构师



第二天(下午 - 前沿(新)技术分会场)


13:30    Hyper:基于硬件隔离的容器技术 -王旭, Hyper, 联合创始人, CTO

14:10    开源代码项目的质量/安全缺陷检测与法律版权管控技术 - 韩葆, Synopsys

15:00    物联网技术发展研究 - 李永华, 北京邮电大学北京邮电大学教授

15:40    开源软件在华为容器项目测试中的应用 - 孙远 ,华为资深工程师

16:20    When the going gets tough, Get TUF going! - 胡科平, 华为,高级系统工程师

17:00    闪电演讲:《更了不起的Node.js》或《从零开始构建一个Node.js Web框架(基于Koa 2.x)》 - 桑世龙, 空弦科技, CTO

17:20    闪电演讲:Firefox 的 Servo 引擎 - 赵博通, 谋智火狐(火狐社区)



第二天(下午 - 云计算分会场 - OSCAR)


13:30    基于OpenStack技术的云计算开源产业发展介绍 - 陈文弢, 中国信息通信研究院, 工程师

14:10    开源容器云 OpenShiftOrigin: 基于Docker与Kubernetes的容器云 - 陈耿,Redhat,高级技术顾问

15:00    开源如何解决 DevOps的问题: Cloud Foundry and more - 况宁, 微软,高级项目经理

15:40    DaoliNet:一种高可用高带宽虚拟化网络技术 - 中国通信学会云计算与大数据专家委员会委员, 道里云公司 CEO 毛文波

16:20    Docker image on PaaS:如何在PaaS平台上持续集成 - 轻元科技 PaaS组工程师 唐飞雄

17:00    闪电演讲:大数据paas平台运维体系构建分享 - 王福旺 亚信高级运维研发工程师

17:20    闪电演讲:《将openstack-infra引入企业级软件开发》 - 赵祯龙 浪潮信息



开源高峰圆桌会第二天全天


主题:如何畅饮一杯滚烫的开源

一、讨论范围:仅限受邀企业、社区、协会及专家代表(具体名单待定,不会超过12人)

二、主要议题:从公司政策、文化、流程、工具等层面,讨论企业与开源相关的各种话题:

企业如何用好开源?
企业项目如何对外开源?
企业内部研发如何互联互通?
企业与开源社区,如何互利互惠?
企业自建开源社区,开放平台,开发者社区,有何区别?如何运作?
国际经验与中国实际;
政府定位与可选策略;



微软工作坊 第二天全天


09:00    实验室活动#1:Azure 入门和 Docker 搭建动手实践.(欢迎自带电脑,提前或现场申请1元账号,获得1500元额度);现场会手把手从 Azure 门户、Powershell/CL等用户接口,创建虚机开始。通过Dockers1.12的Swarm集群(若干虚机)的动手实践进入高潮.

10:20    区块链技术介绍及其开源项目- Ethereum(以太坊)演示 -闫莺 微软亚洲研究院 主管研究员

11:00    MySQL及LAMP快速建站演示

11:40    答疑和抽奖环节

13:30    实验室活动#2: .Net Xamarin + Typescrip + Node.JS(移动+Web+Azure) 一体化开发动手实践,继续上午的Azure后端开发的热身之后,从Node.js开发演练开始,过渡到前端应用开发的实践,开源的Xmarin跨iOS和Android开发的神器,以及让Javascript升级为严谨大项目开发的利器Typescript

15:00    VS Code 插件开发演练 - 张晨 MVP 白鹭引擎

15:40    拥抱开源的大数据平台 - 姜英,微软大数据平台首席产品经理

16:20    一小时玩转Azure镜像市场的开源镜像 - 刘明,微软 高级产品经理

17:00    答疑和抽奖环节


收起阅读 »

告别客服时代,进入互动服务时代!

   我进入电信企业后很快就被安排到了运营流程分析岗位上,那是二十多年前的事情了。美国人的特点就是科技兴趣极其强烈,甚至到了“迷信”程度,也因此把标杆管理和KPI管理模式看得非常重要,通过细化到达了一种极限,最后反而让这种技术管理体系逐步走下了神坛。事极必反,...
继续阅读 »
   我进入电信企业后很快就被安排到了运营流程分析岗位上,那是二十多年前的事情了。美国人的特点就是科技兴趣极其强烈,甚至到了“迷信”程度,也因此把标杆管理和KPI管理模式看得非常重要,通过细化到达了一种极限,最后反而让这种技术管理体系逐步走下了神坛。事极必反,这是中国人的中庸哲学,却在现实中验证了美国人的技术迷信弊端,让我们从中领略到一种事物发展普遍规律。而从心理学这种现象并不难以解释;任何技术运用到了人身上也就成了人们生活的一个有机部分,心理承受能力也就自然成了一种发展限制条件。在工业大生产和统一规格产品时代,人力资源管理规范化程序是一种自然而然的生产流程核心内容,而客服部门仅仅是这种内容的一种后续延伸部分,这种定位一直延续到了今天。

123.png


   然而,这种定位已经与现实社会越来越无法适应。每次我听到坐席员在解答消费者问题后都生硬地问那句标准结束语:“我的服务有让您非常满意吗?”在电话另一头的客户往往拒绝回应而挂掉了电话。按照流程设计者的本意,消费者在这种人力管理模式中也竟然成了一个特定角色,他们也被裹挟到了这种程序中,企业并不向他们支付任何回报,也没有顾及他们真实感受,这些都仅仅是为了做一份美丽的客户调查反馈报表而设计的。显然,我们从这种程序中不但看到那些可怜巴巴的坐席员在刻意讨好甚至感情贿赂那些消费者,以此提高业绩,而消费者不但没有从中获取好的体验感受,反而加重了心理负担。如果我们稍稍回味一下,就会发现客服流程作为产品流程延续是多么荒谬,你明明就是要告诉那些消费者不要退货,不要索赔,不要找麻烦,却说是为他们服务的,甚至是为他们提供了产品之外的使用价值。

   对于这种与现实的脱节我们宁可选择视而不见,因为它确让我们这些依靠KPI管理体系讨生活的人们深感恐惧。这种恐惧来自于遇到了一个无比强大的对手,我们所面临的竞争者是一个强大无比的人工智能系统,它可以在国际象棋和围棋上战胜最强的人类棋手,当然处理我们这些简单枯燥的工作应答程序不在话下。面对这种高级科学产物,我们现有的科学化管理显得非常低端,而且它并不符合自然法则,把人类鲜活的智慧变成了机械性工具,把生动灵活的交流变成了具有敌意的竞争对话。现实中我们看到的是这种非理性思维被不断强化,随之而来的是各类时间管理软件和录音系统把坐席人员的一举一动按照时间和内容进行标准化,简直就如让一个戴着枷锁的犯人去自我惩罚。我曾经看到一个中国呼叫企业使用有七十多条质检标准的业绩表格,让每个坐席都每半个月承受这种惩罚性“与领导沟通”。当然,最惨的就是那位质检领导,他不得不天天面对坐席员做这件同样的事情,深怕自己成为一个思想虐待狂。

   显然这套KPI管理体系预设了一种错误的逻辑前提;它假设人类是根据行为数据标准进行工作的,而心理学告诉我们人类是根据工作目标工作的,可惜我们直到电话诈骗蔓延全国才意识到这点:“为何这些诈骗团伙用如此简陋的设备就能做的比我们高效的多?”。正因为骗子们没有KPI的约束才能进行如此灵活生动的对话表演,而我们在KPI枷锁之中依然是工业产品的一种部件而已。然而呼叫中心行业对于KPI管理体系的迷信是何等深入骨髓,它形成了一系列的评估标准,并配以奖罚制度,并以此为标准开发出越来越精美的机器系统,从二十年前十多个KPI指标到如今的上百个指标,企业为此花费了更多的金钱,人员流失却越来越加剧,客服满意度却没有实质性提升。

   在美国当年那些电信巨头都曾有过世界上最强悍的KPI客服管理体系,也正是这种极端化技术管理向社会暴露了它们的低效和粗纰。微软开启了人工智能时代,却是乔布斯奉献给这个世界最可贵的礼物----智能手机,才彻底颠覆了工业时代那种企业和消费者关系,让消费者真正成为了市场运营的主动一方。苹果手机的名言就是“你是掌握方向盘的主人”,作为手机主人没有其他人能够迫使你做不愿意做的事情,包括手机后续服务麻烦处理。美国电信(AT&T)如今已经沦落成纯粹的信号管道提供商,而苹果手机却成了消费者的生活体验核心平台,盈利与社会生活发展同步共赢。

   中国中产阶级在全球到处走的人越来越多,他们根本对现有的客户呼叫服务不屑一顾,因为他们只选择那些无需后续客服的产品和服务,这类产品和服务直接把后台客服需求集中起来交给软件打包处理,以免造成不良反馈和体验。就如现代智能手机里的那些APP一样,你只需按一下指令就可以确信获得所需服务,这就是所谓的“主体服务”----消费者作为主体为自己服务。如果今天你说需要一个数百人的呼叫中心用于客服,我会反问你的产品市场定位是否要彻底反思检讨。人类的确已经到了“非客服时代”,把客服变成了“主体服务”模式,消费者不再是被踢来踢去的客体(皮球),反而成了掌握客服平台方向盘的主体,客服人员成了他们的助手。

   如今客服体验模式是个备受关注的问题,显然已经无法用过去那种简单的产品使用感受充当内容主干。随着时代发展,消费者所处的文化氛围不断改变,网络生活促使个性化需求迅猛发展,同时也能够更有效地满足这些需求,随之而起的是小众化市场如同雨后春笋到处出现,社交网络成为了这种市场的集散与服务平台,形成了众多的分享经济模式的同时,也为今后客户业界发展提供了前瞻性预测。在这个时代里,消费者不再是一个被动的产品使用者,而是一群提供消费能量作用的“消费商人”。(选自《客服革命时代》,作者:邹达辉)

本文为转发仅代表作者观点。 收起阅读 »

猿生态十城巡回沙龙丨西安站

微软的小冰机器人为什么会得到奶茶妹妹的青睐并命名 Cortana语音助手为什么会后来居上,超越苹果的Siri 如何将软件测试做到极致 微信小程序来了,你的js知识储备好了吗 哪里才是全世界学习web开发最好的地方 ...... 无猿不生态 猿生态十城巡回沙龙 ...
继续阅读 »

文首图.jpg


微软的小冰机器人为什么会得到奶茶妹妹的青睐并命名
Cortana语音助手为什么会后来居上,超越苹果的Siri
如何将软件测试做到极致
微信小程序来了,你的js知识储备好了吗
哪里才是全世界学习web开发最好的地方
......
无猿不生态
猿生态十城巡回沙龙
精彩继续


10月15日  陕西省科技资源统筹中心
A区一楼众创空间


 
活动议程


13: 00 – 13: 30
活动签到
13: 30 – 16: 30 
技术分享 + 实战演示
16: 30 – 17: 00
抽奖 + 自由交流


讲师介绍

微软嘉宾.png




西邮嘉宾.jpg



TW嘉宾.jpg




云测嘉宾.jpg


Tips


✦自带电脑:在实战演示环节,讲师们将带领大家现场写代码、做demo,建议带上电脑。

✦ AA餐会:活动结束后,与讲师和现场小伙伴们共进晚餐,交流、交友~~活动现场报名喔;-)




奖品.jpg


本场活动将通过云犀直播,在斗鱼、战旗、爱奇艺、熊猫TV等多个平台全程同步直播,扫描下方二维码即可收看



直播二维码.jpg




logo.png


✦ ✦ ✦ ✦ ✦ ✦ ✦ ✦
更多精彩即将上线

时间轴.jpg



阅读原文报名链接:阅读原文 收起阅读 »

探究全媒体客户中心的员工胜任力管理

姜迪:百合网股份有限公司客服总监 一、 传统的胜任力解读    随着“互联网+”概念的普及以及网络信息技术的进一步发展与应用,客户服务正向着“交互体验,个性定制”的方向转变, 而打造一支稳定高效、富于战斗力的客户服务团队是大部分客 户中...
继续阅读 »
姜迪:百合网股份有限公司客服总监

640.jpg



一、 传统的胜任力解读

   随着“互联网+”概念的普及以及网络信息技术的进一步发展与应用,客户服务正向着“交互体验,个性定制”的方向转变, 而打造一支稳定高效、富于战斗力的客户服务团队是大部分客 户中心管理者面临的重要课题,新形势对客户中心员工胜任力 提出了新的要求。 传统胜任力模型主要涵盖职业、行为和战略综合三个维度。 就呼叫中心行业而言,因需要直接与客户接触并解答客户问题, 因此熟练的业务知识和良好的沟通能力显得尤为重要。基于这 个考虑,呼叫中心传统培训主要以业务知识为主,通过强化记 忆和考试练习等方式不断加强人员的业务熟悉程度,务求人员 能够快速准确地解决客户问题。 

二、全媒体时代客户中心员工胜任力的新挑战

1、渠道信息多元化 
 
   从传统的单一电话沟通发展到现在的在线、电话、机器 人沟通,出现了“淘宝小二”、“京东JIMI”等智能机器人客服, 意味着客服行业全面进入智能化阶段。

2、客户需求个性化全媒体时代随着客户购物渠道的增加和客户群体的壮大
 
   客户购买产品除了满足其基本的使用需求外还追求心理层面的 附加价值及人本价值,因此客户服务也要从一通电话简单地解 决客户问题扩展到满足客户的所有需求,包括预约回电、语言选择、回复时间以及其他诸多个性化需求。

3、客户服务人文化 
 
   客户中心人员要能够对客户行为作出准确判断并增加人文关怀, 在沟通中增加信任感和真实感,做有温度的服务。 

三、全媒体下客户中心员工胜任力思考 笔者结合对客户需求的调研和分析,对员工胜任力新增需求思 考如下:

1、信息整合和应用能力 
 
   全媒体环境中人员与客户交互方式的多元化使得能够对大量无 序信息进行精心筛选、整理并发掘出有价值、可利用的信息,经过 分析、综合、加工而转换成新的信息成为一项不可或缺的重要能力。

2、EQ能力

   全媒体环境下客户个性化需求的增加导致工作压力变大,要求 客户中心员工能够在把控自己情绪的同时安抚好客户的情绪,更好 地解决客户问题。

3、行为分析能力

   全媒体环境下客户的行为及表达方式呈现多样化,客户中心人 员需要全面分析用户的行为动机,对客户需求做出精准判断,及时 有效解决客户问题。 由此可见,现有客户中心的员工胜任力管理需要转型以适应全 媒体时代带来的新挑战。

本文刊载于《客户世界》2016年7月刊观点文章;原文作者姜迪,本文作者为百合网股份有限公司客服总监。 收起阅读 »

全媒体客户中心的管理体系变革

   服务渠道的变化,带动着内外部管理机制以及客服中心价值标准的变革,包括客户中心的用人标准、服务标准、客户互动语言、价值评估标准、关键考核指标、日常运营报表、内部管理机制等一系列改变。全媒体客户中心能否创造出更大的价值,不仅仅在于服务渠道的丰富,更重要的是内...
继续阅读 »
   服务渠道的变化,带动着内外部管理机制以及客服中心价值标准的变革,包括客户中心的用人标准、服务标准、客户互动语言、价值评估标准、关键考核指标、日常运营报表、内部管理机制等一系列改变。全媒体客户中心能否创造出更大的价值,不仅仅在于服务渠道的丰富,更重要的是内部管理体系和服务管理体系的变革能否成功。
   随着人工智能的推动,简单重复的劳动逐步被自助服务取代,这为服务升级提供了快速发展和快速迭代的土壤。企业间服务体验、服务效率、服务成本的竞争更加激烈,这既影响着客户的活跃度也影响着企业的运营成本。

   客户中心作为业务处理中心、信息集散中心,每天经历着大量的案例,每个案例都交集着各个运营环节的问题。如果不能将问题看清、摸透,让日常的问题通过流程、制度以及系统来解决,就无法推动人工智能的建设。如果客户中心仍借助人的力量进行判断,突发事件众多、个案协调众多,因无制度可循,流程也不顺畅,更谈不上轻平台的建设。那么,如何搭建完善的服务管理体系从而推动服务体验提升、自助服务能力提升与服务成本的下降呢?笔者认为需要通过以下几个方面来进行 “华丽”转身。

 一、思维方式转变

   在当前人工智能发展的大趋势下,客服中心要实现“华丽转身”最重要的是进行思维方式的转变。

1、由“运动员”角色转向“裁判员”角色。

   以往的客服人员,尤其是客诉处理人员,往往认为投诉的完成意味着客户接受解释或处理方案,投诉处理完成也即工作完成。实际上这只是完成了投诉的一半,即相当于客服人员扮演“运动员”的角色完成了案件的执行部分;而另一半投诉的深度分析、责任判定、推动改进、改善方案等“裁判员”负责的工作并没有真正开展,由此带来了投诉问题的重复发生。因此,这个转变应该自上而下,由管理人员意识的转变带动工作机制和能力培养方向的转变,最终使得每一位接触投诉、舆情、负面评价的一线人员具备“裁判员”的能力。

2、由处理问题向根除问题转变。

   从单点的处理问题转向举一反三梳理同类问题,从判断问题以及问题的判责进化到从源头上根除问题。这需要管理者在充分了解问题的情况下,梳理上下游业务流程及规则的执行,才能够追本溯源,推进问题改进。要实现这一转变,需从以下两个方向入手:
 
由平台的使用者向平台的建设者转变。

   服务的自助化,要求平台的迭代速度更快,更加贴近需求。而推动技术平台不断迭代的一定是业务需求和业务问题。因此,管理者必须摆脱等、靠、要的心态,从业务场景出发来改变技术的功能。而系统的功能要从支持常规业务向支持多场景业务的方向转变。

由用人解决问题向通过流程与系统解决问题转变。

   在业务波峰阶段或在销售大促集中期,传统的客服中心往往从人力测算到人员储备的思路来进行服务应对的准备,而全媒体客户中心应从自动化推动的角度提升自助化服务能力,并做以下的转变。

   从预知到预防:无论是单点的促销还是常规的业务,要从预测预知服务场景、问题场景、需求场景,到预防方案的设计。

   从预防到预设:预防方案的设计推动系统在各个业务场景的功能设计。系统的自助服务程度取决于预设场景的覆盖程度,当各类突发事件全部在预设的常规服务机制当中时,服务的自动化能力才能够得以体现。

   前置服务场景测试:传统客服中心大量的工作是在问题发生后,而全媒体客户中心大量的工作是在前置服务时,包括服务场景的设计、系统测试、知识库应答测试等等。

   正所谓:“思维转变天地变,思想不变原地转”,只有自上而下思维方式的转变,才能够推动客服中心不断的创新、提升与改变。

二、管理机制与流程的转变

1、问题改善流程与问题预防机制并重。

在过去的服务管理中,对于售后服务类的客服中心在流程的管理与执行上有三个阶段的演变(如图1):

第一阶段:作为流程的一个环节,处理好当前业务环节。处于这一阶段的作业流程较为被动,易导致管理者局限于眼前的工作内容缺乏全局观。

第二阶段:作为问题处理的一个环节,通过问题反馈倒逼前端事前预防与事中的规范执行。从客户问题的反馈到内部问题的反馈,起到了反馈和推动的作用,是后知后觉的管理。

第三阶段:通过大量的案例积累与专业服务的沉淀,建立预知和预防风险机制,做到先知先觉的管理,引领


T]7]HOGQ9`2[V88DF@D3@A.png


服务提升。

2、强化场景细分:

   在多媒体运营环境下,需要做好从主业务流程的梳理到场景流程的细化的转变,通过场景细化细分业务单元推动人工智能的完善。

三、日常分析思路的转变

1、运营分析与案例分析并重。

   传统客服中心的分析以业务量、咨询量、处理效率以及各项运营指标为主,但要实现服务管理推动服务提升,需要侧重于案例的深度分析与持续跟踪。

    对于案例的分析必须深入分析每一个环节并进行各个时间节点和业务节点的细节分析。包括:投诉处理状态、案例类名称、留存图片、投诉日期、工单号、投诉渠道、客户地址、责任部门、订单类型、投诉人、备注、客户投诉内容详细记录、投诉受理人、投诉事件调查情况分析、调查人、协商后解决方案及结果、回复人、目前存在的问题、分析人、回访客户情况记录、回访人、投诉后购物行为、客户贡献值。

2、结果分析结合归因分析。

   无论不满意度的服务评价或是网站各类差评以及日常的投诉工单,都需要进行原因分析,并结合问题、责任归属追踪投诉率、处理速度等(如图2)。这需要几个前提条件:
 

  • 多渠道接入的工单系统:即评价、舆情、升级投诉、客户发起投诉等生成工单并进行统一路由分配。

  • 投诉分级处理、投诉判责功能支持。

  • 设立内部投诉工单路由规则及超时提醒等流转流程。

  • 通过判责、追踪、目标分解等方式降低人为失误带来的投诉风险。


 

6}F{2OC(RHSOC@PT37T}C6T.png


四、外部服务政策制定

统一的对外服务政策是客户服务体验的基础保障。客户中心作为各类业务和投诉的授理中心,应结合行业政策、业务场景、客户诉求制定统一的对外服务政策并推动政策在全公司内执行,对内达成共识,对外形成服务保障。比如电商企业必须要规定的的政策包含:

1、政策及鉴定标准:要结合商品品类确定退换货周期及可退换的范围、界定标准。尽可能细化、量化。只有被细化、量化的标准才能够实现系统功能开发及客户的自检自助服务流程。早期的电商企业由人来判断退换货,服务人员起到的是讨价还价的作用,这不仅是一种低效能的处理方式,更成为损伤客户并导致客户流失的要因。

2、消费者服务保障体系:例如,平台类电商消费者服务保障体系即是对商家的服务约束也是对顾客的服务保障。该体系一般包含服务处理效率的保障及超时的服务赔付;产品质量方面的保障以及由于假货、劣质商品或过期商品等问题对商家的处罚及对消费者的补偿政策等。对于商家违规的服务或产品,消费者可直接与平台监管举报并由平台客服进行处理及跟进(如图3)。


ROCWJR9@BA7Z_LB8_G45H_G.png


3、投诉理赔政策:对于投诉的处理时效、不同情节的投诉按场景细分制定理赔标准及赔付流程,对外的承诺即是内部的标准。标准范围内流程化处理,标准范围外除了一单一议的处理机制以外,要有形成标准和改善的循环。

服务体系的搭建除了明确、细化的服务政策以外,还要强化场景化、客户化的知识转化。

五、内部管理机制制定

1、 投诉内部管理和处罚:投诉必须进行认责、追责和分析。服务质量是在每个环节百分之百执行的前提下才能够得以保证。因此人为投诉必须有认责和处罚的机制。投诉的内部管理制度,包括客户投诉回复及解决的时效、问题纠正及持续改善的时效、追责涉及到的处罚、降职等方面的落地实施等。

2、 平台质量监控:通常电商包括商户和自营两种模式。对于商户提供客服及物流服务的,在服务时效、政策、规范方面应按统一的管理规范进行执行,并形成考核制度。基础通过培训认证的方式颁发上岗和提供服务的资质,后续进行统一服务监控。

3、 风险预防与应急处理:涉及支付风险、个人信息风险、流程风险、运营风险等应有现场突发事件的预防与应急处理方案。

4、 内部分析与沟通机制:作为推动各环节进步的服务管理部门,必须建立起投诉分享及改进方案推进进展的分享或讨论。

5、 商品上架下架原则:商品上架必须在商家服务保障达标、商品质量及证照相关材料审核通过的前提下方可上架销售,对于同类商品周期性出现一定比率的质量投诉情况必须有紧急的下架检核机制,检核通过方可恢复上架。一方面通过标准规避风险,另一方面通过制定防范风险再发。

全媒体客户中心作为企业面向客户互动的最重要的互动界面,既是企业发展的驱动引擎和探测器,又是核心竞争力的缔造者;管理者既要结合企业发展的方向及时调整思路、节奏、步伐,又要深度挖掘客户的反馈和各环节潜在的机会与风险。新型的客户互动中心不再是被动接受的服务者,而是参与企业决策的“一员”,是经营客户和产品的主体。

定位决定思路,思路决胜未来!

本文刊载于《客户世界》2016年7月刊文章;原文作者张艳,本文作者为《全媒体客户中心管理》作者,现任蜜芽服务副总裁。 收起阅读 »

【环信集成笔记】进阶篇-android环信昵称头像解决方法

当你刚刚集成环信的时候,在和自己android组的小伙伴玩的不亦乐乎的时候,当你过完这把瘾的时候,那么接下来,你就要考虑的是怎么让这个头像显示的是自己想要的头像,怎么让昵称显示自己的昵称..... 那么接下来,我来告诉大家,怎么解决昵称头像的问题, 首先,...
继续阅读 »
当你刚刚集成环信的时候,在和自己android组的小伙伴玩的不亦乐乎的时候,当你过完这把瘾的时候,那么接下来,你就要考虑的是怎么让这个头像显示的是自己想要的头像,怎么让昵称显示自己的昵称.....

那么接下来,我来告诉大家,怎么解决昵称头像的问题,

首先,这篇文章是接在我大表哥江南孤鹜在im社区写的一篇文章之后写的,上个链接地址 Android获取昵称头像接下来,我对此文章做些补充:

我看到有些人在问,这个方法放在哪里?


1.png


好吧,大表哥没说出来,这个放在UserApiModel里面

那么接下来,大表哥写的是这样的,利用扩展消息去获取头像昵称,在这里我提醒下大家,要判断这个头像是自己的还是好友的

2.png


怎么判断呢,作为新手的我们,我推荐使用shareprefences在登陆的时候保存下自己的头像昵称,然后再这里获取,并且设置给扩展


3.png


在demohelper里面有个getuserinfo方法

4.png


这里就是把获取到的头像昵称设置给环信,然后显示出来,这里最重要,切记不要写错。

那么,到此为止,其实都说完了,可是,毕竟是一个延伸,怎么可能就此结束,接下来给大家看下,请求数据,然后设置给数据库


5.png


请求的过程我就不写了,这个大家都会,获取到username,id,logo,之后先要把头像,昵称存到userdao里面,如果userdao是环信的一个数据库,这个大家自己看看demo的代码就知道了,设置到这里,是为了在联系人列表里面显示,UserInfoCacheSvc.createOrUpdate(id,username,logo_img);这句就是把头像昵称放到大表哥写的数据库里面

最后,补充一下,忘记说了,导入框架

6.png


好了,这样就结束了,如果有什么还不明白,就加入大表哥粉丝群(环信IM互帮互助群 340452063),我会帮你解答一切问题 收起阅读 »

环信刘俊彦演讲预告:《下一代客户服务软件的三大核心驱动力》

  由CTI论坛主办的2016中国客户体验创新大会将于10月13日在北京辽宁大厦隆重举行,本次会议得到中国通信企业协会增值服务专业委员会的的有力指导和大力支持。环信创始人刘俊彦兼CEO将出席此次会议并发表主题演讲《下一代客户服务软件的三大核心驱动力》。 ...
继续阅读 »
  由CTI论坛主办的2016中国客户体验创新大会将于10月13日在北京辽宁大厦隆重举行,本次会议得到中国通信企业协会增值服务专业委员会的的有力指导和大力支持。环信创始人刘俊彦兼CEO将出席此次会议并发表主题演讲《下一代客户服务软件的三大核心驱动力》。


20160927103933221.jpg



  刘俊彦毕业于英国伦敦国王学院。17年研发经验;先后任职IONA,RedHat; 重度开源软件参与者。JBOSS ESB, SOA-P、Apache CXF、JBOSS Drools、jBPM 等开源项目committer;专注于高并发消息中间件,实时消息系统,异构分布式企业系统集成,应用服务器。

  环信移动客服——全媒体智能云客服倡领者,于2016年荣膺“Gartner 2016 Cool Vendor”。环信支持全媒体接入,包括网页在线客服、社交媒体客服(微博、微信)、APP内置客服和呼叫中心等多种渠道均可一键接入。基于环信业界领先的IM长连接技术保证消息必达,并通过智能客服机器人技术降低人工客服工作量。同时,基于人工智能和大数据挖掘的客户旅程透析产品"环信客户声音"能够帮助企业优化运营,提高跨渠道客服体验。截至2016年上半年,环信移动客服共服务了29437家企业用户,根据易观发布的《中国SaaS客服市场专题研究报告》显示,环信移动客服在SaaS移动端客服用户覆盖占比高达77.4%。
  收起阅读 »

使用AndroidStudio开发测试Java程序实现直接运行main方法

前言 自动Google发布了AndroidStudio1.5之后,现在经常使用AndroidStudio开发程序了,在习惯了他的强大之后已经深深的把Eclipse给抛弃了,现在就算有Eclipse的项目也直接导入到AndroidStudio里去查看;不过...
继续阅读 »
前言

自动Google发布了AndroidStudio1.5之后,现在经常使用AndroidStudio开发程序了,在习惯了他的强大之后已经深深的把Eclipse给抛弃了,现在就算有Eclipse的项目也直接导入到AndroidStudio里去查看;不过在有时候发现Eclipse比AndroidStudio还是有一点儿有时的,就是在有时候突然有个小想法,或者想测试小段计算的代码,这个时候也还必须连上手机去运行程序才行,这让我一直很苦恼;

不过后来发现,原来可以通过另外一种方式实现运行java类的main方法,不过在刚开始的测试过程中一直有问题,最近更新了下SDK突然想起来试下,发现成功了,这里记录下,给大家一个参考;

开始

首先如果想实现在AndroidStudio上运行java类,必须有个正常的项目,他是不能直接使用的,有了正常的AndroidStudio项目之后我们就可以在项目上新建一个Module;
步骤:

右击项目->New->Module

672606-24f2898456598067.png


然后在弹出界面选择Java Library

672606-365f48088e0d5f1a.png


然后填写Libarary的信息就行了

672606-6c77411cb7a8b07b.png


 
开始编写Java代码

基础我们都已经做好了,下边就可以开始进行编码测试了,这个编码都要在刚才创建的Library下进行,这样就可以像在Eclipse里进行一样了

创建完成之后就是下边这样,我们的java代码都是在这个library下编写测试;

672606-06220a0c7178bde4.png


首先我们要写一个main方法,并在里边输出一句话
/**
* 我们java library 的额第一个类
*/
public class MLMain {

/**
* java类的 main方法,可以直接 run
* @param args
*/
public static void main(String[] args) {
System.out.print("hello java library!");
}
}
然后我们可以直接右击当前类,点击Run'MLMain.main()'

672606-17ad9248a06147d3.png


可以看到控制台输出了我们打印的那句话

672606-08b83c3b1d11b612.png


结束语

OK了,以后我们就可以愉快的在AndroidStudio中测试java代码了!O(∩_∩)O~
希望这篇文章能对大家有所帮助!
 
作者:lzan13 收起阅读 »

【环信集成笔记】进阶篇-EaseUI集成以及会话列表开发

有人说环信需要服务器和iOS端配合,其实可以两种方式: 1.全有iOS端和环信交互。2.让服务器替我们保存环信密码。 先不说方式,先教大家如何集成。环信里有一个自带已经弄好的EaseUI,如果你对页面的要求不是很大,那就用环信自带的EaseUI开发...
继续阅读 »
有人说环信需要服务器和iOS端配合,其实可以两种方式:

1.全有iOS端和环信交互。2.让服务器替我们保存环信密码。

先不说方式,先教大家如何集成。环信里有一个自带已经弄好的EaseUI,如果你对页面的要求不是很大,那就用环信自带的EaseUI开发。我使用的就是环信的EaseUI。为了不影响项目,你先导入需要的系统框架。我使用的是即时通讯V2版本。

集成准备前请看他们的官网文档介绍。http://docs.easemob.com/start/300iosclientintegration/20iossdkimport

是即时通讯V3,请按照他去添加对应的库!没有安全感的可以全部添加!只要你不限工程大,麻烦就可以。

添加完成以后。下载他的SDK,有几种文件需要你拖进来。
1.EaseUIResource.bundle

2.gifimage(包含文件:EMGifImage.h以及.m)

3.EaseMobSDK

4.EaseUI(包括子目录:include,lib,resources*请注意里面不是图片是库,XMPP框架。 )

5.Resource(环信的图片文件夹)

6.ChatViewController(你可以用他们示范demo里拖,这个类就是对话类)

7.CystomizableCell

8.PrefixHeader.pch

9.Localizable.strings
如果还是少了什么东西不知道怎么加,请加我QQ:1119718338,我给你发送所有需要的文件,前提请注意加好友时候留言清楚。
如果你前面有一个会话列表页面,例如下图:

1240.png


如果你也有一个消息页面的话,如果没有什么太多内容,我建议放弃你自己自定义的TableViewCell,因为EaseUI 里有已经写好的消息页面:EaseConversationListViewController

这个页面不用改动太多。如果你发现这个页面为什么不用登录环信账号,环信是这样的:你在AppDelegate登录。

登录的demo为:
[[EaseMob sharedInstance].chatManager asyncLoginWithUsername:@“用户的环信账号” password:@“用户的环信密码” completion:^(NSDictionary *loginInfo, EMError *error) {

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

if (!error)

{

NSLog(@"登录成功");

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

//获取数据库中数据

[[EaseMob sharedInstance].chatManager loadDataFromDatabase];

}

} onQueue:nil];
当然有登录就有注册

[[EaseMob sharedInstance].chatManager asyncRegisterNewAccount:phone.text password:password2.text withCompletion:^(NSString *username, NSString *password, EMError *error) {

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

if (!error)

{

NSLog(@"注册成功");

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

}

} onQueue:nil];


1.只用iOS和环信交互:在你app注册会员的时候,注册成功获得返回值,正确的返回值内去注册环信账号,而环信账号就是用户注册你app的账号,密码需要写死,例如:123456,那么无论谁注册,传给环信的密码都是123456。这样方便登录。如果环信返回给你是注册成功,那么你需要在成功里创建NSUserDeafults存储你的环信账号,密码就不用存了。并且调用环信登录方法。如果不在AppDelegate里写登录,你的APP如果退出了,下次打开就没用了,所以必须时时刻刻登录。所以你需要在AppDelegate登录,账号就是你本地存储的账号。密码还是死的。如果正常流程来说就是:

1.注册自己APP账号-成功-注册环信账号,密码为死的-成功-登录环信账号。

2.登录自己APP账号-成功-登录环信

3.AppDelegate存储账号。



2.让iOS,服务器,环信交互:通过上面的那种方式,跟服务器唯一交互的就是密码,你需要在用户注册你自己产品的时候,密码也注册环信。注册成功,将密码post给服务器,登录的时候成功,服务器不光返回error,msg,还要加一个环信的password,这样你拿到password 可以再进行登录。当然注册的时候Phone和Password需都需要存储,方便在AppDelegate入口类登录。

1.注册自己APP账号-成功-注册环信账号,密码为注册APP的密码-成功-Post密码给服务器-成功-登录环信账号。

2.登录自己APP账号-成功-拿到服务器返回的Password,登录环信账号-成功。

3.AppDelegate存储账号和密码


除了上面两种方式,还有一种就是环信有一个会记录的方法,除了注销会一直存在。怎么简单怎么来。
 
OK,注册成功,我们继续讨论:EaseConversationListViewController

如果你的页面换成了EaseConversationListViewController,那么你不需要做任何操作都可以获取到最新数据,但是你需要点击进入会话页面。

1039815-3ecd18bb8205386e.jpg


ChatViewController 就是你的会话列表页,关于ChatViewController * chatVc = [[ChatViewController alloc]initWithConversationChatter:model.title conversationType:eConversationTypeChat];

1.model.title 这个会话列表的用户名,你也可以写死。

2.eConversationTypeChat,枚举,这是单人会话,还有群聊等等。


有了这个就可以传到会话列表页了。

会话列表就不多说了,没有这个文件我直接发给你好了。

对了有人会出现这种情况,如下图:


1039815-44d6a06e34d36547.png


是否发现重复消息。[self tableViewDidTriggerHeaderRefresh]; 检查一下这个方法是不是在chatViewController 和EaseMessageViewCOntroller 的ViewDidLoad 里面都调用了,看如果都有,随便删除一个这个方法。就ok了!
 
关于头像昵称如何能做成活的,思路是:环信有一个方法,可以获取消息列表的信息。

1039815-451bc4398ac8a957.png


这个方法就在你的根视图里拿出来。能获取到所有消息的环信的账号,如果你们注册的环信账号是手机号的。第一次发请求的话给服务器依次发送这个手机号,获取他的昵称和头像,然后存到本地。下次再次发请求的时候之前获取一下这个信息,有的话直接拿,没有的话就发送请求。
 
现在我在研究如何改变会话列表的名字和头像,因为有些产品的需要,不能展示账号或者手机号,所以如果你还有不懂得地方你加我好友QQ:1119718338,欢迎一起交流。当然如果您觉得对您有帮助,请点赞或打赏!谢谢!
  收起阅读 »

架构师的技术领导力之路:看环信一乐聊些什么

小欧有话说: 全球技术领导力峰会(GTLC)30日【Tim会客厅】环节,迎来了EGO北京分会第2小组的3名成员——环信首席架构师梁宇鹏、爱因互动联合创始人兼CTO洪强宁、当当架构部总监史海峰,一起聊聊他们的技术领导力之路。 主持人(左一):杨卫华(...
继续阅读 »
小欧有话说:

全球技术领导力峰会(GTLC)30日【Tim会客厅】环节,迎来了EGO北京分会第2小组的3名成员——环信首席架构师梁宇鹏、爱因互动联合创始人兼CTO洪强宁、当当架构部总监史海峰,一起聊聊他们的技术领导力之路。

T101[HINFCBC8_@{[OUFYQ.png


主持人(左一):杨卫华(Tim Yang),新浪微博研发副总经理

从技术人到领导者
Tim:大家先做一个简单的自我介绍吧!


梁宇鹏:在技术圈大家都叫我一乐,我来自环信,这是一家做即时通讯云服务和全媒体智能客服的公司,我是环信的首席架构师,同时也兼任IM事业部技术总监,负责即时通讯云服务产品线。

史海峰:我现在在当当负责架构部,之前在神州数码和亚信做电信业务系统集成,做过七年北京移动的项目,来到当当四年多,如果大家是北京移动的号码或者在当当买过书的话,都是我的衣食父母。

洪强宁:我之前在豆瓣网做首席架构师,2014年到了宜信做首席架构师,现在创业,和豆瓣首席科学家王守崑一起创办了爱因互动。

Tim:各位从刚毕业到目前的位置,其中有哪些难忘的事情或者关键的事情?怎么能够成为像你们这样的“老司机”?
梁宇鹏:我在微博工作了几年,Tim是我的老领导,在微博负责聊天、通讯系统,一开始我也是一心钻研技术,当时整个IM系统即将到达千万级的时候,大家都想做一个酷一点的中间件,这个方案当时出了好几版,一到这儿被枪毙了。当时Facebook做了一个通讯中间件,我当时很不理解,每天拉着Tim讨论,“这个东西业界肯定还缺,而且我们一定需要,就想做这个东西,为什么不能做?”讨论了半天,后来Tim问我一句话,“你觉得现在的系统能不能搞得定?”我说“能搞定”,他其实也将信将疑,说“你证明一下现在的系统搞得定”,我证明完之后,这个中间件没有下文了,觉得现在系统没有问题了,不需要做中间件。

@B7}9}J@{C(2Y_@2OFFZ4`I.png


后来想起来这是对我影响比较大的一点,从那之后,不再单纯地去追求做一个能写很酷的中间件的技术人员,会换个角度来思考我们团队需要什么样的东西,或者当前的团队能做到什么样的程度,如果能做到足够好,那么就去想这是不是你最需要做的。我觉得这个事情对我触动很大,当时整个观念都变化了,中间的沟通过程也是比较痛苦的,因为当时我每天都觉得我有一个理想,我要去实现,然而并没有得到支持。

现在在环信做的通讯协议、IM协议,这是原来我们也想做的。2012年移动互联网来了之后,都要做面向移动互联网的IM协议。除了中间件,还有很多可以做,比如现在做的跨全球远距离数据同步的后端系统等等。我不觉得我放弃了追求,而应该是自身的一次蜕变,因为我知道有很多技术可以做,而且也可以跟业务结合起来。

Tim:从我的角度补充一下,作为一个技术人,在大部分环境里面,你要做的事情很多时候确实是够用就行了,大家可能听说过很多反面的情况,一些技术负责人做了不恰当的决策,导致整个技术团队陷在泥潭里面,最终产品没出来,而且大家很累,也没有成就感。

梁宇鹏:我们做微博的时候,Twitter天天宕机,技术体系转来转去,折腾了好多轮。在技术人员心中,大家就觉得技术氛围很好,也很愿意折腾。我觉得我们微博这块虽然技术上走得慢一点或者走得很稳健,但是在服务质量上业界都看得见。我现在比较理解了,我会告诉大家什么先不要做,先把最主要的事情做完。

史海峰:我说一点,希望对在座的各位有一点借鉴意义。因为我之前是做电信软件的,现在在当当,从传统IT转到互联网这个过程还是挺痛苦,也挺刺激的。刚到互联网公司,对于常用技术、架构、场景,包括电商这一套业务都不是特别了解。而且大家都知道,互联网公司人员流动大,没有什么文档,很难快速切入。我凭着一些坚持,找各种机会去了解,有时候厚着脸皮跟人聊,哪怕他不愿意搭理你,最后发现自己应该是有一些钝感力,就这样坚持下来,让大家认可了我,在当当也待了下来,还算是转型成功。总结一下,就是坚持做一些别人做不了或者说不愿意做的事情。

洪强宁:坚持很重要。怎么成为“老司机”?我是足够老了,开始进入IT这个行业大概是上小学时,找了一本书开始自学,那时候就决定自己要做一个程序员。大学毕业后,终于找到了一个正式的程序员工作。最开始是做嵌入式系统,也是在那个时候接触到Python这个语言,也很喜欢,在Python社区也很活跃,2005年豆瓣的创始人给我发了封邮件,问我要不要一起干,我就过来了。随着豆瓣规模越来越大,我的重心慢慢转移到平台这个层面,在这个层面学到了很多东西,也得到了架构师的头衔。

另外一个转变,是我从豆瓣离职,到了宜信担任首席架构师,眼界得到了提高,看到了不一样的公司中不同的管理方法,从这个时候开始对管理产生了兴趣,也诞生了我要亲手创造一个伟大的公司的想法。今年6月份,终于开始创业,这对我来说是人生的一个大转变。但是不管怎样,最重要的是坚持。我一直觉得技术是能够改变世界的,我能够通过自己的手去让这个世界变得更美好一些,这是值得奋斗一生的事情。

Tim:从技术人到领导者,你们的心态发生了哪些变化?

梁宇鹏:原来觉得自己加一加班或者自己熬一下夜,这个程序就做完了,现在要调整自己,如果他们觉得做不完,你要不要接受这个状态,能不能补救,而不是推着他们一定要这样做。总之就是,知道什么不要做,知道什么你做不到。

史海峰:我来总结的话,就是“以德服人”。一乐说得特别好,以前面对的更多是机器,都是标准化的,现在面对的是一个团队,每个人都不一样,领导一个团队的话,不要求在每个技术领域都比团队成员强,最重要的是在最基本的素质和为人上超过他们,对自己的要求要比对他们的要求更高,要学会控制自己。

领导者有时候的一些方式方法,大家未必会接受的,这样实施起来会有一些抵触情绪,需要领导者更好地琢磨怎么去调整,最好的办法就是以身作则。

~4SN[U8EC0@KYSE2{R2E95F.png


洪强宁:我给所有的技术人的建议是保持不断学习,但是如果是技术管理者这个群体,我的建议可能更加务实一点,就是做好授权这一件事情,不要把所有事情都把握在自己手上,把权力下放到团队去,给他们更多的自由度,创业公司效率为什么比大公司高很多,很重要的原因是创业公司几个人一碰头就可以把这个事情决定了,大公司要层层上报,最后可能就不了了之了。把权力下放,找到合适的人让他放手去做,团队成长得会更快,你也可以拥有一些得力的助手。
  • 首席架构师之路


Tim:在座的几位都是非常优秀的架构师,你们典型的一天是怎么度过的?都做了哪些事情?


梁宇鹏:我一天最重要的两件事情,一是跟大家梳理架构,康威定律指出,公司的组织架构能够反映出公司产品的技术架构,如果我们的架构比较落后,那么瓶颈在我身上,因为只有我一个人能够把这个事情搞清楚,其他人都不明白,那么工作就没办法进行。所以我想的最多的事情就是组织尽量多的人,大家一起来讨论这个架构,最终大家就都了解这个架构,了解每个组件以及服务的权衡点在哪,就可以自己来设计这个服务。有很多创业公司的增长是非常快速的,如果没有一个很好的基础,那么流量来了的时候,大家压力就很大。架构能否撑得住,这个对我来说是最焦虑的。

Tim:作为首席架构师,跟其他架构师怎么分工呢?

梁宇鹏:为什么叫首席呢?因为每个人都有架构的思路和想法,我们团队至少一半以上可以做架构的,我来做的话,可能只是把大家的想法汇总起来,把大家不一致的观点组合起来找到一个一致的想法。

大家一定要达成一致,达不成一致这个架构其实没有任何价值,我觉得重要的是我让大家在有争执的时候,我们选择一个大家都能同意的点来开始做,这是我做的事情,还算比较重要的一部分。

史海峰:声明一下,当当还没有首席架构师,我主要的工作还是参与一些项目的架构设计,也会评审一些设计方案。我比较关注的问题是,如果在会议或者邮件中遇到一些不是特别了解的情况时,尽可能跟当事人当面沟通;技术债我都会记下来,很多东西都是我们来不及做或者说只是知道了然而怎么解决我们也不清楚,这种情况下,我就记下来,自己回头有时间再看一看。将来再遇到其他项目的时候,可能顺手能把这个事情解决了,这样能达到一石二鸟的效果,这是我比较关注的事情。

洪强宁:在豆瓣期间,刷豆瓣是我工作的一部分,因为豆瓣所有工程师,页面右上角会出现渲染时间,而且会有颜色标注。我每天关注的点就是一些关键的指标,我在豆瓣负责平台部门,我会关注性能指标、可用性指标,从中发现是不是存在问题。同时作为首席架构师,业务部门对于平台所有的需求,最后汇集到我这儿来,我会判断是否需要对架构做调整,更好地支持业务。在这个基础上,我会设计下一步的架构发展。我的原则是,作为架构师,可以超前设计一点,但是不要超前太多,有一定的冗余量,等到流量突然增加的时候,可以应付得了。

Tim:洪教授曾经是豆瓣的首席架构师,能不能介绍一个由你作为首席架构师发挥重要作用的产品或者技术?
洪强宁:我在豆瓣主持的其中一个比较大的项目是豆瓣的服务化,豆瓣最早期的时候是一套代码,一个代码仓库,所有的产品都是应用这一套代码。随着业务的发展,这个代码量越来越大,峰值的时候50万行,会出现各种各样的问题,当时判断这种方式是不能持久的。我主持做了服务化的拆分,也设计了一些服务化的框架、辅助的工具,这差不多是我在豆瓣做的工作中,对于整个豆瓣的发展影响最大的事情。

111.png


技术与管理的平衡

Tim:对于技术领导者这样的角色,你们认为最重要的素质或者能力是什么?

梁宇鹏:对我来讲,心态特别重要,之前无论是做技术、做架构、还是写技术组件的代码,面对的都是机器,如果要做一个技术领导者,需要面对的是人,你就要调整自己好自己的状态,你面对的这帮兄弟们,他们的状态不像机器一样恒定,有些时候他的状态可能随着他的心情或者生活状态发生变化。

我经常用跑步来举例子,我跟团队很多兄弟一起跑,跑步这件事情,你会对自己能跑多远有一个期望,假设现在能跑10公里,那么跑马拉松就会有非常大的压力,对于技术人也一样,如果他自己觉得只能跑10公里,那么把他推到马拉松的级别,他可能会直接跟你决裂。所以最重要的是随时观察团队成员的状态,他们现在能到什么级别,你再去往前推动,而不是像机器一样,让他们发挥出100%的性能。

Tim:如何从一个写代码的角色转变到一个技术领导者的角色?怎么把握这两者之间的平衡?

梁宇鹏:我只能试着去平衡,因为我觉得写代码的时候应该是大多数技术人员心情最平静的时候,或者说最高兴的时候。真正去管人的时候,你会发现有太多的不确定性,可能相当于遇到了一段读不懂,但是永远有bug的代码,没办法,只能试着适应他,把他当成一个库来调用,我没有太好的经验。但是对我个人来讲,如果遇到问题,我会通过跑步去换一个环境,可能只是半个小时、1个小时,但回来之后能够静下心来。

史海峰:首先,一部分的同学是被动地被提到了一个管理岗位,很可能你的领导离职了或者去了更高的职位,由你来带团队。基本上最简单的是模仿,毕竟当过下属,你知道你的上级是怎么安排任务,怎么去跟踪,需要关注哪些点,这是最初的。

第二点,后来慢慢关注了一些方式方法,成熟的管理理论或者解决问题的方法论,你会发现很多东西有人已经琢磨得非常明白,只是自己之前没关注不了解。

第三点,做技术的人离开安全区的时候,都会有一个想法——我以后不能全天写代码了,我的竞争力在哪里。这要靠时间,靠团队协作,靠实践,慢慢去调整你的认识,你会发现团队能做更大事情的,你在其中做一个核心角色,这样才会更有价值。

洪强宁:我最开始的时候就是一个非常标准的程序员,什么事情都自己做,很快发现最后所有的事情都堆在你手上,忙得要死,你的团队其实工作并不饱和,这时你会逼迫自己去改变这个问题,我找到了方法,就是把自己的重心从实现变成设计,并且进行分解,分解出来的任务并行开发。从这个阶段开始,我的工作职责慢慢从实践者变成了管理者。

这个过程需要特别注意的是,要克制自己,比如你看到一个技术难题,特别想自己解决,结果陷入问题当中导致项目延期。另一方面,即使成为一个管理者,也不应该放弃技术,架构师还是要写代码的,因为这样才能知道你设计的东西是不是真正适合开发。随着管理的工作越来越多,真正写代码的时候,你给自己安排的代码任务不能成为别人的阻碍,像我现在写的代码更多的是一些偏研究性的代码,偏提升效率的工具,还有一些打杂性的工作,没人做的事情我来做,这样既可以不阻碍团队的开发效率,也不至于丧失对代码的理解。
 
本文由EGO原创首发,请获取授权后转载,完整演讲PPT下载请戳“阅读原文”
 
关于全球技术领导力峰会(GTLC)

由极客邦旗下高端技术人社交网络EGO举办,旨在聚集国内一线技术领导者,共同分享、探讨技术管理、技术领导过程中的最佳实践,为参会者打造一个高质量的交流、学习平台。本次大会由超高性价比CDN又拍云独家冠名赞助。

阅读原文 收起阅读 »

Android混淆那些事,看这篇就够了

简介 作为Android开发者,如果你不想开源你的应用,那么在应用发布前,就需要对代码进行混淆处理,从而让我们代码即使被反编译,也难以阅读。混淆概念虽然容易,但很多初学者也只是网上搜一些成型的混淆规则粘贴进自己项目,并没有对混淆有个深入的理解。本篇文章的目的...
继续阅读 »
简介

作为Android开发者,如果你不想开源你的应用,那么在应用发布前,就需要对代码进行混淆处理,从而让我们代码即使被反编译,也难以阅读。混淆概念虽然容易,但很多初学者也只是网上搜一些成型的混淆规则粘贴进自己项目,并没有对混淆有个深入的理解。本篇文章的目的就是让一个初学者在看完后,能在不进行任何帮助的情况下,独立写出适合自己代码的混淆规则。

说在前面

这里我们直接用Android Studio来说明如何进行混淆,Android Studio自身集成Java语言的ProGuard作为压缩,优化和混淆工具,配合Gradle构建工具使用很简单,只需要在工程应用目录的gradle文件中设置minifyEnabled为true即可。然后我们就可以到proguard-rules.pro文件中加入我们的混淆规则了。
android {
...
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
以上示例代码表示对release版本就行混淆处理。下面我们先来简介下ProGuard的三大作用,并简要说明下它们常用的命令。

ProGuard作用

压缩(Shrinking):默认开启,用以减小应用体积,移除未被使用的类和成员,并且会在优化动作执行之后再次执行(因为优化后可能会再次暴露一些未被使用的类和成员)。
-dontshrink 关闭压缩
优化(Optimization):默认开启,在字节码级别执行优化,让应用运行的更快。
-dontoptimize  关闭优化
-optimizationpasses n 表示proguard对代码进行迭代优化的次数,Android一般为5
混淆(Obfuscation):默认开启,增大反编译难度,类和类成员会被随机命名,除非用keep保护。
-dontobfuscate 关闭混淆
混淆后默认会在工程目录app/build/outputs/mapping/release下生成一个mapping.txt文件,这就是混淆规则,我们可以根据这个文件把混淆后的代码反推回源本的代码,所以这个文件很重要,注意保护好。原则上,代码混淆后越乱越无规律越好,但有些地方我们是要避免混淆的,否则程序运行就会出错,所以就有了下面我们要教大家的,如何让自己的部分代码避免混淆从而防止出错。

基本规则

先看如下两个比较常用的命令,很多童鞋可能会比较迷惑以下两者的区别。
-keep class cn.hadcn.test.**
-keep class cn.hadcn.test.*
一颗星表示只是保持该包下的类名,而子包下的类名还是会被混淆;两颗星表示把本包和所含子包下的类名都保持;用以上方法保持类后,你会发现类名虽然未混淆,但里面的具体方法和变量命名还是变了,这时如果既想保持类名,又想保持里面的内容不被混淆,我们就需要以下方法了

-keep class cn.hadcn.test.* {*;}

在此基础上,我们也可以使用Java的基本规则来保护特定类不被混淆,比如我们可以用extend,implement等这些Java规则。如下例子就避免所有继承Activity的类被混淆

-keep public class * extends android.app.Activity

如果我们要保留一个类中的内部类不被混淆则需要用$符号,如下例子表示保持ScriptFragment内部类JavaScriptInterface中的所有public内容不被混淆。
-keepclassmembers class cc.ninty.chat.ui.fragment.ScriptFragment$JavaScriptInterface {
public *;
}
再者,如果一个类中你不希望保持全部内容不被混淆,而只是希望保护类下的特定内容,就可以使用
<init>;     //匹配所有构造器
<fields>; //匹配所有域
<methods>; //匹配所有方法方法
你还可以在<fields>或<methods>前面加上private 、public、native等来进一步指定不被混淆的内容,如
-keep class cn.hadcn.test.One {
public <methods>;
}
表示One类下的所有public方法都不会被混淆,当然你还可以加入参数,比如以下表示用JSONObject作为入参的构造函数不会被混淆
-keep class cn.hadcn.test.One {
public <init>(org.json.JSONObject);
}
有时候你是不是还想着,我不需要保持类名,我只需要把该类下的特定方法保持不被混淆就好,那你就不能用keep方法了,keep方法会保持类名,而需要用keepclassmembers ,如此类名就不会被保持,为了便于对这些规则进行理解,官网给出了以下表格
保留    防止被移除或者被重命名    防止被重命名
类和类成员    -keep    -keepnames
仅类成员    -keepclassmembers    -keepclassmembernames
如果拥有某成员,保留类和类成员    -keepclasseswithmembers    -keepclasseswithmembername移除是指在压缩(Shrinking)时是否会被删除。以上内容时混淆规则中需要重点掌握的,了解后,基本所有的混淆规则文件你应该都能看懂了。再配合以下几点注意事项,

注意事项

1,jni方法不可混淆,因为这个方法需要和native方法保持一致;
-keepclasseswithmembernames class * { # 保持native方法不被混淆    
native <methods>;
}
2,反射用到的类不混淆(否则反射可能出现问题);

3,AndroidMainfest中的类不混淆,所以四大组件和Application的子类和Framework层下所有的类默认不会进行混淆。自定义的View默认也不会被混淆;所以像网上贴的很多排除自定义View,或四大组件被混淆的规则在Android Studio中是无需加入的;

4,与服务端交互时,使用GSON、fastjson等框架解析服务端数据时,所写的JSON对象类不混淆,否则无法将JSON解析成对应的对象;

5,使用第三方开源库或者引用其他第三方的SDK包时,如果有特别要求,也需要在混淆文件中加入对应的混淆规则;

6,有用到WebView的JS调用也需要保证写的接口方法不混淆,原因和第一条一样;

7,Parcelable的子类和Creator静态成员变量不混淆,否则会产生Android.os.BadParcelableException异常;
-keep class * implements Android.os.Parcelable { # 保持Parcelable不被混淆            
public static final Android.os.Parcelable$Creator *;
}
8,使用enum类型时需要注意避免以下两个方法混淆,因为enum类的特殊性,以下两个方法会被反射调用,见第二条规则。
-keepclassmembers enum * {  
public static ** values();
public static ** valueOf(java.lang.String);
}
写在最后

发布一款应用除了设minifyEnabled为ture,你也应该设置zipAlignEnabled为true,像Google Play强制要求开发者上传的应用必须是经过zipAlign的,zipAlign可以让安装包中的资源按4字节对齐,这样可以减少应用在运行时的内存消耗。

作者简介
彭涛(@彭涛me) 致力于让技术变得易懂且有趣
GitHub地址:https://github.com/CPPAlien 收起阅读 »

《全媒体客户中心管理》读书沙龙,南京-杭州-合肥三站齐发

9月27日-29日,《全媒体客户中心管理》读书沙龙,南京-杭州-合肥三站齐发,小伙伴还在等什么! 《全媒体客户中心管理》读书沙龙——南京站 2016-09-27 14:00南京市秦淮区莫愁路329号117号楼101市室 《全媒体客户中心管理》读书沙龙——合...
继续阅读 »

南京-杭州-合肥三站合一.jpg


9月27日-29日,《全媒体客户中心管理》读书沙龙,南京-杭州-合肥三站齐发,小伙伴还在等什么!

《全媒体客户中心管理》读书沙龙——南京站
  • 2016-09-27 14:00
  • 南京市秦淮区莫愁路329号117号楼101市室
 《全媒体客户中心管理》读书沙龙——合肥站
  • 2016-09-28 14:00
  • 合肥市蜀山电子商务产业园3期2号楼3楼党政服务中心
 《全媒体客户中心管理》读书沙龙——杭州站
  • 2016-09-29 14:00
  • 杭州市江干区钱潮路369智谷人才广场7楼

 
活动介绍:

   8月3日,国内第一本“全媒体”客服学术著作《全媒体客户中心管理》读书沙龙将在包括北上广深等全国十大城市陆续举办。环信作为国内全媒体智能SaaS客服的倡领者一直致力于推动整个中国SaaS客服行业的发展,给企业提供最具效率和最佳用户体验的客服产品及服务。此次和客服行业权威媒体《客户世界》以及行业专家一起联合推出《全媒体客户中心管理》一书,环信提供了在全媒体客服领域包括产品技术和客户运营方面大量的最佳实践及成功案例。同时,环信参与了从前期图书主题的设定、相关最佳实践和成功案例的准备、中期文档图表的梳理、后期出版环节的编审和呈现,一直到各地读书沙龙的组织工作,目的也是推动整个SaaS客服行业和企业用户少走弯路,加速企业用户的信息化和用户体验进程,让呼叫中心(客户中心)提速迈向智能化和数据化时代。
 
部分演讲主题展示:
 
全媒体客户中心的规划、建设、运营与管理

演讲嘉宾:张艳

   蜜芽服务副总裁  近20年客服中心管理经验,专注于企业自建呼叫中心运营管理、服务管理、会员精准营销。为多家企业搭建、重建呼叫中心,并成功推动呼叫中心从分布到集中、从服务到营销、从单渠道到全媒体转型。先后就职于携程旅行网、中青旅、中移动12580、红孩子、苏宁云商等企业, 现任蜜芽服务副总裁。 从呼叫中心基础管理工作开始,多年来在电子商务类企业组织实战。张老师将她多年来的理论总结和实战经验加以提炼和归纳,汇集成为新书《全媒体客户中心管理》,期待对国内本行业管理者们的运营工作提供积极的帮助。从呼叫中心基础管理工作开始,多年来在电子商务类企业组织实战。张老师将她多年来的理论总结和实战经验加以提炼和归纳,汇集成为新书《全媒体客户中心管理》,期待对国内本行业管理者们的运营工作提供积极的帮助。
  收起阅读 »

环信移动客服v5.2产品更新--增加呼叫中心集成,优化微信、微博使用体验

    更新!环信移动客服V5.2已发布,增加呼叫中心集成,优化微信、微博使用体验,珍视您的每一位客户就用环信移动客服!注:环信移动客服v5.2_产品更新说明/产品功能列表/产品使用指南 请到文章末尾下载1 客服模式     1.1新增访客中心      客服...
继续阅读 »
    更新!环信移动客服V5.2已发布,增加呼叫中心集成,优化微信、微博使用体验,珍视您的每一位客户就用环信移动客服!
注:环信移动客服v5.2_产品更新说明/产品功能列表/产品使用指南 请到文章末尾下载
1 客服模式    
  • 1.1新增访客中心    
  客服模式下,新增“访客中心”页面,供客服查询自己接待过的访客的信息。可以回呼访客,查看与访客的互动记录。该页面默认隐藏,需要管理员进入“管理员模式 > 设置 > 系统开关”页面,打开“客服可以使用访客中心功能”开关。打开开关后,客服可以在“客服模式”下看到“访客中心”页面。在访客中心页面,点击“筛选排序”可以对访客进行筛选,点击

图片1.png

按钮可以回呼访客。 

图片2.png

  点击某位访客,进入访客详情页面。可以查看访客资料、修改访客资料、修改访客标签、对访客进行回呼。在“互动记录”Tab页,可以查看该访客的全部会话历史,选中某条会话后可查看会话详情。对来自Web渠道的访客,会话详情界面还包括访客IP地址、地区、软件环境、来源。

图片3.png

注:客服模式下,不能在“访客中心”页面查看访客给出的满意度评价以及导出访客信息。2 管理员模式    
  • 2.1 设置系统消息的发送人
支持自定义系统消息的发送人昵称。默认情况下,系统消息(包括欢迎语、问候语、超时提示语等)的发送人昵称显示为“调度员”,可在“管理员模式 > 设置 > 系统开关”页面设置(如下图)。另外,调度员的头像显示为企业头像,可在“管理员模式 > 设置 > 企业信息”页面设置。

图片4.png

  • 2.2 设置客服可以使用访客中心功能    
新增“客服可以使用访客中心功能”开关。打开开关后,客服可以使用访客中心功能,查看自己接待过的访客的资料及互动记录。该开关默认关闭。

图片5.png

  • 2.3 设置呼叫中心渠道(增值服务)    
新增呼叫中心渠道的设置页面,移动客服标准版和旗舰版的租户均可以申请开通呼叫中心。申请开通呼叫中心功能,只需进入“管理员模式 > 渠道管理 > 呼叫中心”页面,点击“申请热线号码”按钮,填写您的联系方式,并保存。之后,环信商务经理会主动联系您。

图片6.png

  • 2.4 【优化】微信公众号设置页面    
优化微信公众号的设置页面,点击“添加微信公众账号”按钮,即可按照步骤引导,将您的微信公众号绑定到环信移动客服。

图片7.png

  • 2.5 【优化】微博账号设置页面    

优化微博账号的设置页面,点击“添加微博认证账号”按钮,即可按照步骤引导,将您的微博账号绑定到环信移动客服。
绑定后,微博粉丝向您发送私信或@您的微博账号,都可以在移动客服系统收到消息,您的回复会以私信的形式发送给微博粉丝。

图片8.png



 体验环信移动客服 http://kefu.easemob.com/
 查看历史版本请点击更新日志

 
使用过程中有遇到任何问题、反馈建议欢迎直接评论留言,我们将第一时间回复!

环信移动客服v5.2_产品更新说明/产品功能列表/产品使用指南  请点击下载↓↓↓ 
  收起阅读 »

客户服务的未来,全在人工智能和聊天工具

   上个世纪的70年代,市场的供需双方中,消费者还处于弱势地位,处境可谓悲惨。企业的CFO和CEO们,奸诈无比、诡计多端,为了对付那些不满意的消费者,他们设计了众多障碍,让消费者无法获得赔偿。而电话自动应答系统,就是其中最有效的杀招。另外还有深奥难解而又绝不...
继续阅读 »


303953-de48791b41ec3eb1.png


   上个世纪的70年代,市场的供需双方中,消费者还处于弱势地位,处境可谓悲惨。企业的CFO和CEO们,奸诈无比、诡计多端,为了对付那些不满意的消费者,他们设计了众多障碍,让消费者无法获得赔偿。而电话自动应答系统,就是其中最有效的杀招。另外还有深奥难解而又绝不通融的消费协议,那个年代的“奸商”们几乎消灭了“客户投诉”这种现象,为此奸商们欢欣鼓舞、击缶而歌。

   这一片险恶的沼泽地,让消费者无计可施......直到社交媒体出现,才挽救了普通消费者于水火,宣告了一个新时代的开始。今天,任何无名之辈的阿猫阿狗,都有着天王巨星、达官贵人一样的力量。匹夫之怒,亦能让商家“伏尸百万,流血千里”。商家,开始认真对待任何一名消费者的态度。

   Facebook 的人工智能应用,给我们带来全新的生存体验,未来也许一切都只需聊个天就解决了。订花? ok,搞定! 看新闻? ok,搞定! 天气预报? ok,搞定!

那么,客户服务呢? 是否也可以依赖人工智能和聊天工具? 

   很多事我们都已忘记,但我们现在还记得,一次次“现在客服忙,请您等待”的惨痛经历。若是通过聊天工具与客户代表对话,1分钟时间就能解决我们的问题,请问,这难道不是我们所有人梦想中的滑板鞋吗?难道我们不能梦想,聊个天,就能定机票,就能装宽带,就能查水表?

梦想很丰满,现实很骨感。这一切的实现,并不容易!

   电话,已经沦为垃圾广告、诈骗和报警的专用通讯手段。而各种聊天、消息工具则完全占领了人类通信的上甘岭,这里已然焦土三尺,却是互联网王者的加冕之地。年轻人,尤其喜欢聊天工具,这就给了聊天工具未来的宝座。

   但实际上,聊天工具并非灵丹妙药金箍棒。一个笨嘴拙舌的消费者,在微信上,在facebook上,也一样说不清楚自己的插座是否有电。而早上和男友刚刚分手的女客服,在聊天工具上,也会和电话上一样暴躁和碧池。从电话到聊天工具,只是媒介的变化,妄想美好的人间从此降临,那是不客观的。

   要世界变成美好的人间,只要人人献出一点爱不就成了么。但这太难了,我们都是人,知道自己献不出更多的爱了,那么就一点点。怎么办?让机器人上吧,只要有电,机器人的爱无穷无尽。

   人工智能,对客户服务的改进,将是巨大的变革。人工智能,能够提前收集信息,帮助客户代表来进行客户交互。能够理解到底发生了什么,消费者才会头发上指,目眦尽裂。能够准确体察消费者到底要的是什么,是一场触及心灵的鸡汤对话,还是2.58元的赔款。在理想的情况下,人工智能完全可以自行处理一些简单的问题,比如静静的阅读消费者狂怒的诅咒,并送上点赞和笑脸符。

   机器人客户的历史很长,其实电话系统中的自动应答,也算是机器的一种。在电话系统中,提醒消费者说出账户号码,描述问题,或者根据需求按某个数字。 区别在于,电话系统中的机器人,通常会惹怒消费者客户,而聊天机器人,则具备取悦客户的潜力。

   在“机器人”和“人工”之间的取舍与均衡利用,则是关键所在。但一切的大前提,乃在于机器人的质量,当然,还有人工客服代表的素质。

   毫无疑问,未来需要“人工”和“机器人”亲密配合的玉女双修。水乳交融、天人合一、双修互补,方能打通任督二脉。客户幸福了,业务也蒸蒸日上了。

   假以时日,人工智能(机器人)将会更加聪明,企业也会更加委以重任,广泛利用人工智能。 想想看,通过聊天,30秒钟就能与宽带公司预约排号。零售商只用几秒钟就能替换有瑕疵的商品。酒店呢,只需要几秒就能通过赠送积分,消除掉投诉客户的怨气。这些场景,对机器人而言,都是小菜一碟。好钢用在刀刃上,好的人工客服,要用来对付来自中国的医闹。

   Facebook 的 Messenger 平台是众多平台中的一种,这些平台都会用来提供客户服务。配合了智能软件和一点点人工辅助,消费者能够获得绝妙的极致体验,而公司也就避免了遭受微博投诉转发、舆情危机。想想看,百度这样的,都惨遭万箭穿心。没有删贴能力的,都要小心应付,建设好客服平台。

   未来的客户服务,必将给与消费者更多渠道和媒介的选择,也必将更加节省消费者的时间。问题需要解决的更快,甚至无人干预,智能解决,则最好。

   未来的客户服务,不是让消费者恐惧的热线电话,而是构建客户关系的利器。最好的营销手段,就是客户服务,而聊天智能机器人,是巨大的进步。 收起阅读 »

员工关怀系统——识别满意度的影响因素

   客户服务是指以客户为导向的价值体现,所有能提高“客户满意度”的内容都属于客户服务的范围。“以客户为中心”提高客户满意度,培养、维护客户忠诚度,在目前的电子商务时代显得日益重要,成功的客户服务关系可以为企业带来巨大的利益。    目前客户服务关系面临...
继续阅读 »


640.jpg


   客户服务是指以客户为导向的价值体现,所有能提高“客户满意度”的内容都属于客户服务的范围。“以客户为中心”提高客户满意度,培养、维护客户忠诚度,在目前的电子商务时代显得日益重要,成功的客户服务关系可以为企业带来巨大的利益。

   目前客户服务关系面临的最大挑战就是客户流失问题,客户的需求不能得到切实有效的满足往往是导致客户流失的关键因素,简单来说就是客户的满意度低。对客服中心而言,话务员是客户与企业之间的沟通桥梁,话务员的一举一动代表着公司的形象,其行为直接影响客户的满意度。作为一名合格的话务员,首先要对企业的相关业务非常熟悉,能够以最短的时间解答客户的问题、解决客户的投诉、办理客户需要的业务,其次要有熟练的沟通技巧,丰富的沟通经验,以及得体的话语,维持客户的满意度和忠诚度。

   随着电信市场的发展,话务员的流失成为了各运营企业普遍关注的问题,对于运营企业而言,绝大部分的资源就是人力资源,且由于运营企业的行业技术含量较高,对员工的培养投入较大,培养周期较长,一旦出现过多的人员流失,对运营企业来说是一个致命的打击,并且新员工的招聘以及培训需要花费较多的人力、物力成本,因此避免人员流失是节省成本的最好方法。从美国劳动力市场的调研来看,80%左右的人员流失是可以通过各种措施避免的。避免人员流失,挽留现有员工,需要了解员工的工作,日常生活情况,并且建立有效的员工关怀系统,健全员工培训制度,充分了解员工的工作短板,工作压力,为员工营造良好舒适的工作环境,减少人才的流失。

一、如何建立健全员工关怀系统

   建立健全的员工关怀、监管和挽留机制,需要一个闭环管理的系统,该系统的组成部分包括:员工分析系统、员工关怀系统、员工管理系统,这三个系统共同组成员工关怀分析管理流程。

1.员工分析系统:建立分析模型,优化模型的系统;

2.员工关怀系统:展示员工基本信息,预测结果的展示系统;

3.员工管理系统:管理者填写员工调查问卷,关怀措施的掌上移动客户端;

   首先基于员工的历史数据建立分析模型,分析员工专业能力和敬业度对客户满意度的影响程度,将员工敬业度和专业能力等对客户满意度的影响较大的因素输入到员工关怀系统,管理者根据每个员工不同的影响因素,采取相对应的关怀措施,并将关怀措施与最终关怀的结果反馈给员工管理系统,员工管理系统收集到数据后,将数据添加到模型里面,优化模型,优化关怀措施(如图1)。

640.jpg


1、员工分析系统

   对于客服员工的分析,通过使用员工专业能力数据(定性数据)和员工敬业程度数据(定量数据)分别建立模型,分析员工的专业能力和员工的敬业程度与客户满意度之间的关系。

   分析员工专业能力是基于员工的基本属性和工作指标情况,包括工龄、职称、工作时长、整理时长、首次问题解决率等指标,使用信息值(IV)、基尼方差等指标筛选变量,基于最优分组和最优分群算法对变量进行分组、WOE证据权重转化,使用客户满意度作为模型的目标,建立员工专业能力分析模型,分析员工的专业能力与客户满意度的关系。
   分析员工敬业程度是基于员工的日常生活指标,包括违纪情况、工作状态、历年晋升、团队融合度、抱怨行为等数据,以客户满意度作为目标,根据每一类指标的分数权重,建立员工敬业度分析模型,分析员工的敬业程度与客户满意度的关系。

   最后对比两模型的结果,确定对客户满意度影响较大的因素。

2、员工关怀系统

   员工关怀系统主要是展示所有员工的基本信息、历史工作指标信息,影响客户满意度的因素,以及预测客户满意度的趋势。

   员工关怀系统可以根据用户的不同权限,实现对用户展示不同的内容,最大用户权限的管理者可以查看整个客服中心的整体信息,包括全体员工的平均通话时长、满意度、来电次数、业务办理、投诉次数等。管理者从企业的角度,评估全体员工的工作情况以及整体客户满意度情况。最小用户权限的管理者可以查看所属团队内各个员工的信息,包括员工个人出勤次数、休息次数、客户满意度,是否需要关怀、关怀原因,采取的关怀措施、关怀结果。

   管理者也可以查看影响满意度的因素与关怀措施之间的关系,所采取的关怀措施是否可以修复满意度,采取的关怀措施是否对员工有效。
 
3、员工管理系统

   员工管理系统是手机客户端,方便管理者随时随地查看员工的相关信息,对员工进行问卷调查,反馈员工近一个月的工作状态(敬业程度);同时也是管理者查看员工是否需要关怀,可以采取的关怀措施。采取的关怀措施包括为员工推荐相关的专业能力培训课程,沟通技巧培训课程,其他户外拓展课程等,管理者在员工培训完以后填写相关的培训结果,员工分析模型会对结果数据进行分析,优化模型,输出下一期满意度影响因素。

   管理者通过员工管理系统对比两个月的满意度影响因素,考察员工参加培训课程之后满意度的情况,并且以此判断专业能力和敬业程度对满意度的影响效果。

二、建立员工关怀系统的优势

   建立健全的员工关怀系统,拥有全面性、时效性、实用性、共享性等优势。企业建立健全员工关怀机制,不但能充分了解员工的基本情况,还可以了解管理者对员工的管理情况,达到一体化管理效果。

1、 全面性:可以展示员工的基本属性,工作指标情况,以及管理者对员工的评价,关怀措施,关怀结果的等信息。

2、 时效性:能够在手机APP上展示员工需要关怀的因素,管理者能够随时随地了解需要关怀的员工,并且可以通过APP选择员工的关怀措施,填写关怀结果。

3、 实用性:员工关怀系统立足员工基础属性,工作属性,深入了解员工的日常属性,结合客户满意度,识别影响较大的因素。

4、 共享性:员工关怀系统包括员工分析,员工关怀,员工管理等三方面组成,三个模块紧密相连,实现协同工作,数据共享目的。管理者在手机APP填写相关的问卷,查看需要关怀的员工。员工管理系统就能相应地展示相关的数据,数据收集完毕后,员工分析模块就会利用数据对模型进行优化。

   想留住客户,需要的是优质的服务,而提供服务的是话务员。客户提出一个问题,正确的解答才能留住客户,含糊其辞、不知所云、态度傲慢、慢条斯理,带来的损失将不只是一个客户而是更多的潜在客户。话务员的工作表现、工作态度直接关系到客户对企业的印象、满意度,客户对企业印象差,满意度低就会出现流失的现象,因此只有使员工满意,才能使客户满意。

   建立员工关怀系统,能够让企业找到员工的专业能力和敬业程度对客户满意度的影响,企业才能对此做出相应的补救措施,加强对员工的培训力度,协调员工各方面的关系;能够帮助企业完善相关的培训课程,调整培训力度,减少不必要的培训课程,增加有效的培训课程;最终能够增强话务员的能力,端正话务员的态度,提高客户满意度,减少企业损失。

本文刊载于《客户世界》2016年8月刊;作者曹海林,服务单位为广州佰聆数据股份有限公司。 收起阅读 »

【环信集成笔记】入门篇-环信单聊的简单用法

即时通讯--环信       诚如诸位正在看这篇文章的童鞋们,即时通讯我们用到的最普遍的就是--环信,接下来我(范小明)将在工程项目中用到的环信知识列举下来:        我们的项目用到的是单聊(不涉及群聊),用到的也是最基础的知识.        ...
继续阅读 »
即时通讯--环信

      诚如诸位正在看这篇文章的童鞋们,即时通讯我们用到的最普遍的就是--环信,接下来我(范小明)将在工程项目中用到的环信知识列举下来:

       我们的项目用到的是单聊(不涉及群聊),用到的也是最基础的知识.


       想必你看我这篇文章之前已经看了http://docs.easemob.com/im/start"环信开发文档"了吧,是因为字太多看不下去吗,记住即便在我这篇文章拿到了你想要的知识,这个开发文档也要多研读多研读多研读(每读一次就会有新的体会,然后很多问题就会迎刃而解,不信的话你就多读几遍试试),ok,废话不多说,下面上实例:

1)下载最新版的SDK


1934707-84f9c953b646a1c0.jpg


http://www.easemob.com/download 点进去下载去吧
 
2)导入sdk到工程里

你的工程是新建立的还是老工程要加入及时通讯功能?如果是老工程的话,导入sdk时注意sdk包里面包含第三方和你原来工程里的第三方有冲突吗(主要是版本冲突)

1934707-167361e18eb2a773.jpg


(点第三方进去查看下版本信息是否跟你原来的有冲突)
 
第三方库介绍

EaseUI 中用到的第三方库:

MWPhotoBrowser: 图片处理库,浏览显示

MJRefresh: 用于页面刷新

MBProgressHUD: 用于提示加载刷新

libopencore-amrnb.a,libopencore-amrwb.a: 用于 amr 与 wav 之间的转换

Demo 中用到的第三方库:

Parse.framework、Bolts.framework: Demo 中的用户信息存储在 Parse,这两个库是 Parse 所需要的库,开发者如果没用 Parse 存储,不要复制到自己项目中

libMobClickLibrary.a: 友盟相关的库,用于环信 Demo 基本信息的统计,开发者不用或者已有别的版本的库不要复制到自己项目

导入SDk环信官方文档写的特别清楚,我就不写了,直接参照文档就可以.

3)以上都搞完了是吗,我要把我的环信demo拿出来了,直接用就可以

即便导入sdk没有完成也可以直接用我的demo(上两步目的是担心sdk更新的太快)


demo的话加我个人qq1056912116给我要就可以,备注上:要环信单聊demo.(另外添加关注一下)

4)导入成功了,开始准备战斗

在工程里的Appdelegate中


1934707-c9e80e707b789ce5.jpg


appkey是你在环信官网中自己申请的
需要说明的是我的项目里环信ID是后台返的,然后再去注册,注册方法和登录方法记得都要开辟子线程去,要不会造成假死状态.获取对方的昵称和姓名是后台返给我的,不是通过延展改掉的,此处大家注意下.(一会我会特别标明)

1934707-44d05aa10da660c1.png




1934707-45dcf091e9b42495.png




1934707-0d0a73c9fd6b075f.png




1934707-869586f94c42ece4.png



requestNICK这个方法是获取昵称和姓名的


1934707-823fe2c6e2bca34f.png


以上截图均在Appdelegate里面,我的demo里面没有,到时你可以从官方demo里搜出来方法名直接调用就可以,仔细想一想就会了.
5)聊天界面的修改

聊天界面的控制器就是ChatViewController,看看我的demo研究下.在这个页面还需要把昵称和姓名附上值.


1934707-996373ba05fc22b0.png


这是ChatViewController.m里面的方法,修改下就可以,里面的参数用你自己的
6)登录环信

一般工程项目里的环信登录账号和密码与工程账号密码不一致,那么我把登录环信的代码贴过来,在你需要的地方用就可以,一般是在Appdelegate.(记住工程退出账号时记得退出环信账号)

1934707-741d799eb4fbf566.png


7)注册环信账号

 一般说来,环信账号的注册时有后台去完成的,但是我们今天讲一下如果后台不给注册,前端怎么去注册呢,看截图

1934707-5c7a9583f8bf963c.png


注册成功就去登录就好(官方DEMO上可以找到方法)
以上都弄完以后,就可以互相通讯了,难点就是看你怎么把demo导入到你的工程里,当时我导入就导入了半天时间.祝大家赶紧把工作做好,把技术提升起来!✌️
第三方库介绍

EaseUI 中用到的第三方库:

MWPhotoBrowser: 图片处理库,浏览显示

MJRefresh: 用于页面刷新

MBProgressHUD: 用于提示加载刷新

libopencore-amrnb.a,libopencore-amrwb.a: 用于 amr 与 wav 之间的转换

Demo 中用到的第三方库:

Parse.framework、Bolts.framework: Demo 中的用户信息存储在 Parse,这两个库是 Parse 所需要的库,开发者如果没用 Parse 存储,不要复制到自己项目中

libMobClickLibrary.a: 友盟相关的库,用于环信 Demo 基本信息的统计,开发者不用或者已有别的版本的库不要复制到自己项目


作者简介:我是范小明,QQ:1056912116,各位同学看这篇笔记遇到不明白的地方,欢迎骚扰我! 收起阅读 »

【环信集成笔记】入门篇-分享一些ios集成小技巧

这段时间由于家里的事和工作上的项目太忙好久没写东西了,,,今天先说说集成环信的经验吧,也许会很乱,我会慢慢修改的。新手一枚第一次集成环信,咱们慢慢看算是我自己的一个整理。   一、准备工作: 1.环信官网http://www.easemob.com 也可以百...
继续阅读 »
这段时间由于家里的事和工作上的项目太忙好久没写东西了,,,今天先说说集成环信的经验吧,也许会很乱,我会慢慢修改的。新手一枚第一次集成环信,咱们慢慢看算是我自己的一个整理。
 
一、准备工作:

1.环信官网http://www.easemob.com 也可以百度环信还是很好找的。

2.苹果账号,因为集成即时聊天要推送证书所以必须有账号,证书制作我就不在这里说了,可以上网查。

3.在环信创建APP上传推送证书,这样可以了过程很简单的(appkey,推送证书名是有用的可以先记录)。

二、开始集成

1.这里总的说一下

第一点环信提供两套SDK,一套带有实时语音(打电话)版本HyphenateFullSDK,一套没有的HyphenateSDK,正常不是专门聊天的APP都是不用实时语音功能的。

第二点环信给了一套做好的UI叫EaseUI,可以用能减少很多时间,特别是聊天页面自己写比较麻烦,特别是EASYUI中的Model写的都不错。

第三点集成方式可以手动集成SDK,可以用pod集成,手动集成就不说了,下面给出pod命令
pod 'HyphenateSDK', :git => 'https://github.com/easemob/hyphenate-cocoapods.git'
pod 'HyphenateFullSDK', :git => 'https://github.com/easemob/hyphenate-full-cocoapods.git'
pod 'EaseUI' //这个环信官网上没有是我在环信的git上找到的。
这里有一点注意的地方,如果你用pod集成,注意pod更新是会吧你改动的代码刷新掉,可以不直接用EaseUI里的东西,可以写子类,或者刷新掉了,可以用git或者svn,还原修改,这样就能回来了。
这样我们就把SDK集成到我们的项目了。

第四点什么改APP端做什么该服务端做,服务端做的其实很少,只有两个,第一注册环信,这部分一般式绑定在我们注册当前APP用户的要查询服务端数据库,所以服务端做,第二,好友关系,环信用户之间聊天是不需要好友关系的,所以决定了好友关系这部分可以直接用我们的服务端维护。这两点以外,其他的都是我们APP端做,,,

2.开始代码部分(这部分代码前提集成了HyphenateSDK和EaseUI)

首先在AppDelegate中注册环信,直接可用EaseUI中的注册方法

一,注册环信
/*!

* APP启动时注册环信,并登陆当前用户(如果有用户的话)

*

* @param application application description

* @param launchOptions launchOptions description

*/

-(void)startHuanXinEasyUIUseapplication:(UIApplication *)application Options:(NSDictionary *)launchOptions{

//AppKey:注册的AppKey,详细见下面注释。

//apnsCertName:推送证书名(不需要加后缀),详细见下面注释。

NSString *apnsCertName = nil;

#if DEBUG

apnsCertName = @"开发环境测试证书";

#else

apnsCertName = @"发布环境证书";

#endif

//环信appkey存放在UserDefaults

NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];

NSString *appkey = [ud stringForKey:@"identifier_appkey"];

if (!appkey) {

appkey = @"appkey";

[ud setObject:appkey forKey:@"identifier_appkey"];

}

//利用EasyUI启动环信(这里有一个坑,下面这个注册方法,点进去看会吧用户是否同意被加进群组改成NO,这里会导致群组加不上,记得看看,改回来)

[[EaseSDKHelper shareHelper] easemobApplication:application

didFinishLaunchingWithOptions:launchOptions

appkey:appkey

apnsCertName:apnsCertName

otherConfig:@{kSDKConfigEnableConsoleLogger:[NSNumber numberWithBool:YES]}];

//判断当前是否有用户,有用户登陆环信

if (DEF_PERSISTENT_GET_OBJECT(@"userId") != nil && DEF_PERSISTENT_GET_OBJECT(@"userPwd") != nil) {

NSString *accound = [NSString stringWithFormat:@"%@",DEF_PERSISTENT_GET_OBJECT(@"userId")];

NSString *pwd = [NSString stringWithFormat:@"%@",DEF_PERSISTENT_GET_OBJECT(@"userPwd")];

EMError *error = [[EMClient sharedClient] loginWithUsername:accound password:pwd];

[[EMClient sharedClient] addDelegate:self];

if (!error) {

NSLog(@"登录成功");
}
}
}
二、环信好友

聊天就得有好友,刚开始总述中说过好友是咱们服务器来维护的所以不用管,走一个接口就好了,因为我们集成EasyUI所以我们从接口中请求的数据最好都变成EasyUI中用户的Model(EaseUserModel),这样在用环信聊天的是不会那么麻烦,也可以自己写一个Model这样麻烦但是不乱,
#import <Foundation/Foundation.h>

#import "IUserModel.h"

@interface EaseUserModel : NSObject<IUserModel>

@property (strong, nonatomic, readonly) NSString *buddy;//用户名
@property (strong, nonatomic) NSString *nickname;//名字
@property (strong, nonatomic) NSString *avatarURLPath;//头像地址
@property (strong, nonatomic) UIImage *avatarImage;//头像图片

- (instancetype)initWithBuddy:(NSString *)buddy;

@end
中用户名是最有用的是直接用于创建聊天的,名字头像用处不大,因为这些存储都是在本地的,地方一改名字头像你这面可能没反应所以不用这个头像名字,都是使用消息中的扩展字段下面说。

三、环信聊天

聊天界面我推荐直接用EasyUI的,自己写各种消息cell实在麻烦,使用这个直接就是可以聊天的创建方法如下
EaseMessageViewController *viewController = [[EaseMessageViewController alloc] initWithConversationChatter:@"聊天对象的id,或者群组的id" conversationType:聊天的类型(单聊,群聊,聊天室)];
四、环信聊天消息重点*

在发消息过程中是不能传递用户名和头像的,所以我们要给消息添加扩展字段ext,(扩展字段可以其实就是发送消息是附带传递一个json数据),我们可以吧自己的头像和名字在每次发消息的时候发过去,这样聊天时,当前本人可以知道自己的名字和头像,聊天对方会在消息中发过来名字头像,这样两个人都有名字头像了,下面贴下我的扩展字段
- (void)_sendMessage:(EMMessage *)message //发消息的总方法
{
message.ext = @{@"nikeName":_myNikeName,@"headImagePath":_myHeadImagePath}; //添加消息扩展,我的名字,我的头像

if (self.conversation.type == EMConversationTypeGroupChat){
message.chatType = EMChatTypeGroupChat;
}
else if (self.conversation.type == EMConversationTypeChatRoom){
message.chatType = EMChatTypeChatRoom;
}

[self addMessageToDataSource:message
progress:nil];

__weak typeof(self) weakself = self;
[[EMClient sharedClient].chatManager asyncSendMessage:message progress:nil completion:^(EMMessage *aMessage, EMError *aError) {
[weakself.tableView reloadData];
}];
}
五、消息列表

消息列表的获取用环信的获取方法
- (void)tableViewDidTriggerHeaderRefresh
{
NSArray *conversations = [[EMClient sharedClient].chatManager getAllConversations];//本地获取消息
NSArray* sorted = [conversations sortedArrayUsingComparator:
^(EMConversation *obj1, EMConversation* obj2){
EMMessage *message1 = [obj1 latestMessage];
EMMessage *message2 = [obj2 latestMessage];
if(message1.timestamp > message2.timestamp) {
return(NSComparisonResult)NSOrderedAscending;
}else {
return(NSComparisonResult)NSOrderedDescending;
}
}];
[self.tableView endHeaderFresh];
[self.tableView reloadData];
}
这里有一个地方,再获得会话列表的时候,有几个数据要自己获取一下,头像,名字,最后一条消息内容,最后一条消息时间,消息未读数。其中消息未读数事环信帮我们做好的直接设置显示未读数就好
其中消息最后一条消息内容,最后一条消息时间。要我们获取最后一条消息在给其赋值
//在tableView代理中写
cell.detailLabel.attributedText = [[EaseEmotionEscape sharedInstance] attStringFromTextForChatting:[self _latestMessageTitleForConversationModel:model]textFont:cell.detailLabel.font];
cell.timeLabel.text = [self _latestMessageTimeForConversationModel:model];

//获取最后一条消息内容
- (NSString *)_latestMessageTitleForConversationModel:(id<IConversationModel>)conversationModel
{
NSString *latestMessageTitle = @"";
EMMessage *lastMessage = [conversationModel.conversation latestMessage];
if (lastMessage) {
EMMessageBody *messageBody = lastMessage.body;
switch (messageBody.type) {
case EMMessageBodyTypeImage:{
latestMessageTitle = NSEaseLocalizedString(@"message.image1", @"[image]");
} break;
case EMMessageBodyTypeText:{
NSString *didReceiveText = [EaseConvertToCommonEmoticonsHelper
convertToSystemEmoticons:((EMTextMessageBody *)messageBody).text];
latestMessageTitle = didReceiveText;
} break;
case EMMessageBodyTypeVoice:{
latestMessageTitle = NSEaseLocalizedString(@"message.voice1", @"[voice]");
} break;
case EMMessageBodyTypeLocation: {
latestMessageTitle = NSEaseLocalizedString(@"message.location1", @"[location]");
} break;
case EMMessageBodyTypeVideo: {
latestMessageTitle = NSEaseLocalizedString(@"message.video1", @"
[video]");
} break;
case EMMessageBodyTypeFile: {
latestMessageTitle = NSEaseLocalizedString(@"message.file1", @"[file]");
} break;
default: {
} break;
}
}
return latestMessageTitle;
}

//获取最后一条消息时间
- (NSString *)_latestMessageTimeForConversationModel:(id<IConversationModel>)conversationModel
{
NSString *latestMessageTime = @"";
EMMessage *lastMessage = [conversationModel.conversation latestMessage];;
if (lastMessage) {
double timeInterval = lastMessage.timestamp ;
if(timeInterval > 140000000000) {
timeInterval = timeInterval / 1000;
}
NSDateFormatter* formatter = [[NSDateFormatter alloc]init];
[formatter setDateFormat:@"YYYY-MM-dd"];
latestMessageTime = [formatter stringFromDate:[NSDate dateWithTimeIntervalSince1970:timeInterval]];
}
return latestMessageTime;
}[/video]




至于头像名字则要我们使用我没发消息的扩展字段,
这里我们可以获取会话中最后一条来自对方的消息,然后取出扩展字段赋值就好,(ps:有一种情况我刚刚和一个人说话会话中没有来自对方的最后一条消息,这个时候我们要用我们本地自己赋值这个会话的头像和名字)

三、总结

恩,这是这个杂记的第一次写的东西,写了写基本的用法,简单的聊天功能,写的也比较乱,,我会慢慢整理修改的。
 
作者简介:我是windKing,一个iOS开发的小白希望能有一样的人和我一起成长。看的过程中有不明白的地方欢迎联系我qq1662628982。 收起阅读 »

环信通过工信部“可信云”企业级SaaS认证

 面对企业级SaaS市场飞速发展、产品和服务质量参差不齐的现状,中国信息通信研究院(工信部电信研究院)推出了“可信云”认证服务来规范企业级SaaS市场。9月10日,环信通过由数据中心联盟组织,中国信息通信研究院测试的面向云计算服务的“可信云”认证,环信成功晋升...
继续阅读 »
 面对企业级SaaS市场飞速发展、产品和服务质量参差不齐的现状,中国信息通信研究院(工信部电信研究院)推出了“可信云”认证服务来规范企业级SaaS市场。9月10日,环信通过由数据中心联盟组织,中国信息通信研究院测试的面向云计算服务的“可信云”认证,环信成功晋升为首批通过“可信云”认证的SaaS客服标杆企业。


14738216458704.png


环信移动客服通过“可信云”企业级SaaS认证
 

  • 环信可用性高达3个9+严苛数据安全标准



工信部“可信云”认证报告指出环信企业级SaaS服务在数据存储的持久性、数据可销毁性、数据可迁移性、数据私密性、数据知情权、服务可审查性、服务功能、服务可用性、服务资源调配能力、故障恢复能力、网络接入性能、服务计量准确性、服务变更终止条款、服务赔偿条款、用户约束条款、服务商免责条款、服务安全性、用户体验性能等指标均满足可信云服务认证要求。

其中,服务的可用性和数据的安全性是“可信云”的评测考量重点。环信移动客服服务通过测试可用性不低于99.9%,并同时保证每个请求服务器响应时间在1秒以内。

在安全性方面,环信更是遵循严苛的数据安全标准,例如:

  1、代码全面通过Sonar的安全检测;

  2、用户信息的存储和传输经过加密;

  3、数据以字节为单位不丢失(99.9999%);

  4、数据隔离保证不同用户之间的数据互不可见;

  5、在用户使用服务时,环信不存储用户密钥,除收集必要的运行指标数据外不访问用户的其它数据,并从制度上确保所有运维人员的规范操作等。

除此之外,环信完善的多级售后服务支持体系,和快速故障恢复能力,确保用户体验达到极致。 

  • “可信云”成功写入国际标准,为用户选型保驾护航



近日,ITU(国际电信联盟)在其网站上正式发布“云计算框架及高层需求ed2版本”,标志着由中国信息通信研究院(工信部电信研究院)牵头的三个提案:可信云服务定义、需求和场景成功写入国际标准。自2013年开始的可信云服务认证经过两年多的发展,已正式进入3.0体系建设阶段,增加可信云金牌运维专项评估以及可信云安全评估,形成了IaaS/PaaS和企业级SaaS两套评估标准,基本实现了对业界主流云服务类型的全覆盖。

如今,可信云服务认证的标准正变得日益严苛,仅可信云服务认证测评内容就包括云主机服务、对象存储服务、在线应用服务等11部分、共16项指标的测评,涵盖了云服务商需要向用户承诺或告知(基于服务SLA)的90%的问题。可信云认证的平均通过率并不高,其中第六批可信云认证通过率仅为38%。环信移动客服通过本次“可信云”认证也和环信不断在产品技术和服务上精益求精不断投入海量资源密不可分。

可信云服务认证体系的日臻完善,一方面意味着云计算产业发展的逐渐成熟;另一方面也意味着将有越来越多的像环信这样的云服务商将进一步加强对云计算安全性和服务可用性方面的投入。对于用户而言安全和可用性无疑是决定云计算选型的两大最重要考量指标,而可信云服务认证则更像一个标尺,让用户选型从此不再有安全和可用性方面的后顾之忧。
 

  • 关于环信:



环信移动客服——全媒体智能云客服倡领者,于2016年荣膺“Gartner 2016 Cool Vendor”。环信支持全媒体接入,包括网页在线客服、社交媒体客服(微博、微信)、APP内置客服和呼叫中心等多种渠道均可一键接入。基于环信业界领先的IM长连接技术保证消息必达,并通过智能客服机器人技术降低人工客服工作量。同时,基于人工智能和大数据挖掘的客户旅程透析产品"环信客户声音"能够帮助企业优化运营,提高跨渠道客服体验。

截至2016年上半年,环信移动客服共服务了29437家企业用户,现已覆盖包括电商、O2O、互联网金融、在线教育、在线旅游、移动医疗、智能硬件、游戏等领域的Top10客户,典型用户包括国美在线、58到家、楚楚街、海尔、神州专车、新东方、链家、泰康在线、号码百事通等众多标杆企业。根据易观发布的《中国SaaS客服市场专题研究报告》显示,环信移动客服在SaaS移动端客服用户覆盖占比高达77.4%,稳居行业第一。 收起阅读 »

中秋节快乐

“中秋节快乐”短短5个字凝聚了环信对小伙伴们最深沉的祝福与爱!!!  
“中秋节快乐”短短5个字凝聚了环信对小伙伴们最深沉的祝福与爱!!!



46期_社区活动.jpg


 

猿生态十城巡回沙龙丨武汉站

最前沿的AI科技,最尖端的测试技术,最火爆的开源项目 猿生态携手微软、Testin、环信 武汉,我们来了,无猿不生态 我们联合猿生态城市社群邀请数十位技术大咖 和你畅聊热门技术探讨行业发展趋势    活动时间地点: 9月24日  洪山区光谷资本大厦一...
继续阅读 »

640.jpg


最前沿的AI科技,最尖端的测试技术,最火爆的开源项目

猿生态携手微软、Testin、环信

武汉,我们来了,无猿不生态

我们联合猿生态城市社群邀请数十位技术大咖

和你畅聊热门技术探讨行业发展趋势 
 
活动时间地点:


9月24日  洪山区光谷资本大厦一楼光谷创业咖啡


活动议程


13: 00 – 13: 30 活动签到

13: 30 – 16: 30 技术分享 + 实战演示

16: 30 – 17: 00 抽奖 + 自由交流


讲师介绍

6401.jpg



6140.jpg



64401.jpg


Tips


✦自带电脑:在实战演示环节,讲师们将带领大家现场写代码、做demo,建议带上电脑。
✦ AA餐会:活动结束后,与讲师和现场小伙伴们共进晚餐,交流、交友~~活动现场报名喔;-)




6440.jpg


本场活动将通过云犀直播

在斗鱼、战旗、爱奇艺、熊猫TV等

多个平台全程同步直播

扫描下方二维码即可收看

6400.jpg



0640.jpg


✦✦✦✦✦✦✦✦




更多精彩即将上线



6402.jpg


点击报名 收起阅读 »

ios V2.3.2 Android V2.2.7 release ,增加移动端与web消息同步

Android V2.3.2更新日志 新功能/改进: web端和手机端同时登陆时可以同步接收自己在另外一端发送的消息增加被kill后自启动的概率,需要在mianifests文件中加上以下声明  <service android:na...
继续阅读 »

81Q58PICRsN_1024.jpg


Android V2.3.2更新日志


新功能/改进:

  1. web端和手机端同时登陆时可以同步接收自己在另外一端发送的消息
  2. 增加被kill后自启动的概率,需要在mianifests文件中加上以下声明 

<service
android:name="com.easemob.chat.EMJobService"
android:permission="android.permission.BIND_JOB_SERVICE"
android:exported="true"
/>

Bug Fix:
  1. 修复没有启动守护进程的bug


iOS​ V2.2.7更新日志


SDK细节调整:

  1. SDK中检查附件大小,附件大小不恰当时返回错误
  2. 群组批量加人时合并了加人请求,避免耗时随着人数增加
  3. 改善会话加载消息时的性能


版本历史:Android sdk更新日志  ios sdk更新日志
下载地址:环信SDK下载

 
使用过程中有遇到任何问题、反馈建议欢迎直接评论留言,我们将第一时间回复! 收起阅读 »

环信SDK集成日记-自定义消息工具条和表情键盘

今天看了下环信SDK聊天模块下封装的自定义消息工具条以及表情键盘,了解了下iOS自带表情的转码。顺[b]带记录下集成环信SDK遇到的坑。[/b]一、DXMessageToolBar工具条的封装 DXMessageToolBar是加在聊天页面底部的消息工具条,...
继续阅读 »
今天看了下环信SDK聊天模块下封装的自定义消息工具条以及表情键盘,了解了下iOS自带表情的转码。顺[b]带记录下集成环信SDK遇到的坑。[/b]
一、DXMessageToolBar工具条的封装

DXMessageToolBar是加在聊天页面底部的消息工具条,其负责控制四个控件:

1、录音视图DXRecordView
2、输入文本框XHMessageTextView
3、表情键盘DXFaceView
4、更多视图DXChatBarMoreView

DXMessageToolBar不仅要控制这四个UIView之间的切换,负责正确改变视图的位置与大小,还要将一系列的动作事件通过委托传到聊天页面控制器ChatViewController中去处理。

DXRecordView是录制音频的时候展示的视图,通过不断检测音量大小来展示不同的UIImage从而达到动态效果。

XHMessageTextView是继承自UITextView的,其中实现了自定义placeHolder的颜色,由于修改placeHolder是私有方法,因此这里换了种方式实现,那就是通过重写drawRect:方法,在其中将placeHolder绘制到UITextView上面。

DXFaceView表情键盘,它上面加了FacialView。FacialView上面放置了一些列的UIButton,UIButton的标题设置为iOS自带的表情。

DXChatBarMoreView更多视图,上面添加从相册选择照片,调用相机拍摄照片等按钮。

二、表情键盘的封装

表情键盘上放置了一些iOS自带的表情,而且在最后加了一个发送按钮和一个删除按钮,如图:


141604-f58b918d4fb3aad0.jpg


点击对应的表情,将表情字符串添加到文本框中。点击删除按钮通过委托调用了DXMessageToolBar的方法,其实现方式:
- (void)selectedFacialView:(NSString *)str isDelete:(BOOL)isDelete
{
NSString *chatText = self.inputTextView.text;

if (!isDelete && str.length > 0) {
self.inputTextView.text = [NSString stringWithFormat:@"%@%@",chatText,str];
}
else {
if (chatText.length >= 2)
{
NSString *subStr = [chatText substringFromIndex:chatText.length-2];
if ([(DXFaceView *)self.faceView stringIsFace:subStr]) {
self.inputTextView.text = [chatText substringToIndex:chatText.length-2];
[self textViewDidChange:self.inputTextView];
return;
}
}

if (chatText.length > 0) {
self.inputTextView.text = [chatText substringToIndex:chatText.length-1];
}
}

[self textViewDidChange:self.inputTextView];
}
由此可见一个表情字符串占两个字符的长度,所以要在点击删除按钮之后判断文本框当前字符串的末尾处是否是表情。

三、iOS自带表情的转码

每个表情都有它自己的编码,通过编码可以拿到它对应的表情字符串:
#import <Foundation/Foundation.h>

#define MAKE_Q(x) @#x
#define MAKE_EM(x,y) MAKE_Q(x##y)

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunicode"
#define MAKE_EMOJI(x) MAKE_EM(\U000,x)
#pragma clang diagnostic pop

#define EMOJI_METHOD(x,y) + (NSString *)x { return MAKE_EMOJI(y); }
#define EMOJI_HMETHOD(x) + (NSString *)x;
#define EMOJI_CODE_TO_SYMBOL(x) ((((0x808080F0 | (x & 0x3F000) >> 4) | (x & 0xFC0) << 10) | (x & 0x1C0000) << 18) | (x & 0x3F) << 24);

/*!
@class
@brief iOS内置表情编码处理类
*/
@interface Emoji : NSObject

/*!
@method
@brief unicode编码转换为iOS内置表情字符串
@discussion
@param code iOS内置表情对应的unicode编码值
@result iOS内置表情字符串
*/
+ (NSString *)emojiWithCode:(int)code;

/*!
@method
@brief 获取所有iOS内置表情
@discussion
@result iOS表情字符串数组
*/
+ (NSArray *)allEmoji;
@end

#import "Emoji.h"
#import "EmojiEmoticons.h"

@implementation Emoji
+ (NSString *)emojiWithCode:(int)code {
int sym = EMOJI_CODE_TO_SYMBOL(code);
return [[NSString alloc] initWithBytes:&sym length:sizeof(sym) encoding:NSUTF8StringEncoding];
}
+ (NSArray *)allEmoji {
NSMutableArray *array = [NSMutableArray new];
[array addObjectsFromArray:[EmojiEmoticons allEmoticons]];
return array;
}
@end
这里拿表情编码做一系列运算,然后传入[[NSString alloc] initWithBytes:&sym length:sizeof(sym) encoding:NSUTF8StringEncoding];生成对应的字符串的运算方法暂时没找到解释,没搞清楚运算原理。若哪位大神看到出处,敬请告知!

四、集成环信遇到的坑

1、显示用户头像和昵称

环信默认不显示头像和昵称,如果要显示头像,需要自己实现。这里要实现显示头像和昵称,需要发消息的时候在ext这个扩展字段中加入和Android约定好的字段,在接收到消息的时候将这些字段保存到本地数据库中。

这里特别需要注意的一点是:在读取本地数据库的时候,是通过chatter来匹配的话,记得环信的chatter在保存的时候都做了小写处理。所以,在数据库中匹配的时候,最好是大小写不敏感的匹配方式:
NSString *sql = [NSString stringWithFormat:@"select * from %@ 
where upper(chatter)=upper('%@')",_tbName,chatter];
2、自定义推送内容

环信默认推送内容是“你有一条新的消息”,如果要自定义内容,需要在在ext扩展字段中添加以下字段:
@"em_apns_ext":@{                           
@"em_push_title":文本内容
},
3、发送用户信息给客服

如果要在用户跟客服聊天时能在客服后台看到当前用户的一些基本信息,需要在ext扩展字段中添加以下字段(比如需要用户手机号码和名字):
@"weichat":@{
@"visitor":@{
@"phone":userPhone,
@"userNickname":userNickName,
}
},
4、发送用户轨迹给客服

如果要在用户点击客服咨询时,比如是点击职位下面的咨询,想将当期职位的信息发给客服,那就是环信的发送用户轨迹信息。这个时候在进入聊天页面时需要单独处理,自动发送一个自己封装的信息:
-(void)sendJobInfo:(YLJob *)aJob
{
NSMutableDictionary *ext = [NSMutableDictionary dictionary];
NSDictionary *msgtype = @{@"track":@{@"title":aJob.title?:@"",
@"item_url":aJob.link?:@""}};
[ext setObject:msgtype forKey:@"msgtype"];

EMChatText *text = [[EMChatText alloc] initWithText:[NSString stringWithFormat:@"我想咨询 %@",aJob.title?:@""]];
EMTextMessageBody *body = [[EMTextMessageBody alloc] initWithChatObject:text];
EMMessage *message = [[EMMessage alloc] initWithReceiver:_chatter bodies:[NSArray arrayWithObject:body]];
message.ext = ext;
[[EaseMob sharedInstance].chatManager asyncSendMessage:message progress:nil];

}
这里只是简单的使用了环信已经封装好的文本消息的接口,并且在聊天页面的展示方式也将是纯文本的方式Cell的展现方式。如果要以其他样式的Cell展示,需要自定义Cell,并且在展示的时候根据ext中的字段来判断是否是这种自定义消息。

其他具体可用字段名称,请登录环信官网查看官方文档。

参考:
以下是Emoji的表情编码对照表:
Emoji Unicode Tables
 
作者:Code_Ninja 收起阅读 »

【环信集成笔记】进阶篇-集成环信 ios 2.0,看这篇就够了

一、准备工作   1、注册环信帐号注册一个环信账号之后,我们用注册的帐号登陆。然后创建一个应用,会得到一个对应的AppKey,这个AppKey在初始化环信SDK的时候需要用到。(这个去环信官网自己弄环信)   2、制作推送证书如果需要做离线推送的功能,需要制作...
继续阅读 »
一、准备工作
 
1、注册环信帐号注册一个环信账号之后,我们用注册的帐号登陆。然后创建一个应用,会得到一个对应的AppKey,这个AppKey在初始化环信SDK的时候需要用到。(这个去环信官网自己弄环信)
 
2、制作推送证书如果需要做离线推送的功能,需要制作一个推送证书。如果只是需要实现单聊、群聊等功能,可以跳过此步骤。个人建议刚开始接触环信的开发者可以忽略此步骤。制作证书
 
3、下载环信sdk.下的是2.0

2267403-9029e76fb6048493.jpg



二、集成环信的SDK

1、把环信SDK添加到工程中

从环信官网下载下来的是一个压缩包,解压之后,把我们需要的环信SDK,即EaseMobSDK这个文件夹,整个的拖入到我们的工程中。如下图:

2267403-2b2574629722ab00.jpg


在lib文件夹下面有两个静态库,只需要用到一个,根据你的需求选择。
libEaseMobClientSDKLite.a不包含实时语音功能,libEaseMobClientSDK.a包含所有功能。
2、添加对应的依赖库

向Build Phases → Link Binary With Libraries 中添加依赖库
  1. MobileCoreServices.framework
  2. CFNetwork.frame
  3. libsqlite3.tbd
  4. libstdc++.6.0.9.tbd
  5. libz.tbd
  6. libiconv.tbd
  7. libresolv.tbd
  8. libxml2.tbd

温馨提示:注意不要添加错了,也不能添加少了,添加完毕之后,不要着急,先编译一下。编译成功,则说明没有问题;如果编译报错,则仔细对照上面例举的静态库进行添加,直到编译成功,再进行下一步。
 
3、配置工程
 
3.1 不包含语音静态库的配置方法
(1) 删掉libEaseMobClientSDK.a,保留libEaseMobClientSDKLite.a;
(2) 在Build Settings -> Other Linker Flags 添加”fore_load”和”libEaseMobClientSDKLite.a”的相对路径。
如下图所示:

2267403-18e5a986d5358977.jpg


3.2 包含语音静态库的配置方法

(1) 删掉libEaseMobClientSDKLite.a,保留libEaseMobClientSDK.a;

(2) 在Build Settings -> Other Linker Flags 添加”-ObjC”。

如下图所示:

2267403-9aa919e2913c9de1.jpg


4、验证SDK是否添加成功
在AppDelegate.m文件中添加环信SDK初始化的方法,记得添加头文件”EaseMob.h”。下面提供了我用的测试AppKey,你可以替换成你自己申请的AppKey。编译成功,则说明你已经正确集成了环信的SDK了。
 
如果编译有问题,可能存在的原因:
(1) 静态库没有添加正确;
(2) 静态库工程配置不正确
#define APPKEY      @"1101#testrongyun"     //环信APPKEY
#define APNSCert @"TestHuanXin" //环信推送证书名称
#import "AppDelegate.h"
#import "EaseMob.h"
@interface AppDelegate ()
@end
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//初始化环信SDK
[[EaseMob sharedInstance] registerSDKWithAppKey:APPKEY apnsCertName:APNSCert];
return YES;
}






三、添加UI文件到你的工程

集成环信2.0UI文件,需要添加的文件,如下图所示:

2267403-8f645439e0dface8.jpg


添加完成之后,如下图所示:

2267403-b2667ca172b29da9.jpg


四、设置pch文件的路径
 
文件添加成功之后,编译会报错,因为你没有添加pch文件。自己手动添加pch文件(EaseUI-Prefix.pch),设置一下pch文件的加载路径即可。如下图所示:

2267403-da9cd01f79acf31a.jpg


在EaseUI-Prefix.pch中添加头文件”EaseUI.h”,如下图:

2267403-0280af41aced006c.jpg


最后,编译一下,编译成功则说明添加集成UI文件成功。
 
五,搭建基本框架
 
1、新建三个UIViewController
 
新建三个ViewController,继承UIViewController,分别命名为:FirstViewController,SecondViewController,ThirdViewController。如下图所示


2267403-ad785fff16328185.jpg


2、添加登陆方法

在AppDelegate.m中添加如下代码:
#define APPKEY      @"1101#testrongyun"     //环信APPKEY
#define APNSCert @"TestHuanXin" //环信推送证书名称
#import "AppDelegate.h"
#import "EaseMob.h"
#import "FirstViewController.h"
#import "SecondViewController.h"
#import "ThirdViewController.h"
@interface AppDelegate ()
@end
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
//初始化环信SDK
[[EaseMob sharedInstance] registerSDKWithAppKey:APPKEY apnsCertName:APNSCert];
//异步登陆的方法(这里的账号密码要去环信后台自己注册)
[[EaseMob sharedInstance].chatManager asyncLoginWithUsername:@"账号" password:@"密码" completion:^(NSDictionary *loginInfo, EMError *error) {
if (!error && loginInfo) {
NSLog(@"登陆成功");
[self setUpNav];
}
} onQueue:nil];
return YES;
}
- (void)setUpNav
{
FirstViewController *firstVC = [[FirstViewController alloc] init];
SecondViewController *secondVC = [[SecondViewController alloc] init];
ThirdViewController *thirdVC = [[ThirdViewController alloc] init];
firstVC.title = @"会话列表";
secondVC.title = @"通讯录";
thirdVC.title = @"设置";
UITabBarController *tabBar = [[UITabBarController alloc] init];
tabBar.viewControllers = @[[[UINavigationController alloc] initWithRootViewController:firstVC],
[[UINavigationController alloc] initWithRootViewController:secondVC],
[[UINavigationController alloc] initWithRootViewController:thirdVC]];
self.window.rootViewController = tabBar;
self.window.backgroundColor = [UIColor whiteColor];
}
@end
编译一下,看下效果。

2267403-687ab41414eac944.png


六、添加与聊天有关的文件

1、添加GifImage文件2、添加chat文件

2267403-7543120b78599164.jpg



2267403-fc7cc6d2aac8ddb8.jpg


添加完成之后,编译一下,把报错的地方全部注释掉,有很多地方需要注释掉,这些地方是因为有些我们不需要的文件没有添加进来。(自己注释比较麻烦)
 
注释好的GifImage和chat文件,下载后无需注释无关代码,可直接使用注释好的文件,
 
七、实现单聊在SecondViewController.m中添加如下代码:
#import "SecondViewController.h"#import "ChatViewController.h"@interface SecondViewController (){
NSArray *arrSystem;
NSArray *arrFriends;
}
@property (retain, nonatomic) UITableView *tableView;
@end
@implementation SecondViewController
- (void)viewDidLoad {
[super viewDidLoad];
arrSystem = @[@"申请与通知",@"群聊",@"聊天室"];
_tableView = [[UITableView alloc] initWithFrame:self.view.frame];
_tableView.delegate = self;
_tableView.dataSource = self;
[self.view addSubview:_tableView];
//获取好友列表
[[EaseMob sharedInstance].chatManager asyncFetchBuddyListWithCompletion:^(NSArray *buddyList, EMError *error) {
if (!error) {
NSLog(@"获取成功 -- %@",buddyList);
arrFriends = [NSArray arrayWithArray:buddyList];
[_tableView reloadData];
}
} onQueue:nil];
}
#pragma mark - UITableViewDelegate & UITableViewDataSource
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 2;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
if (section == 0) {
return arrSystem.count;
} else {
return arrFriends.count;
}
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *identifier = @"CELL";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier];
}
switch (indexPath.section) {
case 0:
{
cell.textLabel.text = [arrSystem objectAtIndex:indexPath.row];
cell.imageView.image = [UIImage imageNamed:@"groupPublicHeader"];
break;
}
case 1:
{
EMBuddy *eMBuddy = [arrFriends objectAtIndex:indexPath.row];
cell.textLabel.text = eMBuddy.username;
cell.imageView.image = [UIImage imageNamed:@"chatListCellHead"];
break;
}
default:
break;
}
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
EMBuddy *buddy = [arrFriends objectAtIndex:indexPath.row];
ChatViewController *chatVC = [[ChatViewController alloc] initWithConversationChatter:buddy.username conversationType:eConversationTypeChat];
chatVC.title = buddy.username; //好友的名字
chatVC.hidesBottomBarWhenPushed = YES;
[self.navigationController pushViewController:chatVC animated:YES];
}
编译,效果

2267403-b19aab1a08432dfb.png



2267403-f96603327daee041.png


真机运行一下,可能会报错,


2267403-683387308562a7d6.jpg


解决方案:

2267403-4a01a8288cd4c024.jpg


把这个值设置成no

文章作者:环信热心用户樊呵呵 收起阅读 »

环信与微博达成合作,作为唯一合作伙伴为微博用户提供全媒体智能SaaS客服

近日,新浪微博和环信达成合作协议,环信客服产品作为合作伙伴,将为微博数百万认证帐号提供以移动端为核心的全媒体智能SaaS客服产品,帮助其提高客服效率和多端客服接入的用户体验。相比传统客服软件,SaaS客服具有极简部署、按需付费、弹性扩容、低价高质等天然优势。 ...
继续阅读 »

31hh-fxvqcts9735195.png


近日,新浪微博和环信达成合作协议,环信客服产品作为合作伙伴,将为微博数百万认证帐号提供以移动端为核心的全媒体智能SaaS客服产品,帮助其提高客服效率和多端客服接入的用户体验。相比传统客服软件,SaaS客服具有极简部署、按需付费、弹性扩容、低价高质等天然优势。

据DCCI数据,微博已成为用户生活中一个非常重要的社交媒体,日均使用时长在20分钟以上的用户占91%,仅次于即时通讯工具。同时,中国及全球的社交网络营销整体均有待挖掘,广告价值不断凸显,无论是Facebook、Twitter,还是微博和微信,社交广告的发展仍具有较大空间。最新财报显示,微博的大客户和中小企业客户的广告营收的强劲增长,彰显了微博对多样化客户群的巨大平台价值。此次和环信移动客服的强强联手,将进一步完善微博的社会化营销及服务体系。

传统客服服务面临诸多挑战

作为微博商业化进程的中坚力量,微博数百万认证帐号一直存在着提高曝光机会、加强变现能力等几大刚需,而提高客服效率能有效帮助这些帐号提高粉丝活跃度、增加曝光机会,从而具备更强的变现能力。

在改善客服体验方面,传统模式有许多需要提升的地方:

1,对于普通蓝V和橙V用户,客服咨询可能来自微博私信、评论以及@,没有统一渠道来收集和处理信息,咨询量稍微大一点就容易导致客服人员顾此失彼,回复不及时用户体验差等问题。

2,对于动辄十万、百万甚至千万级粉丝的超级蓝V和橙V用户,每日面对海量的信息咨询必然需要借助粉服开发者模式集成第三方专业客服工具,但是集成有门槛,需要技术研发团队支持解决集成问题。

3,面对日益增长的粉丝,如何用有限的客服人员服务好不断增长的海量客服请求,需要借助智能客服机器人技术。

4,部分用户同时多人维护多个蓝V和橙V账号,来回切换账号容易导致信息丢失且工作效率低。

相当一部分帐号急需一款集成简单、支持多渠道接入、支持智能客服机器人、支持多客服协同、能排班分组转接、能KPI绩效考核以及更有效率的专业客服工具,主打全媒体智能技术的环信移动客服应运而生。

为此,环信与微博正式达成合作,为微博商业生态提供全媒体智能客服系统,提升微博的服务效率。微博相关客户不需要额外技术支持集成开发,仅需注册绑定一个微博账户一切都可轻松搞定,所有来自微博私信、评论以及@的消息都能够统一平台一键接入,一键回复。

GArO-fxvukhx4701440.png


体验环信全媒体智能客服从绑定一个账号开始

环信为微博用户提供一站式的智能客服体验

1,支持微博@、评论、私信信息,均可一键接入,一键回复。同时,不同渠道的用户和内容均可以做标记、分类和整理。

2, 7×24小时环信智能客服机器人应答,有效缓解前期各类标准化重复性咨询问题。

3,支持多客服协同工作,支持多技能组,支持自定义会话分配策略。你可以多人支持一个微博客服,可以一人管理多个微博客服,也可多人同时管理多个微博客服。

3Arm-fxvukhx4701489.png


环信移动客服更多功能展示
 
不断开放壮大的微博商业生态

经过两年的发展,微博商业生态规模日益强大,商业生态也一直秉承以下三原则:1,加强广告自助投放能力与精细数据互换能力,构建能力自助化。2,提升微博开放能力,构建与加强微博内商业关系,辐射至微博外。3,接入更多第三方服务,以商业服务+基础服务共筑微博开放商业平台生态。

微博商业生态相关负责人表示:“此次和环信的合作代表着微博客服用户体验的一个全新的提升,未来微博商业开放平台将继续保持高度开放持续为微博与第三方创造共赢。”

即刻体验微博客服请点击:http://weibo.kefu.easemob.com/mo/login 收起阅读 »

环信通过工信部“可信云”企业级SaaS认证

【环信通过工信部“可信云”企业级SaaS认证】环信通过由数据中心联盟组织,工信部电信研究院测试评估的面向云计算服务的“可信云”评估认证。环信企业级SaaS服务在数据存储的持久性、数据可销毁性、数据可迁移性、数据私密性、数据知情权、服务可审查性、服务功能、服务可...
继续阅读 »


ea790d9dgw1f7qsmxv5g4j20qo0zkqco.jpg


【环信通过工信部“可信云”企业级SaaS认证】环信通过由数据中心联盟组织,工信部电信研究院测试评估的面向云计算服务的“可信云”评估认证。环信企业级SaaS服务在数据存储的持久性、数据可销毁性、数据可迁移性、数据私密性、数据知情权、服务可审查性、服务功能、服务可用性、服务资源调配能力、故障恢复能力、网络接入性能、服务计量准确性、服务变更终止条款、服务赔偿条款、用户约束条款、服务商免责条款、服务安全性、用户体验性能等指标均满足可信云服务认证要求。 收起阅读 »

iOS 导入构建版本失败 上传求助 有人遇到过这样的问题吗

http://www.imgeek.org/article/825307914 因为项目只用到了环信的单聊,就借助大神的帖子集成的。一直都这样集成,以前上传的版本没事,昨天上传的时候发现问题了。问题是这样的 昨天上传App的时候,提交返回的结果一直和图片中的现...
继续阅读 »
http://www.imgeek.org/article/825307914 因为项目只用到了环信的单聊,就借助大神的帖子集成的。一直都这样集成,以前上传的版本没事,昨天上传的时候发现问题了。问题是这样的 昨天上传App的时候,提交返回的结果一直和图片中的现象一样。连着上传好多次都是这样,后来上传以前上架过的版本,结果连以前上架的版本导入构建版本都失败了。昨天纠结了一天,今天决定地毯式搜索哪里的问题,一个个导入的sdk,配合自己的代码打包上传测试。结果和自己的代码和集成的环信测试,打包出现这种情况了。然后就单独集成环信,自己一行代码不加,打包上传还是这种情况。。。。。。。。。。有遇到过的大神吗? 
 
这里是苹果给的回信内容
While processing your iOS app, 天使来了 1.1.1(10), errors occurred in the app thinning process, and your app couldn’t be thinned. If your app contains bitcode, bitcode processing may have failed. Because of these errors, this build of your app will not be able to be submitted for review or placed on the App Store. For information that may help resolve this issue, see Tech Note 2432.
 
target->build Settings里面的bitcode  我设置是NO的  因为项目里面也有极光推送 不设置NO的话  都没法编译 收起阅读 »

【环信集成笔记】进阶篇-关于环信EaseUI集成冲突问题以及解决办法

是不是在集成EaseUI的时候看到这个问题顿时就像砸了电脑。或者说你在百度之后,发现很多人出现这个问题,然后按照他们的思路去改来改去,改到最后还是没有成功;然后不知所措的移动着鼠标,一次又一次的运行,等着奇迹的出现? 或者又说 ,你在试了他们的方法之后然后C...
继续阅读 »

1677578-57c07efa4e1ded40.png


是不是在集成EaseUI的时候看到这个问题顿时就像砸了电脑。或者说你在百度之后,发现很多人出现这个问题,然后按照他们的思路去改来改去,改到最后还是没有成功;然后不知所措的移动着鼠标,一次又一次的运行,等着奇迹的出现?

或者又说 ,你在试了他们的方法之后然后Clean,rebuild,重启AndroidStudio之后,还是没用,还是这个错。

下面我就跟大家讲一下,怎么去解决这个错误

首先这个错误的原因是因为V4的包冲突,也就是说,如果你的主项目里面也有V4的包,EaseUI里面也有V4的包,那么久删除主项目里面的V4的包,这个是不会报错的,尽管删除,删除之后,再次运行项目,试试看,如果还是报这个错的话,那就把EaseUi里面的V4的包删除,然后


1677578-48790976631f9919.png


必须选择到EaseUI,然后选到Dependencies,再点击加号里面的Library dependency,进去之后


1677578-e32191fbb5c8407c.png


选择V4包OK就可以了,添加之后,再次运行项目,如果还是不行的话,别着急,继续往下看

1677578-b8bc8862272e6530.png


在app的配置文件里面的Android节点下加入图中的代码

dexOptions {
javaMaxHeapSize"4g"
}
aaptOptions.cruncherEnabled=false
aaptOptions.useNewCruncher=false


不管有没有用,你加入进去,然后再次运行项目,如果在不行的话,我想说你的运气真的好差。
 
 
在这里,很感谢某一个程序员的分享,这里还提供一个解决办法,就是删除easeui里面的谷歌服务的jar包,然后rebuild项目


运气差那就Clean,rebuild项目,或者更换EaseUI
 

 

如果还有问题的话 请加入 环信互帮互助-非官方 340452063  收起阅读 »

关于即时通讯服务器集成——文件下载的说明(错误代码404)

在环信官网上,对于文件下载,仅仅只给了一个示例URL,并不知道请求接口是什么方法,后来在github上看见了官方demo,上边写的为POST方法,当时也就没多想,相信官方给的,一个劲的检查自己的代码,完全没错,拼的URL在浏览器能够执行,所以开始怀疑是方法的问...
继续阅读 »
在环信官网上,对于文件下载,仅仅只给了一个示例URL,并不知道请求接口是什么方法,后来在github上看见了官方demo,上边写的为POST方法,当时也就没多想,相信官方给的,一个劲的检查自己的代码,完全没错,拼的URL在浏览器能够执行,所以开始怀疑是方法的问题,果断改了GET方法,其实明眼人一看就知道,从服务器来资源,用的是GET方法,但这个官方给的当然要信啊,这样就会误导一些刚刚开发的同仁。
所以,我想请官方在官网文件下载处,添加一下说明,另外修改github上的注释!

hx.png



hx2.png


  收起阅读 »

【推荐】两大APP与云账户红包SDK集成详情及Demon分享

云账户红包SDK3.0已经发布一段时间了! 就在本月,两家老牌重量级APP完成了云账户红包SDK的集成,经过双方严格的联合测试,现在正是发版了!他们就是“工作圈”&“超信”(IOS、安卓市场都可以下载哦,有兴趣的朋友们可以去市场里下载体验一下,绝对n...
继续阅读 »
云账户红包SDK3.0已经发布一段时间了!
就在本月,两家老牌重量级APP完成了云账户红包SDK的集成,经过双方严格的联合测试,现在正是发版了!他们就是“工作圈”&“超信”(IOS、安卓市场都可以下载哦,有兴趣的朋友们可以去市场里下载体验一下,绝对nice!)
可能有朋友不太了解这两个百万级用户的产品,这里我给大家正是介绍一下:
工作圈:
g工作圈是用友旗下畅捷通公司开发的一款企业移动办公平台,融合了企业经营管理所需的各项专业服务,是基于工作场景应用集成:公告、审批、任务、工作报告、签到、文件柜、电话会议、企业通讯录、圈子信息交流等组成的企业互联网应用,帮助企业提高沟通协作效率、简化工作流程、降低管理成本。让管理更简单,工作更轻松!
 
超信:
超信是一款基于手机通讯录的短信增强工具,安装超信既可以完美的取代系统短信功能,开机即用,更加简单便捷的与手机通讯录中的联系人互相手法短信。如果双方都安装超信,就能通过手机网络(WiFi、3G、GPRS)与您铜须路中的联系人发送(需小豪少量网络流量)信息、图片、语音和位置等多媒体文件。
以下是云账户在两个产品中的截图:
工作圈&云账户:
超信&云账户:
除了工作圈和超信之外,已经成功集成云账户红包SDK并发版上线的比较有代表性的APP有:拉拉公园、INVITE、全景图片、蜗牛睡眠、捷库工作、领公报等,正在集成中的APP有上百家,其中还有几位神秘大咖在享受我们的云服务和私有化部署服务,这里暂时先保持下神秘!
我们的原则是,先上线、再PR,少吹牛,多干实事!
另外,云账户红包SDK已经满足完美集成在市场上主流的IM,客服SaaS提供商环信、容联云通讯、融云、leancloud、亲加的产品中,开发者如果用了以上IM或客服产品,可以更加快速安全的接入!
云账户红包SDK,更详细的信息各位开发者可以访问云账户官网:www.yunzhanghu.com去了解,官网上提供Demo下载,帮助开发者们更好地体验我们的产品,毕竟“先尝后买,价格公道,童叟无欺” 收起阅读 »

【环信集成笔记】进阶篇-老司机录了几个视频带你做即时通讯

先定一个小目标,看完这几部视频你就会做即时通讯了! 本次集成指南包含集成步骤PPT、视频、视频中所用到的demo源码,覆盖Android_EaseUI,Android_SDK,OC_EaseUI,OC_SDK,Swift_EaseUI,Swift_SDK,上车...
继续阅读 »

即时通讯集成指南.png


先定一个小目标,看完这几部视频你就会做即时通讯了!
本次集成指南包含集成步骤PPT、视频、视频中所用到的demo源码,覆盖Android_EaseUI,Android_SDK,OC_EaseUI,OC_SDK,Swift_EaseUI,Swift_SDK,上车吧!

视频查看地址:IMGeek视频专区

观看视频过程中遇到问题欢迎在视频下方发帖咨询! 收起阅读 »

环信移动客服5.0旗舰版发布 --中国SaaS客服走入人工智能时代!

 2016年,“大众创业万众创新”进入深水区,随着消费升级以及人口红利逐渐消失等推动中国企业级服务取得了爆发式增长。同时,对比中美市场的差距,国内企业级服务市场正逐渐被业界认为是继搜索、电商、社交以后的第四次系统性机会,将有机会诞生下一代“BAT”,而作为企业...
继续阅读 »
 2016年,“大众创业万众创新”进入深水区,随着消费升级以及人口红利逐渐消失等推动中国企业级服务取得了爆发式增长。同时,对比中美市场的差距,国内企业级服务市场正逐渐被业界认为是继搜索、电商、社交以后的第四次系统性机会,将有机会诞生下一代“BAT”,而作为企业级服务的核心赛道之一的“SaaS客服”更是一座高达千亿规模的金矿。近日,荣膺Gartner 2016 Cool Vendor的企业级服务明星公司环信正式发布环信移动客服5.0旗舰版,包括客户声音、人机协作以及智能质检三大基于人工智能技术的增值服务功能,以及多达二十余项大的升级和更新,预示着中国SaaS客服正式走入人工智能时代。

201609061141301695.png


环信移动客服5.0旗舰版正式发布

环信认为:“以移动端为核心的全媒体接入,客户声音帮助企业实现跨媒体、跨渠道、跨部门的客户服务体验,以及智能客服机器人将成为SaaS客服软件的三大核心驱动力。”客户中心经过多年的发展,从单一的语音服务渠道进化成为多介质的全媒体服务渠道,并最终将发展成整合传播服务、营销、销售和产品用户体验为一体的互动中心。

一,基于人工智能及大数据挖掘,环信客户声音帮助企业识别和改善客户旅程的各个阶段。

全媒体客服的最佳体验不仅只是多渠道的接入和各个接入渠道之间的数据打通,更重要的是用户跨媒体、跨渠道、跨部门的体验和跟踪,在海量的数据中发现问题。而要做到这一点,企业首先需要理解客户到底体验到了什么。今天,全球来看,越来越多的企业正在通过构建一个有效的客户声音系统,来透析客户对企业产品和服务的准确体验,帮助企业识别和改善客户旅程的各个阶段。对企业而言,倾听客户声音的能力决定了他们在客户体验这个领域上的竞争力。
环信客户声音运用自然语言解析,人工神经网络深度学习等人工智能技术,对来自多种渠道的非结构化数据源进行客服业务的特征提取,主题聚类解析,情感分析建模。从而帮助企业挖掘和分析客户服务中的热点话题,发现服务运营问题,寻找畅销或问题产品,洞察销售机会。比如,在环信客户声音系统中,主题关键词热度越高,说明用户关注度就越高。关键词对应的情感越负面,说明用户的体验感就越差。企业可以优先解决用户最关心,体验感最差的产品和服务问题。环信客户声音系统可以帮助企业识别和改善客户旅程的各个阶段。


20160906100452241.jpg


 图1:主题及关键词热度分布,实时了解用户最关心的产品和服务。示例:上图显示了某电商主题关键词热度分布。四种颜色代表四个主题。主题和关键词百分比代表了该主题或关键词的用户讨论热度。


20160906100511112.jpg


图2:按关键词或情感度追踪问题并解决问题。示例:某电商按关键词或情感度追踪并解决物流快递问题。

二,智能客服机器人是第一生产力,无缝“人机协作”是复杂场景下最佳用户体验的客服模式。

随着全媒体客服的普及和广泛应用导致企业和消费者多点接触,同时用户体验得到了企业的重视,导致客服咨询量暴增,企业有限的客服人力资源与日益增加的客服请求之间的矛盾日益尖锐,如何用有限的客服资源服务不断增长的海量客服请求需要一个颠覆型的技术来解决。相比人工客服,智能客服机器人将提供极大的效率优势。Gartner报告指出智能客服机器人(VCA-virtual customer assistance)技术将在2017年成为客户服务行业的核心驱动力。
环信智能机器人采用自然语言处理技术和深度学习技术建立对话模型,使用海量数据对模型进行训练,并借助客服系统中访客和客服的实时反馈来增强学习,精准识别用户意图,帮助人工客服回答各种问题。相比基于关键词匹配和人工定义规则大量标注数据的传统问答技术,环信智能机器人无需人工标记和人工维护相似问法,就可以在会话过程中识别同一问题的多种不同问法。


20160906100617354.jpg


图3:启用人机协作模式后,会话页面会显示“推荐答案”窗口,自动获取访客的最新问题,并推荐三条答案。

在一些比较复杂和特殊的服务场景,比如高客单价的金融行业售前咨询,机器人客服不能完全理解客户的个性化咨询要求的时候,我们可以无缝进入人机协作模式。环信智能客服机器人基于大数据分析和机器学习技术,可以自动分析海量历史会话数据,建立智能应答模型,供客服在人机协作模式下使用,无需手工建立和维护庞大的知识库。在人机协作模式下,环信智能客服机器人向人工客服推荐备选答案,人工客服起到了保证答案质量充当专家客服的角色,这样既保证了客服的响应速度又提高了问题的回答准确性,同时极大降低了人工客服的工作量。

三,智能质检,准确率达到替代人工质检水平。

质量管理是客服中心运营管理的重要板块,而质检则是定义客服中心服务质量好坏的标准。客服中心的成本与收益平衡、投诉点的关注、KPI指标关注等等都在质检标准中体现。在客户需求多样化、运营管理精细化的今天,采用传统人工质检不仅效率低远不能完成海量的客服内容质检工作,而采用抽样方式也同样不能全局呈现真实的客服质量。


20160906100558739.jpg


图4:智能质检系统可以自动检查访客和客服的历史消息,如果发现异常,则在会话后提示“有问题”,并在质检详情页提示问题原因。

环信移动客服5.0旗舰版最新提供的自动智能质检功能,可以对全部客服会话进行实时或离线质检。智能质检是基于环信在线客服各个领域的海量用户对话,提取出数百个客服对话特征,并用这些特征训练得到的一个通用质检模型。智能质检功能允许系统自动检查访客和客服的历史消息,如果发现异常,则在会话后提示“有问题”,并在质检详情页提示问题原因。在智能质检的辅助下,质检员可以扩大筛选范围,覆盖更多会话,提高质检效率,获得更准确的质检结果。目前,环信智能质检的准确率达到替代人工质检水平。

同时,作为增值服务之一,环信全媒体接入的呼叫中心接入功能需要单独申请开通,环信移动客服5.0旗舰版已经实现了呼叫中心和现有渠道的打通升级。开通呼叫中心后,客服不仅可以接待来自手机APP、网页、微信公众号、微博、呼叫中心5个渠道的会话/来电。而且所有通话都会被录音,客服可以通过客服模式的历史会话查看通话记录,管理员可以通过管理员模式的历史会话查看所有客服的通话记录,并对访客进行回呼。

汇聚二十余项新特性的环信移动客服5.0旗舰版已经正式发布,定价4800元/每坐席/每年,未来将给电商、O2O、互联网教育、互联网金融等数十个重客服行业带来新的驱动力和增长点。

企业用户可以直接登录环信官网申请开通试用,体验全新的全媒体智能SaaS客服请点击:http://kefu.easemob.com/
 
环信移动客服5.0  环信移动客服v5.0_产品更新说明/产品功能列表/产品使用指南
  收起阅读 »

[品牌密码]品牌及产品运营那些事儿 主题讲座

时间: 09-10 14:00 ~ 09-10 17:30   09月09日 23:30 报名截止 地点:北京昌平区   活动简介:   这是红马会的第八期学习会,九月十日是教师节,也是涨姿势的好时节,这一次,红马会创意人联盟继续【品牌密码】系列分享...
继续阅读 »

41472788339781_party4.jpg



时间: 09-10 14:00 ~ 09-10 17:30   09月09日 23:30 报名截止
地点:北京昌平区
 
活动简介:
 
这是红马会的第八期学习会,九月十日是教师节,也是涨姿势的好时节,这一次,红马会创意人联盟继续【品牌密码】系列分享活动……
面对品牌运营、活动策划,千头万绪,从何下手……
一场活动大战在即,需要你的创意、你的策划、你的设计、你的执行、你的运营,可你……
品牌传播,希望借活动拉人气、吸粉,可实际却……
好的创意方案,一次次毁于执行,执行,执行,迷局,怎么破……
品牌运营和活动是资源的汇聚,捉襟见肘的资源,怎么聚……
为一个好的策划创意而加班熬夜、捉急萎靡……
为洞察目标消费者的痛点而发愁……
为梳理活动方案有效的传播途径苦恼无助……
作为一个品牌管理运营者、活动主办者、策划人、媒介、设计师、广告人,如有以上症状,可以确诊,是病,得治!
红马会创意人联盟第八期学习会,品牌密码:品牌及产品运营那些事儿 主题讲座
大地民谣音乐节,由北京工友之家、红马会创意人联盟、雅韵文化共同发起,自2014年在京郊的一片田野上发出第一声歌唱,作为一个公益发起,白手创立,情怀使然的独特音乐节,至今已成功举办数十场,走入北京、成都、福建、深圳、天津等多地,累计观众数万人。
这次我们将从八月在平谷刚举办完的大地民谣音乐节做为运营案例切入,深度展开分享,听几位项目主创从不同角度剖析品牌策划、活动运营、设计、执行,相信你能收获一些启发,一些行之有效的门道,一些干巴巴的干货、合作的激情碰撞。
这里有这样一群人:他们是品牌运营高手,国内知名NGO公益组织发起人、大地民谣发起人、同心复古市集创办人、策划高手、创意人、设计师、品牌实战砖家……在品牌运营的烧脑烧心道路上,你不是一个人,结识新友,互通共享,一起在这秋高气爽的季节里,我们很严肃活泼的探讨,优秀的品牌运营项目、活动策划项目应该是什么模样,如何避免品牌运营中一些尴尬问题等实战干货,现场特邀大地民谣主创、民谣歌者许多、孙恒带来民谣音乐弹唱的惊喜环节,涨着知识,歌声相伴,多美妙……

活动内容


【活动主题】品牌密码:品牌及产品运营那些事儿 主题讲座
【活动主办】红马会创意人联盟
【活动协办】墨加 / 六点一刻 / 亿蜂 / 帮推客 / 明德微健康•教育会馆 / 环信
【活动时间】2016年9月10日(周六)14:00-17:30
【活动地点】北京昌平区回龙观西大街118号龙冠置业大厦B座  明德微健康•教育会馆五层会议室(城铁13号线龙泽站旁)
【活动人数】场地有限 限50人 报完即止
【活动费用】50元/人  
【费用包含】  
1.本次学习会参与名额1名
2.加入红马会创意人联盟微信交流群名额1名
3.红马会创意人联盟精美纪念徽章1枚/学习会精美海报1张
4.观看活动现场大地民谣民谣歌者弹唱演出
5.优先获得下一期学习会参会资格
6.十月大地民谣音乐节的入场券2张



【报名咨询】手机/微信:18611629527 王茜 / QQ:287374682  
【报名截止】截止时间9月9日  

【活动流程】  


签到/礼品领取
主持人开场/介绍主题、嘉宾
自我介绍,相互认识
嘉宾分享
茶歇、提问互动
大地民谣弹唱会  
嘉宾分享
现场自由发言交流、提问  
集体合影、散会  
【场地鸣谢】明德微健康•教育会馆
 


【交通指引】  

地铁:13号线“龙泽地铁站”A口出,过天桥后,从“巡逻警务站”旁公园门口进入,往北穿行到回龙观西大街后往东走50米即到。  
公交:乘车至 “北郊农场桥南站”,往北行至回龙观西大街往东走300米即到,或在“北郊农场桥东站”下车,西行200米即到。  
驾车可导航“龙冠置业大厦B座”。
 
嘉宾简介

81472182546877_party8.jpg


孙恒  
现任北京工友之家总干事、新工人艺术团团长。
民谣歌者、社会工作者,生于陕西,祖籍河南。
1998年辞去中学音乐教师工作,带着一把吉他,只身一人靠卖唱和打短工为生,游吟祖国各地。
2002年在北京发起创办劳工NGO组织【北京工友之家】,陆续创办:新工人艺术团、同心实验学校、同心互惠商店、打工文化艺术博物馆、工人大学、同心农园。
曾荣获“第四届全国十大务工青年”、“北京市首都创业青年贡献奖金奖”、“ 中国青年群英会杰出进城务工青年代表”、“《南风窗》2011公共利益年度人物”等荣誉。
分享主题《大地民谣与同心桃的运营经验分享》
1、音乐如何参与推动社会进步?
2、一颗爱心桃是如何参与支持城乡互助的?
 


01472182579616_party0.jpg


章鱼Peter
陈列师,自由化妆师,2013年10月流浪到北京宋庄灵语艺术空间,并结识国家非物质文化遗产花丝镶嵌继承人,杨氏,推广运营,兼职平面模特.期间撰写《新狂人日记》《鱼格博》自传,2014年策划拍摄灵语空间英文纪录片【美梦成真】个人喜欢收藏民间手工艺,发现传统手工艺逐年流失,2016年加入工友之家并筹备【同心复古文创市集】筹划 寻找—【即将消失的手工艺人】
分享主题《寻找即将消失的民间艺人》
1、中国民间手工艺生存现状
2、民俗文化艺术的传承
3、跨界合作蕴藏的商机  
 


71472182593993_party7.jpg


宝四 
北京红马景程品牌管理顾问有限公司 CEO
中国品牌整合设计专家/设计师
北京搜药集团高级品牌顾问
红马会创意人联盟 发起人/会长
《品牌知觉系统》品牌形象构建理论创始人
冯淳,人称宝四,新疆生,各处长。打小与画结缘、与乐为伴,后入摇滚门,进迷笛,尔后上设计道,入品牌门,至今十余年。好折腾,不闲着,与马结缘,创红马品牌、立红马会创意人联盟,后参与发起大地民谣。新品牌基因形象构建理论的创立与践行者,品牌整合设计专家,多元经历及跨界身份,专注品牌创建与设计管理十五年,突破格局,协助众多品牌成功跨越商业逻辑与消费情感的鸿沟,持续推动本土品牌实现深度的价值超越
分享主题《无知觉 不品牌》
1、 为何及如何打造“品牌知觉系统”
2、 品牌运营中的策划、筹备、执行
3、 多一度热爱
4、 音乐节及品牌活动重点案例分享
5、 好设计的爆破力
 


41472182607799_party4.jpg


许多 
浙江海宁人,北京迷笛音乐学校99级电吉他专业,歌者;2002年发起创办新工人艺术团(前打工青年艺术团),并参与创办北京工友之家;2015/2016打工春晚总导演;现为大地民谣运营总监。
分享主题《“大地民谣”如何行走天下》
1、大地民谣的理想:理想的重要性
2、如何跨出第一步:资源的整合
3、如何行走天下:解放想象,形式的灵活多样
4、自由人如何联合:聊聊未来
 


81472182621807_party8.jpg


刘男 
明德微联合创始人。北京大学社会学系副主任,人大客座教授,中国著名的女性高级讲师,主攻企业商业模式和战略管理。
是中国首位国际认证的女性企业家。多家上市公司股东和高级战略参谋。
分享主题《会员的品牌管理与服务》
1、会员模式分享
2、创新商业模式管理经验谈
3、品牌服务经验分享
 
       活动主办
 


41472184408473_party4.png


        活动协办



01472789897893_party0.png




41472789654080_party4.png



 
活动报名:点击报名 收起阅读 »

Duplicate interface definition for class 'EaseUI'解决办法

今天项目迁移时发现报 Duplicate interface definition for class 'EaseUI' 错误,然后重新修改了EaseUI-Prefix的指定路径就好了!
今天项目迁移时发现报 Duplicate interface definition for class 'EaseUI' 错误,然后重新修改了EaseUI-Prefix的指定路径就好了!

报错: _OBJC_CLASS_$_CMMotionManager 和 报错:ChatDemoHelper中TTAlertNoTitle is invalid in C99解决方法

(1)报错  _OBJC_CLASS_$_CMMotionManager  : 解决方法:直接去Linked Frameworks and Libraries 导入 CoreMotion.framework文件即可:     ...
继续阅读 »
(1)报错  _OBJC_CLASS_$_CMMotionManager  :

1.pic_.jpg


解决方法:直接去Linked Frameworks and Libraries 导入 CoreMotion.framework文件即可:


2.pic_.jpg


  
 
(2)报错:ChatDemoHelper.m文件中 TTAlertNoTitle is invalid in C99
解决方法:直接在ChatDemoHelper.m文件中导入两个文件即可:
 
#include <sys/types.h>
#include <sys/sysctl.h>
 
 
真的是很蛋疼的两个报错。。。 收起阅读 »

环信webim1.1.2版本在windows下npm环境搭建错误解决

1.1.2版本的webim从ui到整体的代码结构都做了很大改变,从代码结构上采用node.js的环境进行开发和打包,最终打包的输出项目,不依赖node.js的环境进行运行,得益于webpack的打包实现。 这里有详细的管网介绍:http://www.im...
继续阅读 »
1.1.2版本的webim从ui到整体的代码结构都做了很大改变,从代码结构上采用node.js的环境进行开发和打包,最终打包的输出项目,不依赖node.js的环境进行运行,得益于webpack的打包实现。

这里有详细的管网介绍:http://www.imgeek.org/article/825308179

下载地址:https://github.com/easemob/web-im/releases/tag/v1.1.2

先说明一下在搭建node.js环境时到打包碰到的问题:

前提:必须成功搭建了node.js环境才能进行以下步骤,可以参考这篇文章进行搭建:http://xiaoyaojones.blog.163.com/blog/static/28370125201351501113581/

1、如果在https://nodejs.org/en/官网下载的v4.5.0 LTS,然后进行npm install命令之后再进行webpack命令,会提示以下错误:


QQ图片20160901010009.png



解决方法:使用会5.10.1版本的进行npm install->webpack,然后就能成功打包。

2、上面一步中,很大机率会出现webpack不是系统命令,如果出现这样的问题,一种是webpack的包安装不是全局,webim采用的就是局部安装,只是项目上引用局部模块非常方便,也不会出现太多的莫名奇怪的冲突问题;

可以通过以下方式解决:

①用npm install -g命令安装webpack为全局模块,然后即可使用webpack命令。

②既然要局部,那就直接局部使用;经过分析,调用webpack命令时其实就是一个cmd批处理,查看批处理会发现,就是node + “xxx.js”的形式存在,那么我们可以这样变通一下,命令行进入到webim的目录运行如下命令:

node ./node_modules/webpack/bin\webpack.js -config webpack.config.js

③还有一种方式,那就是通过package.json进行开刀,在scripts节点上增加"start":"webpack",然后在命令行上运行npm start同样能达到打包的效果。

注意:以上运行的命令行一定要以管理员的身份运行

题外:新版的webim需要用的知识比较多,可以按照这样的顺序进行突破:node.js->npm->react->webpack
  收起阅读 »

环信李理:从Image Caption Generation了解深度学习

       本系列文章希望通过Image Caption Generation,一个有意思的具体任务,来介绍深度学习的知识,涉及到很多深度学习流行的模型,如CNN,RNN/LSTM,Attention等。本文为第一篇。      作者李理,...
继续阅读 »
   
   本系列文章希望通过Image Caption Generation,一个有意思的具体任务,来介绍深度学习的知识,涉及到很多深度学习流行的模型,如CNN,RNN/LSTM,Attention等。本文为第一篇。

1473047735190.jpg


 
   作者李理,目前就职于环信,即时通讯云平台和全媒体智能客服平台,在环信从事智能客服和智能机器人相关工作,致力于用深度学习来提高智能机器人的性能。
 
0. 前面的话
 
   建丁让我写一篇深度学习相关小文章,目标读者是国内的开发者。刚接到这个任务时我是颇为忐忑的,写文章要讲究厚积薄发,如果“水之积也不厚”,“则其负大舟也无力”。因为我自知水平很有限,又不是在学校和科研机构做研究,只不过因为工作和个人的兴趣,对深度学习有一点点粗浅的了解,所以担心写出来的东西不但于人无益,甚至还让人误入歧途。但后来又一想,如果把自己作为一个深度学习的学习者,和对它感兴趣的普通开发者分享一些学习的经历,包括学习过程中遇到的问题,可能也是有一些意义的。毕竟读论文或者听学术大牛的讲座只能看到“成功”的经验,而且大部分开发者相对来说没有太多的背景知识,而很多圈内的人都是假设读者拥有这些知识的。但是对于普通的开发者来说,很多基础知识比如线性代数和微积分在上完大学后估计就还给老师了,因此可能理解起来难度更大。而从另外一个角度来说,工程师(开发者)和科学家(科研工作者)关注的点也是不一样的。科学家更关注理论的东西,比如一个模型是怎么提出来的,为什么要这么设计模型,这样的模型怎么转化成一个优化问题。而工程师则更关注这个东西能够做什么,具体这个优化问题怎么求解更高效。学术界每年有大量的论文发表,大量的idea被提出,其中有好有坏,有的工作可能看起来理论很漂亮,但实际应用起来很难;有些工作可能不被太多人关注,但却是某些工业界非常需要的。

   另外从人工智能的发展来说,我个人觉得在传统行业的普及也是非常重要的。现在很多人工智能创业公司,很多想用人工智能创造一个全新的产品,比如早期类似Siri的语音助手到现在火热的机器人。但我个人觉得目前的人工智能的水平还很难做出达到用户预期的产品,尤其是很多初创公司吹牛吹得有些过分,导致用户期望过高,而真正使用产品后则形成巨大的反差。我觉得目前阶段人工智能更大的用处是提升现有系统,用我自己的话来说就是目前的人工智能只是锦上添花而不是雪中送碳。也就是说光靠人工智能是不能吸引用户来购买你的产品的。

    比如现在国外很火的Amazon的智能音箱产品Echo,如果我不想买一个音箱,估计你很难这样说服我购买Echo——我们的Echo有非常智能的语音交互功能,可以问天气,可以设置闹钟,可以Uber打车,可以控制家里的智能冰箱。但是如果我想购买一个音箱,现在面临两个选择:一个是传统的音箱,另一个是Echo。那么你对我说Echo有多么牛逼的智能可能会打动我,反正也差不了多少钱,能有这么多听起来很酷炫的功能也挺不错的。

   由于Echo的成功,国内很多人也想“山寨”一个类似的产品,不过可能很多人忽略了美国和中国的一些细小差异,那就是音箱似乎不是大城市居民的必备品。就我个人的朋友圈来说,每个家庭肯定都有个电视,但是有音箱寥寥无几。为什么会这样呢,因为中国的大城市居民大都是住楼房,很多老破小隔音效果都很差,你整个音箱弄家里还没high两分钟,估计邻居就该敲门了。倒是耳机,屌丝们挤公交地铁时的必备利器,也许会更好卖。

   说了这么多,想表达的就是目前人工智能应该更多的提高现有产品。比如提到Google,大家可能会想到它收购的Deepmind的AlphaGo,但是我们可能没有意识到日常使用的很多产品中都使用了深度学习。比如搜索引擎的排序,邮件的智能回复生成,都大量使用了深度学习。而AlphaGo的作用则更多的是一种市场PR,一种宣传作用,让大家知道人工智能目前的一些进展,而现在AlphaGo团队则是想将其技术用到医疗行业帮助医生诊断疾病。

   也就是说人工智能在未来也许就像计算机,互联网,云计算一样是一个非常基础的设施,在任何需要用机器来替代或者减少人力的场景都是有用武之地的。目前不论是国内还是国外,人工智能的人才都是非常稀缺的,而且都是集中在少数学校的实验室和大公司的研究院里。因此向普通开发者传播相关的知识就显得尤为重要。基于这样的考虑,虽然自己的能力不够,但还是愿意把自己学习的一些经验和问题向大家分享。
 
1. 为什么分享Image Caption Generation这个话题?

   这篇小文章并没有限定什么范围,只要是深度学习相关的就行。这反倒让人烦恼,就和人生一样,选择太多了也是一种烦恼。因为最近工作有空之余正在学习斯坦福的课程CS231N,Convolutional Neural Networks for Visual Recognition。这个课程非常好,除了详尽的slides和notes,最值得一提的就是它的作业。每个作业包含完整的模型,比如CNN、LSTM,所有的模型的代码都只是用最简单的python代码实现,而不是用现成的库比如TensorFlow/Theano/Caffe。纸上得来终觉浅,绝知此事要躬行。很多理论,光听课看slides,似乎觉得自己懂了,其实还是一知半解,真正要掌握,就得自己动手,最好是全部自己实现。但是全部自己实现需要花的时间太多,而且从实际工作的角度来说,大部分开发者肯定都是用TensorFlow这样的工具。而这个课程的好处就是:把一些琐碎的与核心代码不相关的部分包括学习的框架都已经实现了,然后用IPython notebook把关键的代码的函数的输入和输出都描述的非常清楚,学习者只需要实现一个一个这样的函数就行了,而且每个函数都会有类似单元测试的检测代码正确性的数据,从而保证我们的每一步都是在朝着正确的方向前进。

   因此这篇小文章打算讲一讲其中的Assignment3的Image Caption Generation部分。目的是想通过一个具体的任务来给大家介绍深度学习的一些知识,让大家对深度学习有一些概念和兴趣。选择Image Caption Generation的原因,一来这个任务挺有意思的;第二就是它涉及到很多深度学习流行的模型如CNN,RNN/LSTM,Attention。

   首先来介绍一下什么叫做Image Caption Generation。

   对于计算机视觉相关的任务,图片分类和定位大家可能比较熟悉。图片分类就是给定一张图片,让计算机告诉我们它是一只猫还是一只狗;而图片定位除了告诉我们这是一张狗的图片,还需要用用一个矩形框把狗的位置标识出来。当然还有要求更高的Image Segmentation,需要告诉我们哪一些像素属于狗,而另外一些属于背景。

图1就是这些任务的例子:

20160825150725021.jpg


图1:常见机器视觉任务 图片来自 http://cs231n.stanford.edu/slides/winter1516_lecture8.pdf
 
而Image Caption Generation任务是给定一张图片,需要让计算机用一句话来描述这张图片。

如图2所示:

20160825150738704.jpg


图2:Caption Generation任务示例 图片来自 http://mscoco.org/dataset/#captions-challenge2015

   从实际的应用来说,这个任务也是很有用处的。比如一个手机拍完照片之后,我们可以用这个方法生成一句话来描述这个图片,方便分享和以后查找。

   而从理论研究的角度来说,Caption Generation相对于之前的task来说需要更加深入“理解”图片中物体之间的关系,甚至包括一些抽象的概念。它把一幅信息量极大的图片压缩成短短一句话。

   我是做自然语言处理(NLP)相关工作的,之前对计算机视觉有一些错误的看法。认为视觉信号是更底层和原始的信号,除了人类,动物也有很强的视觉能力,也能分辨不同物体。而语言是人类创造的符号系统,属于更高层的抽象,因而属于更高级的人工智能问题,似乎不少人会有类似的观点。

   但是现在我有了一些不同的看法,人类的大脑并没有什么特殊之处。一个小孩在一岁之前一般不会说话,他认识世界的主要方式就是主要通过视觉系统来区分物体,也许和神经网络类似,通过复杂的神经元的连接来“理解”世界。这些不同层次的网络就是不同层次的特征,就像神经网络的“黑盒”,我们自己也很难用精确的语言描述我们大脑到底学习到了什么样的特征。而且很可能每个人学到的特征,尤其是底层的特征都是不相同的。

   比如下图的一个汽车,最底层的特征可能是不同方向的线条,而中间层的特征可能是各种基本的形状,而更上层的特征就是车轮这样的更上层概念。

20160825150824830.jpg


图片来自 http://cs231n.stanford.edu/slides/winter1516_lecture7.pdf

   一个复杂的概念由一些简单的概念组合而成,而简单的概念可能由最基本的原子概念组合而成。语言就是对这些概念的描述,或者说就是一个标签,一种命名。但是语言有一个特点就是它是用来沟通和交流的,所以语言的使用者需要达成一定程度的共识。那怎么达成共识呢,比如我们在教小孩语言时是怎么与他达成共识的呢?比如一个桌子,我们通过手指这一个条狗狗,反复对小孩说“狗狗”这个词(其实是声音,为了简化,我们暂且当成文字),这样我们就和小孩达成了共识,“狗狗”就是指这样一个动物,然后又指着另外一条狗狗,也说“狗狗”,小孩就学到这一“类”物体都是狗狗。所以他需要调整他的神经元连接,使得那些符合某种特征的物体都被识别成狗狗。至于具体这个识别狗狗的神经网络的参数是什么样的,我们很难知道,也许刚开始他需要分类的物体很少,比如只有“爸爸”,“妈妈”和“狗狗”,那么它可能需要不是那么“本质”的特征来区分,比如他可能认为四条腿走的是“狗狗”,两条腿直立行走的就是“爸爸”和“妈妈”。当随着需要识别的类别的增多,比如有了“猫猫”,那他一上来可能认为也是“狗狗”,但父母告诉他分类错误,这不是“狗狗”而是“猫猫”。那么他可能需要别的特征来区分猫猫和狗狗,也许他学到的是:四条腿走并且嘴很长的是狗狗,而四条腿圆脸的是猫猫。

   那为了能够区分猫猫和狗狗,小孩的中层的特征可能需要抽取类似“脸”的特征,或者说概念。我们也会告诉他这是狗狗的脸,这是猫猫的脸,这是爸爸的脸。这样他需要学习出脸的共性的特征。

   从上面的过程我们可以发现,概念本身只是一种“特征”的指代,是我们的感觉系统(视觉)对一个物体的反应。而语言是一部分相似的生物对同一个/类物体达成共识的一种指代。但每个人的感觉系统和神经网络结构都是不一样的,所以也只能在非常粗糙的程度达成比较一致的共识,而在非常精细的概念层次是很难达成广泛共识的。因此我们会把周围的人打上各种标签,分成各种类别,由此各种概念也就产生——肤色,语言,宗教,性别,阶级。每个人也只能和同一个标签的人在某个方面达成共识,所以要找到一个完全“了解”自己的人是如此之难,而不同的物种的共识可能就更难了。所以就像《庄子·齐物论》里说的“毛嫱、丽姬,人之所美也;鱼见之深入,鸟见之高飞,麋鹿见之决骤。四者孰知天下之正色哉?自我观之,仁义之端,是非之涂,樊然殽乱,吾恶能知其辩!”毛嫱、丽姬是我们人类眼中的美,但是在鱼和雁看来只是可怕的敌人。可笑的是自恋的人类却还要曲解庄子的愿意,认为它们是因为惊异于她们的美丽才沉鱼落雁闭月羞花的。不说动物,即使是人类而言,美也是很难达成共识的,那些黑人国家的美女,我们中国人是很少会认为她们是美女的。

   因此从这个意义上来说,语言也许并没有我们想像中的那么高大上。 就目前人工智能或者深度学习的水平来说,也许研究小孩在建立复杂概念之前的行为更有用处。 收起阅读 »

SDK 问题

1、Android 和iOS方法不统一 2、Android封装含有附件的消息必须有路径(这个就尼玛坑爹)与iOS不一样 3、下载附件的时候为毛要把域名变成IP地址 (这个附件是我们自己服务器处理的消息附件)
1、Android 和iOS方法不统一
2、Android封装含有附件的消息必须有路径(这个就尼玛坑爹)与iOS不一样
3、下载附件的时候为毛要把域名变成IP地址 (这个附件是我们自己服务器处理的消息附件)

Amaze UI插件开发大赛-环信邀你一起打造精彩开源世界

前言 Amaze UI开源两年以来,一直受到众多开发者的关注,非常感谢你们的建议和想法,为了满足更多开发者的需求和顺应新技术趋势,我们在保持现有的Web版本上,相继推出了React版、Touch版,让开发者能够快速构建网页应用和Web App。自2014年9...
继续阅读 »

header1.png


前言

Amaze UI开源两年以来,一直受到众多开发者的关注,非常感谢你们的建议和想法,为了满足更多开发者的需求和顺应新技术趋势,我们在保持现有的Web版本上,相继推出了React版、Touch版,让开发者能够快速构建网页应用和Web App。自2014年9月开源以来,在Github上的星级关注超过7000,成为国内最受开发者喜爱的开源项目之一,目前服务超过40万开发者。

关于比赛

本次比赛,相较于之前的模版比赛、组件比赛显得更为“小巧”,主要是针对“插件”的开发比赛,开源世界里,Amaze UI虽然不能算是最闪亮的那颗星,但我们一直不遗余力的完善自己,打造更好的Aamze UI为广大开发者服务。
 
参赛须知

所有提交的插件需要基于Amaze UI进行移植开发或者原创开发,样式风格与 Amaze UI 保持一致。
所有参赛的开发者和提交需求的开发者需要加入比赛QQ群(539654238),赛事答疑、比赛结果、比赛源码会第一时间在群内公布。每位参赛者,提交作品数量不限。只要作品够优秀,支持一人拿多奖。 比赛介绍本次比赛主要分为两个阶段,第一个阶段是需求期,让开发者提交插件需求;第二个阶段才是开发期,根据第一阶段提供的需求,来进行更精准的开发。第一阶段全民提需求 (8.26-9.04)把你想要的任何插件的需求提出来,最终生成一个需求列表,接下来会根据这个需求列表,来进行开发范围,如果提交的需求最终被开发者实现并且获奖,提交需求的人员也可以同样获奖,奖品为Amaze UI鼠标垫一份。特定需求实现:科大讯飞--语音播报功能,通过科大讯飞语音SDK,开发出特定区域内文字语音播报。实现后可得到双份奖品。提交需求的格式如下:插件名称:实现功能:应用场景:参考资料: 点此提需求 第二阶段大神来开发 (9.05-10.09)针对前期的需求整理出需求列表进行公示,并且正式开启开发模式,最终评选出来的获奖用户,获得相应的奖励。 活动奖品

jiangpin.png

活动流程

liucheng.jpg

作品提交所有提交的参赛作品需注明为MIT(加链接)开源协议所有移植的插件务必注明源插件的开源许可及项目地址;发布到Github上或邮箱提交时需在标题中添加相应关键字:
  • Amaze UI Web:添加 amazeui-plugin
  • Amaze UI React:添加 amuireact-component
  • Amaze UI Touch:添加 amuitouch-component


ps:提供可查看的项目主页,项目主页中应包含插件介绍、API 文档及演示;

提交示例
示例:
xxx                          //插件文件夹,xxx为插件名称
|
|--docs //插件演示
| |-- demo.html
| |-- demo.css //演示文件样式
| |-- demo.js //演示数据传输
| |-- images //图片、字体等
| |--i
| |--font
|--dist
| |-- amazeui.xxx.css // 插件样式文件
| |-- amazeui.xxx.js // 插件js文件
| |-- amazeui.min.js // 官方js压缩文件
| |-- amazeui.min.css // 官方样式压缩文件
|-- README // 项目的描述、使用说明、MIT开源协议
|-- author // 作者信息、联系方式(电话、QQ)
参考插件:https://github.com/amazeui/slick
 
提交方式

第一种,按照以上格式在Github上发布,并且以邮件的形式把地址发送到amazeui@yunshipei.com,
邮件标题格式为:【插件比赛】+【插件名称(参赛作品名称)】

第二种,按照以上格式将作品(包含项目源代码、文档)以邮箱的形式发送到amazeui@yunshipei.com, 
邮件标题格式为:【插件比赛】+【插件名称(参赛作品名称)】

第三种,好雨云平台提交。http://docs.goodrain.com/usage/
 
评选嘉宾​


QQ截图20160830165415.jpg




QQ截图20160830165540.jpg


关于大赛更多:点击了解
  收起阅读 »

环信移动客服v5.0产品更新--人机协作、智能质检等众多环信机器学习功能亮相

        环信移动客服v5.0产品更新,人机协作、智能质检等众多环信机器学习功能亮相,支持呼叫中心与现有渠道打通,还有来自环信大数据的客户之声上线,让客服工作简直不要太简单!注:环信移动客服v5.0_产品更新说明/产品功能列表/产品使用指南 请到文章末...
继续阅读 »
   
    环信移动客服v5.0产品更新,人机协作、智能质检等众多环信机器学习功能亮相,支持呼叫中心与现有渠道打通,还有来自环信大数据的客户之声上线,让客服工作简直不要太简单!
注:环信移动客服v5.0_产品更新说明/产品功能列表/产品使用指南 请到文章末尾下载


全媒体智能云客服.jpg



  • 1 Web客服工作台(标准版) 



1.1 会话和消息支持模糊搜索 


1.1.1 全局搜索会话 
1.1.2 全局搜索消息 
1.1.3 在会话详情中搜索消息 


1.2 熟客优先 


优化熟客优先的调度策略。可以配置将访客发起的会话优先调度给“最后接待过该访客的客服”或“接待该访客次数最多的客服”。该功能默认处于关闭状态,可以进入“管理员 > 设置 > 系统开关”页面开启。


1.3 呼叫中心 


移动客服实现了呼叫中心和现有渠道的打通。开通呼叫中心后,客服可以接待来自手机APP、网页、微信公众号、微博、呼叫中心5个渠道的会话/来电。所有通话都会被录音,客服可以通过客服模式的历史会话查看通话记录,管理员可以通过管理员模式的历史会话查看所有客服的通话记录,并对访客进行回呼。呼叫中心功能需要单独开通,详情请咨询环信商务经理。


1.4 留言 


1.4.1 留言状态“未解决”变更为“未处理” 
1.4.2 新增留言角标 
1.4.3 新增留言相关的通知 


1.5 进行中会话数上限 


单个客服允许同时接起的会话数上限为200个,即进行中会话数不能超过200个。
当客服的进行中会话数达到该上限,将不会自动调度会话,不能手动从待接入列表接入会话,不能回呼访客,也不能接受同事转接的会话。此时,需要先关闭一些进行中的会话,使进行中会话数低于200,才可以继续接入会话。


1.6 允许客服手动接入会话 


管理员可以设置是否允许客服从待接入列表中手动接入会话。开关打开时,客服可以从待接入中手动接入会话;开关关闭时,客服无法从待接入中手动接入会话。管理员始终可以手动接入会话。


1.7 支持导出客服登录详情 


进入“管理员模式 > 成员管理 > 客服”,可以查看所有客服(除自己之外)的当前在线/离线状态,并可导出每位客服的登录详情,包括登录时间、状态切换等。


1.8 设置APP访客端使用数字型的菜单消息 


支持设置APP访客端使用数字型的机器人菜单消息。可在“管理员模式 > 智能机器人 > 机器人设置”页面设置。


1.9 新增统计指标的注释 


统计查询的工作量、工作质量、访客统计、排队统计页面新增统计指标的注释,包含指标的算法、解释。
将鼠标置于气泡上会显示该指标的注释。


1.10 访客每天访问次数统计 


在“管理员模式 > 统计查询 > 访客统计”页面,可以按访问次数进行筛选,查询指定时段内每日访问次数不同的访客数量的占比。


1.11 【优化】修改密码策略,提高账号安全级别 


优化后,新密码的有效长度为6~22位,至少包含两种格式(大写字母、小写字母、数字、符号)。
登录环信移动客服时,需要输入验证码;客服/管理员重置密码时,需要进行密码确认。


1.12 【优化】体验指南展示页新增AppKey的提示 


体验指南展示页新增AppKey的提示,只需将该页面的AppKey和IM服务号填入“商城”应用的设置页面,即可快速模拟访客发起咨询。


1.13 【优化】进行中会话列表的时间提醒图标 


优化进行中会话列表的时间提醒图标。取消客服消息的时间提醒,优化访客消息的时间提醒,让客服准确知道,已经超过多长时间未回复某位访客的消息了。


1.14 【优化】聊天窗口的自动滚动条件确定和统一 


当客服查看历史消息时(滚轴不在底端):
·如果客服收到新消息,以消息气泡提醒,点击气泡后滚轴自动滚动到底部;手动将滚轴滚动到底部时,消息气泡消失;
·如果客服发送消息,滚轴自动滚动到底部。
当客服处于聊天状态时(滚轴处于低端),如果客服收到新消息或发送消息,滚轴均自动滚动到底部。


1.15 【优化】公司字段的长度变更为45个字符 


访客资料中,“公司”字段的长度从24字符变更为45字符,支持更完整的公司名称。


1.16 【优化】删除坐席失败时,系统提示失败原因 


当客服有进行中会话时,不能被删除。如果管理员做了“删除”操作,系统会提示“客服有进行中会话,无法删除。”


1.17 【优化】回呼访客失败时,系统提示失败原因 


对访客进行回呼时,如果回呼失败,系统返回失败原因。



  • 2 Web客服工作台(增值服务) 


 
2.1 客户之声 


环信客户之声基于自然语言处理,主题建模和情感分析技术,分析访客与客服坐席的消息内容,为客服管理团队展示客户与客服沟通时的情感指数和高频提及的关键词,并且可以追踪到这些关键词对应的消息与会话。
客服管理团队可以通过客户之声了解历史会话中最常被提及的主题和关键词,并了解相应的情绪温度,依此判断当前服务中的热点问题。
客户之声功能为增值服务。如需开通,请提供租户ID并联系环信商务经理。



  • 3 Web客服工作台(旗舰版) 



3.1 人机协作 


基于大数据分析和机器学习技术,环信移动客服可以自动分析海量历史会话数据,建立智能应答模型,供客服在人机协作模式下使用,无需手工建立和维护庞大的知识库。在人机协作模式下,可以实时的依据访客问题提示可能的答案,人工客服仅需简单的点选即可快速回复访客,极大地提升工作效率。
人机协作是旗舰版功能。如需开通,请提供租户ID并联系环信商务经理。


3.2 智能质检 


智能质检功能允许系统自动检查访客和客服的历史消息,如果发现异常,则在会话后提示“有问题”,并在质检详情页提示问题原因。在智能质检的辅助下,质检员可以扩大筛选范围,覆盖更多会话,提高质检效率,获得更准确的质检结果。
智能质检为旗舰版功能。如需开通,请提供租户ID并联系环信商务经理。


3.3 消息中心API 


开放消息中心API,允许第三方业务系统通过API调用的方式,向指定租户下的一个或多个坐席发送通知消息。通过定制通知消息内容,可以支持快捷功能,如点击消息中的URL链接打开指定会话。
消息中心API仅对旗舰版客户开放。如需开通,请提供租户ID并联系环信商务经理。



  • 4 网页访客端 


 
4.1 留言支持配置 


默认情况下,如果机器人处于关闭状态,下班时间自动进入留言页面。如需允许下班时间访客的消息进入待接入,可以配置参数offDutyType=chat。


4.2 多租户场景下,访客多个咨询窗口最小化后,都能收到提醒信息 


网页端的多租户场景,指设置了多个“联系客服”按钮,且这些按钮指向不同的租户ID。
当访客打开多个这样的咨询窗口并将其最小化后,客服回复这些咨询窗口的消息,访客能够收到所有咨询窗口的提醒信息。


4.3 【优化】获取机器人欢迎语 


当在网页端开启机器人功能,并且设置了机器人欢迎语时,访客端(聊天窗口和H5网页)自动获取机器人欢迎语。
当网页端关闭机器人功能时,访客端(聊天窗口和H5网页)不再获取机器人欢迎语。
注:APP端可以通过API获取机器人欢迎语。


 体验环信移动客服 http://kefu.easemob.com/
 查看历史版本请点击版本历史
 
环信移动客服v5.0_产品更新说明/产品功能列表/产品使用指南  请点击下载↓↓↓ 
  收起阅读 »

【公告】关于Parse服务停止的解决方案

        Parse将在2017年1月28日正式停止服务,有很多用户都在环信的自有Key(parse client key)下存储了自己的数据,为了相关用户不受Parse停止服务的影响,环信在自有服务器上搭建了一套Parse服务,同时将自有Key(par...
继续阅读 »
   
    Parse将在2017年1月28日正式停止服务,有很多用户都在环信的自有Key(parse client key)下存储了自己的数据,为了相关用户不受Parse停止服务的影响,环信在自有服务器上搭建了一套Parse服务,同时将自有Key(parse client key)下的相关数据全部同步到了自有服务器中。

   目前Parse官方服务中环信Key(parse client key)下的相关数据存储都已指向环信自建服务器,同时环信搭建的Parse服务也正式对外提供服务。之前使用了Key(parse client key)进行数据存储的用户可以通过将原有Parse服务的域名替换为环信自建服务域名的方式来进行,具体的代码实现说明如下:
 
①.Android代码修改说明
将原代码中的Parse.initialize(context, ParseAppID, ParseClientKey);
修改为:
private static final String parseServer = "http://parse.easemob.com/parse/";

Parse.initialize(new Parse.Configuration.Builder(appContext)
        .applicationId(ParseAppID)
        .server(parseServer)
        .build());
②.IOS代码修改说明:

   首先下载最新的Parse SDK包,然后对代码做如下修改

将原代码中的如下部分:
[Parse setApplicationId:@"applicationId"
clientKey:@"clientKey"];
修改为:
[Parse initializeWithConfiguration:[ParseClientConfiguration configurationWithBlock:^(id<ParseMutableClientConfiguration> configuration) {
configuration.applicationId = @"applicationId";
configuration.clientKey = @"clientKey";
configuration.server = @" http://parse.easemob.com/parse/";
}]];

 注:如果您的业务里使用Parse服务做了头像的功能,请仔细阅读以下说明。

   在将您的APP从Parse迁移到环信自建服务的工程中,未升级的客户端会存在无法访问升级后客户端新增头像的问题。具体的说明如下:
  1. 当前情况是Parse服务和环信自建服务分别在自有的S3服务器上存储头像。
  2. 客户端升级使用环信域名后,可以访问原有的Parse上存储的头像文件。
  3. 未升级仍然使用Parse域名的客户端,无法访问已升级客户端在环信域名下新增的头像文件。
  4. 为了最终将头像文件完全同步到环信S3服务器,我们计划在2016.10.31日将当时存储在Parse的头像文件一次性全部同步到环信S3服务器上。若您要使用环信自建的服务,切使用了头像文件,请务必于2016.10.31日前完成对客户端的升级工作,避免用户头像无法访问的问题发生。

收起阅读 »

专访环信CEO:企业级服务是资本寒冬下的优质资产抓住第四次系统性机会

 儒雅、干练,技术出身,又富有敏锐的商业思维,这是环信CEO刘俊彦给号外财经网记者的初识印象。   8月23日,在北京国际会议中心举行的GIEC2016全球互联网经济大会上,刘俊彦接受了号外财经网的专访。短短20多分钟,他透露了有关环信的诸多高含金量信息...
继续阅读 »


508c2d5508dd30627332d5369582f071.jpg



 儒雅、干练,技术出身,又富有敏锐的商业思维,这是环信CEO刘俊彦给号外财经网记者的初识印象。

  8月23日,在北京国际会议中心举行的GIEC2016全球互联网经济大会上,刘俊彦接受了号外财经网的专访。短短20多分钟,他透露了有关环信的诸多高含金量信息:从创业初期的“蒙圈”到走上成功之路,技术步步领先是公司的核心竞争力,如何打造SaaS客服产品争做全媒体客服市场的“NO1”,以及环信不烧钱还能快速赚钱的秘诀……

环信核心竞争力:持续领先的技术实力

  短短两年时间,环信成功实现四轮融资,并领跑中国SaaS客服市场,到底靠的是什么?环信的核心竞争力是什么?在专访中,号外财经网开门见山的提出第一个问题。

  “环信是技术驱动型公司,我们的核心竞争力在于技术能力,我们的愿景是技术改变行业。”刘俊彦也是直言不讳。

  他进一步诠释自己的观点,认为好的技术很难被超越,一步领先可能就会步步领先。环信取得行业领先地位后,仍保持大量的人力研发投入,在研发团队规模、资金投入规模、收入规模三个方面的领先优势都在持续扩大,而不是被追上。

  目前,该公司拥有环信即时通讯云和环信移动客服。即时通讯云提供基于互联网的通讯能力服务,帮助创业者做社交,具有单聊、群聊、发文件图片等功能,是连接“人和人”。移动客服是在环信即时通讯云PaaS平台上生长出来的SaaS平台,是垂直行业应用,连接“人和商业”。刘俊彦认为,两个产品是公司立身之本。

  在中国当前移动互联网时代,很多东西被颠覆了,但各行业的基础平台功能很重要。他很看好两大产品的市场前景,“目前把这两个产品做到极致,做到一针挑破天就成功了。”

背后故事:从创业初期“蒙圈”到成功之路

环信的创始团队都是技术出身,他们创业初期也曾经历过曲折。

  “一开始做过类似企业微信和阿里钉钉这类的产品,属于企业办公平台,很快开发出来了。但在那个时间点上,我们不是特别有销售和市场意识,产品的一些功能是想象出来的,发现不知道卖给谁,也不知道怎么卖,所以不是一个成功的产品。”刘俊彦给号外财经网分析他们创业初期开发的产品。

  后来痛定思痛,刘俊彦和他的团队对自身优势进行思考。“我们是开发者,我们最擅长的是跟程序员打交道,程序员需要开发者后台。”他说,把产品其他不用的功能都砍掉,只保留最核心的部分聊天的部分,就是现在的即时通讯云。“用起来简单,功能强大,没有交互界面,可直接通过API调用,只需要看文档就可以了。服务器需要支持几千万人同时在线,运行需要特别可靠和稳定。”

  这样的模式需要非常高的技术门槛,而这恰恰是环信团队的优势。

  “做一个2C产品,让我们去研究人性、了解用户需求挺难的。但我们是开发者,开发者想要什么样的API、如何把这个API做的更好、做的更好用,这是我们擅长的。所以我们觉得创业者一定要找到自己最擅长的点,坚持做下去,才能成功。”刘俊彦这样总结。

第四次系统性机会:打造千亿市值企业

 环信发展的路径是什么?如何发展?发展空间多大?这也是刘俊彦最近在探索和思考问题。对此,他更多的从公司“市值目标”进行了探讨。

  刘俊彦认为,企业服务行业的前景很广,对比美国的企业服务市场,前三名公司市值合计3000亿美金,中国前三名加起来是60至80亿美金,几十倍的差距。中国也有巨量企业,也开始消费了,需要企业服务公司了,规模可能会很快赶上美国,会有系统性机会。

  “这样的系统性机会很少碰到。第一次是搜索引擎,造就了百度和谷歌;第二次机会是电商,造就了阿里巴巴;第三次机会是移动社交,成就了微信和腾讯。现在企业服务是第四次机会,可能是二十年来最大的一次机会,把握住就会造就下一个BAT,造就企业服务领域千亿美金或人民币的公司。”他耐心剖析自己的行业观点。

  “机会放在这里,怎样才能抓住呢,要看核心赛道。”刘俊彦并不吝惜分享行业机会。他说,已知的核心赛道就几条,第一条是企业协同办公,BAT的天下;第二条是企业销售自动化管理,行业的几家公司已经C轮融资或者挂牌上市了;第三条是HR;第四条是财务软件,用友金蝶已经统治了;第五条是客服。

  “环信还是挺幸运的,去年才进入客服市场,后发先至,并在这个赛道上跑到了前列。”刘俊彦说,环信SaaS客服产品自去年4月份推出以来,市场推广、用户获得比预想的要快,用户群体、销售规模等领先行业,这是一个惊喜。

  刘俊彦向号外财经网透露,环信2016年的目标是在全媒体客服市场的在线客服部分做到全国第一,2017年希望在整个全媒体客服市场做到全国第一,包括呼叫中心、网页客服、微信公众号客服、APP客服4个细分领域。

企业服务:资本寒冬下的优质资产

  “今年VC喜欢投企业服务公司,因为企业服务公司是优质资产,有持续稳定的现金流,不烧钱。只要产品好,每个月都有收入,源源不断,用产品就要付费,而且明年还要续费。收入模型好,一般月付型,而我们环信是年付。支出模型稳定,不烧钱。”刘俊彦对环信的发展信心十足。

 他现在的主要精力放在环信的管理和战略上。他说,公司过去两年已经做了4轮融资,基本不缺钱。

 对于后续的资本运作路线,他没有透露,但他给出了一个基本时间表,“会很快,今年,或者明年”。 收起阅读 »

ios V3.1.5 Android V3.1.5 release ,优化联系人读取,修改api命名的规范性

版本 V3.1.5 2016-8-26 Android V3.1.5更新日志 修改一些api名称,主要针对一些拼写错误的api,具体变动请查看3.1.5api修改;优化读取联系人的速度;修复在logout方法的回调里立刻调用login方法不能登录的...
继续阅读 »
版本 V3.1.5 2016-8-26

SDK.jpg


Android V3.1.5更新日志


  • 修改一些api名称,主要针对一些拼写错误的api,具体变动请查看3.1.5api修改;
  • 优化读取联系人的速度;
  • 修复在logout方法的回调里立刻调用login方法不能登录的bug;
  • 修复https安全漏洞,提高安全性;
  • 修复实时通话时暂停音频不生效的bug;
  • 修复使用网线连接时NetUtils.hasDataConnection()判断为false的bug;
  • 修复发送消息时导致memory leak的bug;

ios V3.1.5更新日志

新功能:

  • 提高SDK稳定性
  • 去除依赖库(libcrypto.a,libcurl.a,libssl.a)
  • 提高从2.x版本SDK数据库迁移效率
  • 进一步修改api命名的规范性,建议使用新的api,具体详情可以参考接口文档
bug fix:
  • 修改实时视频显示问题


版本历史:Android sdk更新日志  ios sdk更新日志
下载地址:sdk下载
 
使用过程中有遇到任何问题、反馈建议欢迎直接评论留言,我们将第一时间回复! 收起阅读 »

环信亮相全球互联网经济大会,客户声音将成SaaS客服突破口,顺便回答一下被北京卫视报道是一种神马体验

   8月23-24日,GIEC2016第二届全球互联网经济大会暨ECECHINA第七届中国电子商务博览会在北京国际会议中心盛大开幕,大会吸引到BAT、联想、乐视、360、网易、中兴、TCL、环信等一大批知名互联网和智能硬件制造近百家机构云集京城。环信CEO刘...
继续阅读 »
   8月23-24日,GIEC2016第二届全球互联网经济大会暨ECECHINA第七届中国电子商务博览会在北京国际会议中心盛大开幕,大会吸引到BAT、联想、乐视、360、网易、中兴、TCL、环信等一大批知名互联网和智能硬件制造近百家机构云集京城。环信CEO刘俊彦作为企业级服务意见领袖受邀参会,并在主会场做主题演讲和众多互联网精英一起论道共享经济下万物智能时代的机遇和挑战。

1119461756_14721965421021n.png


环信CEO主题演讲:全媒体智能时代的电子商务客服新体验

1119461756_14721965443681n.png


环信移动客服登录北京卫视
   在今年初答记者问时指出:“新经济的覆盖面和内涵是很广泛的,它涉及一、二、三产业”。GIEC2016大会议题涵盖了当下热门的互联网创新与变革、探索商业模式创新,把握VR等人工智能技术的发展机遇,以及未来万物互联到万物智能的探索。大会的第一个版块活动是分享经济峰会,与会嘉宾观点纷呈,但在共享经济对于互联网经济的作用上形成了共识。2015年以来,分享经济可谓是站在中国经济风口的“食物链顶端”,它的真正价值在于重新定义了人与人连接的方式,以及社群组成的方式。而环信移动客服产品更是嫁接“人与商业”的连接器,相关数据显示,2015年中国共享经济市场规模约为1.956万亿元。预计未来五年,共享经济年均增长速度在40%左右,到2020年市场规模占GDP比重将达到10%以上,随之配套的企业级客户服务行业规模也将更上一层楼。

1119461756_14721965361571n.png



1119461756_14721965614141n.png


 小伙伴国美在线、叮当快药、泰康在线、楚楚街和环信一起联合参展。
   在共享经济浪潮下,O2O、电商、互联网金融教育医疗等服务业取得了蓬勃发展,随之衍生的客户服务行业也取得爆发式增长。在用户体验为王的时代传统的呼叫中心已经不能满足新时代的客户服务需要,以环信为首的全媒体智能SaaS客服正逐渐成为主流。环信CEO刘俊彦认为包括APP、微博、微信、网页端/H5、呼叫中心等统一接入的全媒体客服的最佳体验不仅只是接入和各个渠道之间的打通,更重要的是用户跨媒体、跨渠道、跨部门的体验和跟踪,在海量的数据中发现重点,优化企业运营。环信首推的“客户声音”是一款基于人工智能和大数据挖掘的客户行为透析产品。可以通过自然语言解析,主题聚类,情感度分析等技术手段挖掘和分析热点话题,发现畅销或问题商品,同时分析发现服务运营中存在的问题,企业就此可以优化运营,利用大数据洞察力来发现销售机会,改善产品质量。从而更好的服务于终端用户。

   共享经济下的“互联网+”正在重构着人们的生活方式,也为各行各业带来了无限发展机遇。随着“互联网+”的渗透,“智能+”将成为“互联网+”的下一站,而“智能+产业”的融合,将成为产业升级与变革的推动引擎。环信认为现阶段人工智能最佳的落地行业是客户服务行业,环信智能客服机器人能够帮助人工解答80%的常见问题,极大的节省了人力成本提高了效率,目前在银行、电信、O2O等行业发挥着积极作用。环信移动客服提供的新特征“机器人智能质检功能”能对全部客服会话进行100%实时或离线质检,基于环信在线客服各个领域的海量用户对话,提取出数百个客服对话特征,并用这些特征训练得到的一个通用质检模型,智能质检的准确率达到了替代人工质检水平。

   据悉,GIEC2016第二届全球互联网经济大会在阿里、腾讯、百度、360、京东、亚马逊等行业领军企业参与支持下,已经成为我国乃至全球层次最高、专业性最强、影响力最广的电商及互联网行业盛会之一。同期举办的ECECHINA2016第七届中国电子商务博览会更是连续六届举办,成为行业一致认可的年度盛会。

   环信移动客服——全媒体智能云客服倡领者,于2016年荣膺“Gartner 2016 Cool Vendor”。环信支持全媒体接入,包括网页在线客服、社交媒体客服(微博、微信)、APP内置客服和呼叫中心等多种渠道均可一键接入。基于环信业界领先的IM长连接技术保证消息必达,并通过智能客服机器人技术降低人工客服工作量。同时,基于人工智能和大数据挖掘的客户旅程透析产品"环信客户声音"能够帮助企业优化运营,提高跨渠道客服体验。

   截至2016年上半年,环信移动客服共服务了29437家企业用户,现已覆盖包括电商、O2O、互联网金融、在线教育、在线旅游、移动医疗、智能硬件、游戏等领域的Top10客户,典型用户包括国美在线、58到家、楚楚街、海尔、神州专车、新东方、链家、泰康在线、号码百事通等众多标杆企业。根据易观发布的《中国SaaS客服市场专题研究报告》显示,环信移动客服在SaaS移动端客服用户覆盖占比高达77.4%,稳居行业第一。 收起阅读 »

iOS 拉取环信消息记录解决方法

1、首先是通过环信接口将数据拉取到我们本地服务器 http://docs.easemob.com/im/100serverintegration/30chatlog 在此过程中,服务器注意需要将拉取下来的数据,保存至数据库中的同时将(img/audio/vi...
继续阅读 »
1、首先是通过环信接口将数据拉取到我们本地服务器 http://docs.easemob.com/im/100serverintegration/30chatlog
在此过程中,服务器注意需要将拉取下来的数据,保存至数据库中的同时将(img/audio/video)的附件下载,并替换掉数据库中消息的附件地址
2、iOS从自己的服务器拉取数据(主要是解析, 自己服务器保存格式完全按照http://docs.easemob.com/im/100serverintegration/30chatlog)下面贴出解析数据过程(Json-Model使用的是MJExtension)
定义的Model如下


0913E702-3480-4B0F-980D-5C7E847C0216.png


 
处理消息

2CA22EAB-167B-4B90-BA29-158A2D397725.png




35E3C8CD-2414-43DA-95E8-E72D2FB3D220.png


  收起阅读 »

iOS手把手带你集成环信移动客服

今天正好项目需要需要集成客服系统,就把环信的集成了上去。这边文章写给小白的童鞋啦,大神勿喷。 首先在开始我的文章之前,我推荐大家把官方的文档好好阅读一下。   http://docs.easemob.com/cs/300visitoraccess/10nati...
继续阅读 »
今天正好项目需要需要集成客服系统,就把环信的集成了上去。这边文章写给小白的童鞋啦,大神勿喷。
首先在开始我的文章之前,我推荐大家把官方的文档好好阅读一下。
 
http://docs.easemob.com/cs/300visitoraccess/10nativeapp
 
首先,我假设童鞋们都阅读了官方给的文档,那就让我们开始愉快的集成客服系统吧。
 
1.首先下载环信的商城DEMO

https://github.com/easemob/helpdeskdemo-ios

下载之后运行发现=我拉个擦=运行不了0.0 相信了解git的同学都知道该怎么做。不了解的话听我慢慢说不要急。
首先环信的移动客服是基于环信的IM完成的,相信看了上面文档的童鞋都能理解这一点,对于环信的IM有一些静态库.a文件都在环信的的童鞋的gitignore中过滤掉了。只要我们我们重新下载环信IM的库,将缺少的.a静态库文件加上去就可以运行了。

.gitignore 是git的过滤文件 可以过滤掉我们不想推送的git仓库的一个配置文件。 github上有一个规范https://github.com/github/gitignore 可以在这个的基础之上来添加我们的需求。
 
2运行环信客服demo

到这一步童鞋们应该都能运行了环信的demo了,按照上面的文档童鞋的IM账号也弄好了,首先让我们来体验一下吧。
新注册的环信的移动客服都和 环信的商城demo 关联上了,我们打开管理员模式-》app->看到一个体验关联
之后把我们下载的demo的

1106106-50507296e4065f83.jpg


之后我们把IM服务号搞成后台给的号码,就可以愉快的和后台聊天的哇。
如果这一步没有问题,就说明我们后台的配置是没有问题的。这时候就就可以之正式该我们的代码了
 
3.添加APP关联

我们根据文档提示新加一个app关联,(修改默认的体验关联 是会失败的,一定要新建之后找到我们商城demo

1106106-125dd8a6f977fb4f.jpg


把对应的这几个文件夹和文件拷贝过来,并在我们自己的项目里面集成IM的库。
首先打开appDelegate的类目文件

1106106-4bdbb27e3f6e0634.jpg


修改推送证书的名称
之后打开localDefine

1106106-14b296595a9dcbca.jpg


上面的的是appkey
下面的是关联的IM服务号

之后拷贝过来的Localizable.strings 文件需要添加中文对应

1106106-d2c5b65233de46c4.jpg


在这里添加就ok.
最后让我们来看看我们的成果。

1106106-8c523ccd23e8e4dd.png


有木有很兴奋!
=======后续会更新其他细节操作,让童鞋们少走一点弯路 收起阅读 »

给准备入行电商客服的一些建议

主题很明确,请允许我说说心底话。 现在电商平台很多,但是主要还是集中那几个平台,你懂的,我就不点名了。 首先,打字要快,响应时间是要有考核的。规矩是平台定的,要么硬着头皮上。要么完全不搭理,直接用机器人。熟悉产品&规则后,虽然工作简单,但是强度大,...
继续阅读 »
主题很明确,请允许我说说心底话。

现在电商平台很多,但是主要还是集中那几个平台,你懂的,我就不点名了。

首先,打字要快,响应时间是要有考核的。规矩是平台定的,要么硬着头皮上。要么完全不搭理,直接用机器人。熟悉产品&规则后,虽然工作简单,但是强度大,尤其做活动的时候。

再者,小心脏要强大,要能忍受客户的脏骂。关于价格,催货,催物流,那都是家常便饭。习惯就好。

第三,能熬夜。客服,电商客服,至少要9点-24点都要有人在。每周六天,还有一天休息,算好的了。有些店甚至8-凌晨2点的都有。夜猫很多。尤其都市的人,失眠睡不着也会逛TB。

虽然自由,但确实也有点与普通人的上下班区分开。约会时间比较难凑。应验了那句话,加班累成狗,下班无朋友。(kua)(zhang)

最后,还是要跟运营做好朋友啊。还有活动&产品信息一定要吃的通通透透,这年头电商职业骗子坑爹的实在太多了,稍不留神就掉进坑里了。死的多冤你都不晓得。

说说趣事吧。

有一次做活动。新客户哈,因为对我们的奶粉品牌不熟悉,都是朋友介绍过来的,毕竟是第一次给宝宝在网上吃的(naifen),所以是问了好多。

最终客户说,第二天购买。我说好。

客户问了一句,你上什么班?

我说晚班。我说,没关系,早班也有同事在,可以购买。

客户说,那不就算别人的业绩提成咯?我还是晚班过来购买,算你的业绩。

哇塞,还有这么为客服着想的客户,当天的累一下子被感动全打消了。

好久以前,我在(qian)(niu)早已在签名写上,购买前请咨询客服。因为这样可以提高客服的转化率,还有提成。每行的难处,只有做了那行才知道痛并快乐着。

做电商客服还是以实时的文字信息沟通为主,所以避开了好多面对面的尴尬和对骂,实在无语了,发个表情。确实有好些客户急躁又素质不好。句句不离脏字。此处省略一万字……

因为聊天工具对商家都明显提示,不能有第③方的交流模式。比如QQ,微信,邮箱,京东等等。通通不行。

扫描查到,必然会店铺被扣分罚钱不说,甚至会被关店,其他处理。拼不过平台,还是乖乖就范。这些话,只能在客户提供了手机号码之后,电话联系了。我惹不起,躲开总行了吧。电话里再跟客户好好沟通。

相对于以前的电话客服,这个是明显省心好多。所以才有了"金牌客服"这个TB弄的证书。

老大说了,运营做好了,客服这个环节就显得至关重要。有些店铺,运营做不起来,可是客服的跟进让店铺依然活着,甚至还不错。

这只是我入门电商客服不到半年的感想。真真切切感到时间过得飞快。只要你对客户好,人家是感觉到的好么。不用说,人家也会主动在评价里夸赞你,而不是冲着你给的几元好评返现,这个是真心真实有效的。 收起阅读 »

从用户入口到客服报表,这是一场战役

分析目的 消费金融产品规则复杂;仅仅依赖交互和文案不能充分教育用户,用户教育成本高;客服是用户寻求帮助和了解产品的有效途径。   客服组成 客服涉及帮助列表、在线智能客服、电话自助客服、人工客服。 自认为的的客服流程应该是:适当曝光入口,精准定位问...
继续阅读 »
分析目的
  • 消费金融产品规则复杂;
  • 仅仅依赖交互和文案不能充分教育用户,用户教育成本高;
  • 客服是用户寻求帮助和了解产品的有效途径。

 
客服组成

客服涉及帮助列表、在线智能客服、电话自助客服、人工客服。

753795-b4b71ea5c0b5ae2c.png


自认为的的客服流程应该是:适当曝光入口,精准定位问题,再友好解决问题。本文将从各自的入口、逻辑、解决率、可优化程度、优化成本、优化顺序分析。

753795-be3f25ea8864ed50.png


客服入口

入口的曝光程度依赖于定位问题的精准程度、解决问题能力(解决率),以及解决问题成本。

人工客服的高人工成本决定无论如何入口都必须深。

帮助列表、在线智能、电话自助服务一经上线,需要维护的人工成本不高。只要帮助列表的解决能力不是很差,都可以适当曝光。

在线智能客服一般都可以引入到在线人工客服,因此漫山遍野的前提是能一定程度上切断与人工客服的联系。

电话自助和电话人工客服的联系不可切断,因为电话自助客服的曝光程度与电话人工客服一样,少量曝光即可。
 
帮助列表

753795-8f8efc9cd18845c3.png


(1)入口

后期维护成本不高,可以适当增加曝光。

保证所有入口的icon、交互尽量保持一致,让用户感知和习惯到帮助列表的入口。

(2)精准定位问题

产生问题的场景:看到当前页面的信息之后,或者进行了某种产品行为之后。

点击量便是调优参数。所以精准定位问题的背后逻辑可能是:

a、页面分级和提取页面标签:

无法获得详细精准信息的页面提供统一的通用帮助列表;

详细页面帮助列表个性化。收集当前页面信息,读取信息的标签,然后根据标签展示相关的热点问题,按点击量排序。花呗的个性化帮助列表的页面标签(如果有)可能包含但不限于以下内容:分期、还款、退款、大商户、支付等。

b、用户产品行为

用户在查看帮助列表的前一个时间范围内,有比较重要的产品行为操作。以花呗为例,这样的行为包括单不限于:分期、还款、退款、支付、查看额度。

c、点击量

调优参数。

753795-d68c9a24ddaa0a08.png


d、你想告诉用户的是什么?

一些基本产品规则不知道可能衍生其他复杂问题,所以要“高亮显示”。

i. 问题列表应该是按照产品行为特征分类(契合用户角度);

ii. 点击量数字化,吸引用户关注(或者hot标识代替)。

(3)友好解决问题

753795-95fc5f2539ae2918.png


此部分涉及三个点:可阅读性 ,可解决性,可扩展性、解决率。


可阅读性:即答案精炼分点;重点加粗标红;图文并茂甚至支持gif,但需考虑到屏幕受限。

可解决性:答案的有效性(紧跟功能迭代);跳转到解决问题的页面。

可扩展性:相关问题和在线智能客服的入口。

解决率:提供“解决”、“未解决”两个按钮然而很少用户会点击。所以解决率可能可以参考跳转按钮解决率,进入智能客服比例。

(4)解决率、可优化程度、优化成本、优化顺序


帮助列表的解决率很难衡量;

可优化程度相对较高;优化成本较低;

性价比决定其优化顺序应当靠前。

在线智能客服

753795-e61a8b6784911de7.png


(1)入口


后期维护成本不高,在相对切断与在线人工客服的联系的前提下,或者默认隐藏在线人工客服的入口,在用户向在线智能客服提了第一个问题时才露出人工客服入口,可以适当增加入口。

(2)精准定位问题

在线智能机器人一般公司不会独立研发,而是直接购买其他公司的服务(live800、小i机器人等)。

a、语音输入

考虑到语音识别的方言口音支持能力差的问题,语音输入性价比确实不高。

b、预测输入

预测输入就是根据用户已输入的内容,匹配相关问题候选。好的预测能引导用户问得更标准,方便匹配到标准问题。

c、智能识别问题


753795-c1a0fd65463f8253.png


预测候选问题是通过每天对用户咨询问题的报告得出。预测候选问题与标准问题已经通过关键词匹配和一定人工印象。匹配到对应标准问题概率非常大。而没有预测问题过程,直接由用户输入问题匹配则匹配率不高。

(3)解决问题

此部分涉及三个点:可阅读性 ,可解决性,可扩展性、解决率。


基本同上述帮助列表的最佳优化。补充一点是,智能客服多模拟对话场景,因此文案偏轻松,但要控制篇幅(交互上可考虑折叠)

(4)解决率、可优化程度、优化成本、优化顺序


由于在线智能客服可跳转到在线人工,因此一般以拦截率作为解决率。(30%~50%)

可优化程度相对居中;优化成本较居中;


性价比决定其优化顺序应当局中。

电话自助客服

(1)入口

随电话人工客服曝光,人工客服成本高,应减少曝光。

(2)产品逻辑

a、播报菜单前,查询号码匹配账户,自动播报信息(如退款进度、物流记录)

b、简单问题直接播报方法。(查询、账户管理)

c、有一定风险、流程短问题,验证绑定手机后操作。(退款、提现等涉及钱)

(3)解决率、可优化程度、优化成本、优化顺序

解决率即拦截率(跳转到电话人工客服);

流程越长、验证约复杂,解决率约低。因此适用问题有限,优化程度低。

优化成本居中,因此优化顺序靠后。(金融产品规则复杂)

电话自助客服


(1)入口

成本最高,入口尽量少。

(2)优化重点

知识库与客服培训



753795-51cba900d7f52c40.png


(3)解决率、可优化程度、优化成本、优化顺序

解决率最高,然而可优化程度低,优化成本也非常高。优化方法依赖于客服产出(录音和客诉记录),然后客服一般不愿意将这些暴露给其他部门看,优化顺序最后。

然而,搞客服不如好好搞好产品,当然也不能闭门造车。
  收起阅读 »