15个Chrome中的开发技巧
一、快速切换文件
如果你使用过sublime text,那么你可能不习惯没有Go to anything这个功能的覆盖。你会很高兴听到chrome开发者功能也有这个功能,当DevTools被打开的时候,按Ctrl+P(cmd+p on mac),就能快速搜寻和打开你项目的文件。
快速切换文件
二、在源代码中搜索
如果你希望在源代码中搜索要怎么办呢?在页面已经加载的文件中搜寻一个特定的字符串,快捷键是Ctrl + Shift + F (Cmd + Opt + F),这种搜寻方式还支持正则表达式哦
在源代码中搜索
三、快速跳转到指定行
在Sources标签中打开一个文件之后,在Windows和Linux中,按Ctrl + G,(or Cmd + L for Mac),然后输入行号,DevTools就会允许你跳转到文件中的任意一行。
快速跳转到指定行
另外一种方式是按Ctrl + O,输入:和行数,而不用去寻找一个文件。
四、在控制台选择元素
DevTools控制台支持一些变量和函数来选择DOM元素:
$()–document.querySelector()的简写,返回第一个和css选择器匹配的元素。例如$(‘div’)返回这个页面中第一个div元素
$$()–document.querySelectorAll()的简写,返回一个和css选择器匹配的元素数组。
$0-$4–依次返回五个最近你在元素面板选择过的DOM元素的历史记录,$0是最新的记录,以此类推。
在控制台选择元素
五、使用多个插入符进行选择
当编辑一个文件的时候,你可以按住Ctrl(cmd for mac),在你要编辑的地方点击鼠标,可以设置多个插入符,这样可以一次在多个地方编辑。
使用多个插入符进行选择
六、保存记录
勾选在Console标签下的保存记录选项,你可以使DevTools的console继续保存记录而不会在每个页面加载之后清除记录。当你想要研究在页面还没加载完之前出现的bug时,这会是一个很方便的方法。
保存记录
七、优质打印
Chrome’s Developer Tools有内建的美化代码,可以返回一段最小化且格式易读的代码。Pretty Print的按钮在Sources标签的左下角。
优质打印
八、设备模式
对于开发移动友好页面,DevTools包含了一个非常强大的模式,这个谷歌视频介绍了其主要特点,如调整屏幕大小、触摸仿真和模拟糟糕的网络连接。
设备模式
九、设备传感仿真
设备模式的另一个很酷的功能是模拟移动设备的传感器,例如触摸屏幕和加速计。你甚至可以恶搞你的地理位置。这个功能位于元素标签的底部,点击“show drawer”按钮,就可看见Emulation标签 --> Sensors。
设备传感仿真
十、颜色选择器
当在样式编辑中选择了一个颜色属性时,你可以点击颜色预览,就会弹出一个颜色选择器。当选择器开启时,如果你停留在页面,鼠标指针会变成一个放大镜,让你去选择像素精度的颜色。
颜色选择器
十一、强制改变元素状态
DevTools有一个可以模拟CSS状态的功能,例如元素的hover和focus,可以很容易的改变元素样式。在CSS编辑器中可以利用这个功能。
强制改变元素状态
十二、可视化的DOM阴影
Web浏览器在构建如文本框、按钮和输入框一类元素时,其它基本元素的视图是隐藏的。不过,你可以在Settings -> General 中切换成Show user agent shadow DOM,这样就会在元素标签页中显示被隐藏的代码。甚至还能单独设计他们的样式,这给你了很大的控制权。
可视化的DOM阴影
十三、选择下一个匹配项
当在Sources标签下编辑文件时,按下Ctrl + D (Cmd + D) ,当前选中的单词的下一个匹配也会被选中,有利于你同时对它们进行编辑。
选择下一个匹配项
十四、改变颜色格式
在颜色预览功能使用快捷键Shift + Click,可以在rgba、hsl和hexadecimal来回切换颜色的格式。
改变颜色格式
十五、通过workspaces来编辑本地 文件
Workspaces是Chrome DevTools的一个强大功能,这使DevTools变成了一个真正的IDE。Workspaces会将Sources选项卡中的文件和本地项目中的文件进行匹配,所以你可以直接编辑和保存,而不必复制/粘贴外部改变的文件到编辑器。
为了配置Workspaces,只需打开Sources选项,然后右击左边面板的任何一个地方,选择Add Folder To Worskpace,或者只是把你的整个工程文件夹拖放入Developer Tool。现在,无论在哪一个文件夹,被选中的文件夹,包括其子目录和所有文件都可以被编辑。为了让Workspaces更高效,你可以将页面中用到的文件映射到相应的文件夹,允许在线编辑和简单的保存。 收起阅读 »
PHP异常的捕获及处理
<?php自定义异常处理
header("Content-type:text/html;charset=utf-8");
try
{
//业务处理 错误时抛出异常。
$age = 130;
if ($age > 120) {
throw new Exception('年龄不能大于120岁。', 1001);
}
} catch (Exception $e) {
$err = [
'code' => $e->getCode(),
'msg' => $e->getMessage(),
'file' => $e->getFile(),
'line' => $e->getLine()
];
echo json_encode($err);
}
输出:{"code":1001,"msg":"\u5e74\u9f84\u4e0d\u80fd\u5927\u4e8e120\u5c81\u3002","file":"\/data\/mi\/demo.php","line":11}
<?php捕捉多个异常
header("Content-type:text/html;charset=utf-8");
class proException extends Exception
{
//根据业务需求,自定义方法
/**
* 获取错误信息
* @param int $type 类型 1=json 2=数组
* @return array
*/
public function getErrorInfo($type = 2)
{
$err = [
'code' => $this->getCode(),
'msg' => $this->getMessage(),
'file' => $this->getFile(),
'line' => $this->getLine()
];
if ($type == 1) {
return json_encode($err);
}
return $err;
}
}
try
{
//业务处理 错误时抛出异常。
$age = 130;
if ($age > 120) {
throw new proException('年龄不能大于120岁。', 1001);
}
} catch (proException $e) {
$info = $e->getErrorInfo();
var_dump($info);
}
输出:array(4) { ["code"]=> int(1001) ["msg"]=> string(27) "年龄不能大于120岁。" ["file"]=> string(17) "/data/mi/demo.php" ["line"]=> int(53) }
<?php日志记录
header("Content-type:text/html;charset=utf-8");
class proException extends Exception
{
//根据业务需求,自定义错误方法
/**
* 获取错误信息
* @param int $type 类型 1=json 2=数组
* @return array
*/
public function getErrorInfo($type = 2)
{
$err = [
'code' => $this->getCode(),
'msg' => $this->getMessage(),
'file' => $this->getFile(),
'line' => $this->getLine()
];
if ($type == 1) {
return json_encode($err);
}
return $err;
}
}
try
{
if ($_GET['age'] > 100) {
throw new proException('自定义的异常处理', 1002);
} else {
throw new Exception('系统的异常处理', 1002);
}
} catch (proException $e) {
$info = $e->getErrorInfo();
var_dump($info);
} catch (Exception $e) {
echo $e->getMessage();
}
?age=110 输出:array(4) { ["code"]=> int(1002) ["msg"]=> string(24) "自定义的异常处理" ["file"]=> string(17) "/data/mi/demo.php" ["line"]=> int(64) }
?age=20 输出:系统的异常处理。
//禁止错误输出备注:
error_reporting(0);
//设置错误处理器
set_error_handler('errorHandler');
//在脚本结束时运行的函数
register_shutdown_function('fatalErrorHandler');
/**
* 错误处理
* @param int $err_no 错误代码
* @param string $err_msg 错误信息
* @param string $err_file 错误文件
* @param int $err_line 错误行号
* @return string
*/
function errorHandler($err_no = 0, $err_msg = '', $err_file = '', $err_line = 0)
{
$log = [
'['.date('Y-m-d h-i-s').']',
'|',
$err_no,
'|',
$err_msg,
'|',
$err_file,
'|',
$err_line
];
$log_path = '/data/mi/test.txt';
error_log(implode(' ',$log)."\r\n",3, $log_path);
//echo implode(' ',$log)."<br>";
}
/**
* 捕捉致命错误
* @return string
*/
function fatalErrorHandler() {
$e = error_get_last();
switch ($e['type']) {
case 1:
errorHandler($e['type'], $e['message'], $e['file'], $e['line']);
break;
}
}
class DemoClass_1
{
public function index()
{
//这里发生一个警告错误,出发errorHandler
echo $undefinedVarible;
}
}
$demo_1 = new DemoClass_1();
//这里发生一个警告错误,被errorHandler 捕获
$demo_1->index();
//发生致命错误,脚本停止运行触发 fatalErrorHandler
$demo_2 = new DemoClass_2();
$demo_2->index();
打开echo后 输出:
[2016-08-07 09-01-34] | 8 | Undefined variable: undefinedVarible | /data/mi/demo.php | 126
[2016-08-07 09-01-34] | 1 | Class 'DemoClass_2' not found | /data/mi/demo.php | 134
- register_shutdown_function 也可以用于API调试中,记录每次请求值和返回值,方便调试。
- 利用 “|” 分割的好处是,便于利用 awk 对日志进行分割处理。
Thanks ~ 收起阅读 »
环信移动客服v4.12产品更新--新增按对应渠道开启机器人,新增智能质检
【新增】1.按对应渠道开启机器人
新增按对应渠道开启机器人的功能,让机器人客服的服务更精准。
前往“管理员模式 > 智能机器人 > 机器人设置”页面,对渠道进行设置。
【新增】 2.工作量报表新增接起、呼入、回呼会话数
2.1 接起会话数
2.2 呼入、回呼会话数
【新增】3.工作量报表支持按会话类型筛选
工作量报表支持按会话类型筛选,可以根据全部、呼入、呼出会话进行报表查询。
【优化】4.工作量和排队统计报表重构
工作量报表的“24小时进线量(均值)”移入排队统计报表中,位于“24小时排队统计”之前,便于管理员了解会话量和消息量在24小时时段内的分布、以及同样时段内的排队情况,合理安排客服人员。
【新增】5.工作量、工作质量、访客统计、排队统计报表支持“全部导出”
支持对工作量、工作质量、访客统计、排队统计报表的全部数据进行导出,便于数据整理和分析。
【新增】6.智能质检(旗舰版客户专享)
质量检查页面新增“智能质检”功能,开启该功能后,系统会自动检查访客和客服的历史消息,如果发现异常,则在“智能质检”一列提示“有问题”,并在质检详情页提示问题原因。
有了智能质检的辅助,质检员可以扩大筛选范围,覆盖更多会话,提高质检效率,获得更准确的质检结果。
体验环信移动客服http://kefu.easemob.com/
查看历史版本请点击版本历史
环信移动客服v4.12_产品更新说明/产品功能列表/产品使用指南 请点击下载↓↓↓
收起阅读 »
Android studio汉化教程
第一步
下载Android studio汉化包【文章末尾】
第二步
找到你Android studio的安装目录,并打开lib文件夹,把resources_en这个文件复制到另一个位置用来改装,这里我复制到了桌面。
第三步
将文件resources_en重命名为resources_cn
第四步
将下载好的Android studio汉化包里的所有文件全部复制
第五步
将复制好的文件全部粘贴到resources_cn下的messages文件夹中,然后再把resources_cn文件放回到Android studio目录下lib文件中完成汉化。
最后
打开Android studio就是中文界面啦!
喜欢的话别忘了赞赏一波!作者it青年
Android studio汉化包↓↓↓
收起阅读 »
环信移动客服与方案家强强联合 缔结战略伙伴关系
(图:环信移动客服&方案家达成战略合作)
据相关数据了解,中国移动端客服软件市场基本空白。传统客服软件巨头转型缓慢,并且移动客服所需要的可靠IM技术获取门槛较高。而环信移动客服软件的出现很好的弥补了移动端客服软件市场的空缺。同时,环信移动客服不仅可以整合多渠道的服务平台,还通过与包括传统CallCentre的合作和微博、微信、App、邮件等渠道的整合,最终把用户反馈汇集到同一个界面内,方便客服人员操作。正基于此,方案家平台充分考虑到目前互联网行业服务商开发客户成本高,获客难度大,无法精准抓取目标客户(PC端/移动端),为解决服务商问题,方案家与环信移动客服展开深度合作,双方充分发挥各自资源优势,协同合作提升联合体核心竞争力,优势互补建立“合作共赢”战略。
(图:环信授权书展示)
据方案家CEO熊志宪透露,“2015年以来,互联网+发展异常迅猛,市场容量年年攀升,人们的消费理念也在逐步提升,这给互联网+行业带来了无限的市场机遇。截止目前,方案家平台已拥有千家服务商的活跃群体,形成了方案家独有的B2B大数据体系。方案家作为一站式网络服务平台,提供免费的互联网策划,监理,担保,金融,移动互联网及大数据分析等服务,帮助企业和互联网服务商最优选型配对,打造互联网+服务满意度100%的平台。” 随着本次签约仪式的圆满结束,我们坚信,通过环信移动客服与方案家的深度战略合作,必将推动行业更加深度的发展,为互联网+做出巨大贡献! 收起阅读 »
环信联合客户世界推国内首本全媒体客服学术著作,客服行业迈向全媒体时代!
呼叫中心(客户中心)行业在中国近二十年来发展迅猛。在中国的发展路径是遵循呼叫、接触、互动 (call center -> contact center -> interaction center)的过程。而新时代的客户互动又注入了客户契合互动(engagement)的内涵,客户中心正在发生深刻的变革。随着国内以环信为典型代表的一批新一代全媒体智能SaaS客服企业的蓬勃发展,全媒体客服已经逐渐成为客服行业的标配。
国内第一本“全媒体”客服学术著作《全媒体客户中心管理》
8月3日,国内第一本“全媒体”客服学术著作《全媒体客户中心管理》读书沙龙将在包括北上广深等全国十大城市陆续举办。环信作为国内全媒体智能SaaS客服的倡领者一直致力于推动整个中国SaaS客服行业的发展,给企业提供最具效率和最佳用户体验的客服产品及服务。此次和客服行业权威媒体《客户世界》以及行业专家一起联合推出《全媒体客户中心管理》一书,环信提供了在全媒体客服领域包括产品技术和客户运营方面大量的最佳实践及成功案例。同时,环信参与了从前期图书主题的设定、相关最佳实践和成功案例的准备、中期文档图表的梳理、后期出版环节的编审和呈现,一直到各地读书沙龙的组织工作,目的也是推动整个SaaS客服行业和企业用户少走弯路,加速企业用户的信息化和用户体验进程,让呼叫中心(客户中心)提速迈向智能化和数据化时代。
环信CEO刘俊彦表示:“环信有一整套的针对传统呼叫中心(客户中心)的全媒体智能客服升级方案,让传统呼叫中心在保留已有投资的同时,无缝升级到全媒体智能客服中心,全面拥抱移动互联网。”环信同时希望不仅是北上广深等一线城市的企业用户能够享受到SaaS智能客服所带来的生产力,更希望此次活动借助《客户世界》的影响力能够辐射至三四线城市,让那里的企业用户也能够同样享受到以环信为代表的一批中国最优秀SaaS厂商提供的服务。”
呼叫中心(客户中心)经过多年的发展,单一的语音服务渠道进化成为多介质的复合服务渠道体,并最终将发展为整合传播服务、营销、销售和产品传为一体的互动中心的机制架构。作为企业数字化服务,电子商务中信息流和体验流的接入平台和整合载体,客户中心正在发生深刻的变革,展现出日益多元的价值。而随着全新的人机智能时代的到来, 深度学习,认知计算,服务机器人,增强现实空间又在深刻地改变客户交互的方式,能力与体验, 以致冲击客户中心现有的运营方式, 人力资源体系,和绩效指标等管理手段。 我们再一次目睹时代的风云正在奔来,我们有幸处在大变革时代的当口。
移动互联网,客户体验革命, 新渠道/轻渠道/微渠道, 大数据,人工智能,认知计算,各种变化正在深刻改变着客户交互与服务领域的形态与内涵。伴随着客户互动的革命,从呼叫中心演变到的客户中心,并不断扩展的客户交互平台,本行业正经历着深刻的变革。运营日益规模化,精准化、多通路化、智能化和普适化。随着语音和文本, 多媒体渠道为一体,人工与智能服务共协同,物理与数字的通路大融合,随着以客户理念,人文为中心时代的来临,客户中心正从企业价值链的一侧走向价值传递的中央,与精艳的产品研发一起发挥着客户体验创造的核心角色。
作为国内成立最早、影响最大的客户管理人俱乐部,“好客会”的创始成员包括客户世界研究院顾问专家、CC-CMM标准指导委员会委员、《客户世界》杂志编委等,现有企业高管及专家会员+500名,通过举办年会、行业/主题论坛及读书沙龙、编辑聚餐、禅修、户外健身运动等方式推动会员交流。已举办各类线下会员活动超过两百场。12年以来已累计与超过100万人次的会员进行研讨交流。
顺应市场的发展及对行业热点的追踪,2016年“好客会”系列读书沙龙的主题确定为:全媒体客户中心管理。8-9月期间,其行程将包括国内十大客户中心聚集城市:北京、上海、广州、深圳、成都、南京、合肥、杭州、武汉、青岛。《全媒体客户中心》管理一书从一面市就得到了业界广泛的关注和追捧,全面提速了呼叫中心(客户中心)迈向智能化和数据化时代。
关于好客会:
“好客会”系列活动自2004年起常年在全国各主要城市巡回举办,秉持其“远离商业广告的思想碰撞”的互动宗旨,自创立起即以其纯学术、高规范、行程广、参与众等特点在中国客户关怀及管理领域掀起了一股思想创新和实践变革的风潮。邀请业界领先的思想和实践领袖,汇集企业实践一线的同仁,采撷市场最新案例成果,引发本领域的思想碰撞。
关于环信:
环信——全媒体智能云客服的倡领者,于2016年荣膺“Gartner 2016 Cool Vendor”。环信支持全媒体接入,包括网页在线客服、社交媒体客服(微博、微信)、APP内置客服和呼叫中心等多种渠道均可一键接入。基于环信业界领先的IM长连接技术保证消息必达,并通过智能客服机器人技术降低人工客服工作量。同时,基于人工智能和大数据挖掘的客户旅程透析产品”环信客户声音”能够帮助企业优化运营,提高跨渠道客服体验。
截至2016年上半年,环信移动客服共服务了29437家企业用户,现已覆盖包括电商、O2O、互联网金融、在线教育、在线旅游、移动医疗、智能硬件、游戏等领域的Top10客户,典型用户包括国美在线、58到家、楚楚街、海尔、神州专车、新东方、链家、泰康在线、号码百事通等众多标杆企业。根据易观发布的《中国SaaS客服市场专题研究报告》显示,环信移动客服在SaaS移动端客服用户覆盖占比高达77.4%,稳居行业第一。
收起阅读 »
基于环信SDK 开发的iOS 通讯项目-附项目源码,喜欢就请star一下!
支持语音,图片以及emoji 和文字.在这就是未读消息显示以及自动登录.再者就是从数据库中消息的读取.最后就是一个添加好友以及好友的一个展示列表;先来几张效果图吧:
大概效果图.png
信息的读取.png
附上 github 地址:https://github.com/OneWang/IM-WeiChat
如果能够帮到您就 star 关注一下了,不胜感激(⊙o⊙)哦!;
二:集成
具体的集成流程环信官网上的开发文档我想步骤已经写得很详细了,如果还有不明白的可以私信我,具体可以查看官方文档;地址:http://docs.easemob.com
再者就是 appkey 的申请了;到环信的开发者中心去注册一下 账户,这是免费的哦!然后创建自己的应用获取相应的应用标识(AppKey);在后面开发的时候会用到的,没有的话是没法进行开发的;
三:开发流程
1.初始化 SDK:
第 1 步:引入相关头文件 #import “EMSDK.h”。
第 2 步:在工程的 AppDelegate 中的以下方法中,调用 SDK 对应方法。
//registerSDKWithAppKey:注册的appKey,开发者注册及管理后台。2.注册:
//apnsCertName:推送证书名(不需要加后缀),制作与上传推送证书。
// [[EaseMob sharedInstance] registerSDKWithAppKey:@"437512311#chat-wang" apnsCertName:nil];
//1.初始化SDK,并隐藏环信SDK的日志输出
[[EaseMob sharedInstance] registerSDKWithAppKey:@"437512311#chat-wang" apnsCertName:nil otherConfig:@{kSDKConfigEnableConsoleLogger : @(NO)}];
[[EaseMob sharedInstance] application:application didFinishLaunchingWithOptions:launchOptions];
//app进入后台
- (void)applicationDidEnterBackground:(UIApplication *)application {
[[EaseMob sharedInstance] applicationDidEnterBackground:application];
}
//app将要从后台返回
- (void)applicationWillEnterForeground:(UIApplication *)application {
[[EaseMob sharedInstance] applicationWillEnterForeground:application];
}
- (void)dealloc
{
[[EaseMob sharedInstance].chatManager removeDelegate:self];
}
注册模式分两种,开放注册和授权注册。
- 只有开放注册时,才可以客户端注册。开放注册是为了测试使用,正式环境中不推荐使用该方式注册环信账号。
- 授权注册的流程应该是您服务器通过环信提供的 REST API 注册,之后保存到您的服务器或返回给客户端。
//注册 [[EaseMob sharedInstance].chatManager asyncRegisterNewAccount:username password:password withCompletion:^(NSString *username, NSString *password, EMError *error) { if (!error) { [MBProgressHUD showSuccess:@"注册成功"]; }else{ [MBProgressHUD showError:@"注册失败"]; NSLog(@"注册失败:%@",error); } } onQueue:dispatch_get_main_queue()];3.登录以及自动登录
- 自动登录:即首次登录成功后,不需要再次调用登录方法,在下次 APP 启动时,SDK 会自动为您登录。并且如果您自动登录失败,也可以读取到之前的会话信息。
- SDK 中自动登录属性默认是关闭的,需要您在登录成功后设置,以便您在下次 APP 启动时不需要再次调用环信登录,并且能在没有网的情况下得到会话列表。
//让环信的SDK在第一次登录之后,自动从服务器获取好友列表,添加到本地数据库中(Buddy表) [[EaseMob sharedInstance].chatManager setIsAutoFetchBuddyList:YES]; NSString * username = self.userNameField.text; NSString * password = self.passWordField.text; if (username.length == 0 || password.length == 0) { [MBProgressHUD showError:@"账号或密码不能为空"]; return; } //登录 [[EaseMob sharedInstance].chatManager asyncLoginWithUsername:username password:password completion:^(NSDictionary *loginInfo, EMError *error) { //登录请求之后的block的回调 if (!error) { /* 登录信息格式 LastLoginTime = 1462246275413; jid = "437512311#chat-wang_wang@easemob.com"; password = 123456; resource = mobile; token = "YWMtOqAglhDfEeaq3zM2X-U7XgAAAVWpp1G2iB3Bmbp4pSTCxFiBv2EgsfS4xUc"; username = wang; */ [MBProgressHUD showSuccess:@"登录成功"]; NSLog(@"用户信息:%@",loginInfo); //设置自动登录 [[EaseMob sharedInstance].chatManager setIsAutoLoginEnabled:YES]; //来主界面 self.view.window.rootViewController = [UIStoryboard storyboardWithName:@"Main" bundle:nil].instantiateInitialViewController; }else{ [MBProgressHUD showError:@"登录失败"]; NSLog(@"登录错误信息:%@",error); //User do not exist /** 每一个应用都有自己的注册用户 */ } } onQueue:dispatch_get_main_queue()];自动登录在以下几种情况下会被取消:
- 用户调用了 SDK 的登出动作;
- 用户在别的设备上更改了密码,导致此设备上自动登录失败;
- 用户的账号被从服务器端删除;
- 用户从另一个设备登录,把当前设备上登录的用户踢出。
//2.监听自动登录的状态 //设置chatManager代理 [[EaseMob sharedInstance].chatManager addDelegate:self delegateQueue:dispatch_get_main_queue()]; //3.如果登录过,直接来到主界面 if ([[EaseMob sharedInstance].chatManager isAutoLoginEnabled]) { self.window.rootViewController = [UIStoryboard storyboardWithName:@"Main" bundle:nil].instantiateInitialViewController; }SDK 中,如果发生自动登录,会有以下回调:
#pragma mark 自动登录的回调- (void)didAutoLoginWithInfo:(NSDictionary *)loginInfo error:(EMError *)error{ if (!error) { [MBProgressHUD showSuccess:@"自动登录成功"]; NSLog(@"自动登录成功 %@",loginInfo); }else{ [MBProgressHUD showError:@"自动登录失败"]; NSLog(@"自动登录失败 %@",error); }}4.退出登录退出登录分两种类型:主动退出登录和被动退出登录。
- 主动退出登录:调用 SDK 的退出接口;
- 被动退出登录:1. 正在登录的账号在另一台设备上登录;2. 正在登录的账号被从服务器端删除。
- logout:YES:是否解除 device token 的绑定,在被动退出时 SDK 内部处理,不需要调用退出方法。
//isUnbind 是否推送使用回调方法监听被动退出登录。
[[EaseMob sharedInstance].chatManager asyncLogoffWithUnbindDeviceToken:YES completion:^(NSDictionary *info, EMError *error) {
if (error) {
NSLog(@"退出失败 %@",error);
}else{
NSLog(@"退出成功");
//回到登录界面
self.view.window.rootViewController = [UIStoryboard storyboardWithName:@"Login" bundle:nil].instantiateInitialViewController;
}
} onQueue:nil];
/*!五:构建消息并发送消息对象
@method
@brief 用户注销后的回调
@discussion
@param error 错误信息
@result
*/
- (void)didLogoffWithError:(EMError *)error;
/*!
@method
@brief 当前登录账号在其它设备登录时的通知回调
@discussion
@result
*/
- (void)didLoginFromOtherDevice;
/*!
@method
@brief 当前登录账号已经被从服务器端删除
@discussion
@result
*/
- (void)didRemovedFromServer;
- (void)sendMesssage:(id<IEMMessageBody>)body{初始化一个会话对象
//2.构造消息对象
EMMessage *msgObj = [[EMMessage alloc] initWithReceiver:self.buddy.username bodies:@[body]];
//消息类型为单聊模式
msgObj.messageType = eMessageTypeChat;
//3.发送消息
[[EaseMob sharedInstance].chatManager asyncSendMessage:msgObj progress:nil prepare:^(EMMessage *message, EMError *error) {
NSLog(@"准备发送");
} onQueue:nil completion:^(EMMessage *message, EMError *error) {
NSLog(@"发送成功");
} onQueue:nil];
//把消息添加到数据源数组,然后刷新表格
[self addDataArrayWithMessage:msgObj];
[self.tableView reloadData];
//把消息滚动显示在最上面
[self scrollToBottom];
}
EMConversation *conversation = [[EaseMob sharedInstance].chatManager conversationForChatter:self.buddy.username conversationType:eConversationTypeChat];六:获取好友列表
//从服务器获取好友列表七:获取历史会话记录
[[EaseMob sharedInstance].chatManager asyncFetchBuddyListWithCompletion:^(NSArray *buddyList, EMError *error) {
//赋值给数据源
self.buddyList = buddyList;
//刷新
[self.tableView reloadData];
} onQueue:nil];
// 获取好友列表的数据
/* 注意
1.好友列表buddyList需要在自动登录之后才有值
2.buddyList数据是从本地数据库获取的
3.要想从服务器获取好友数据调用这个方法- (void *)asyncFetchBuddyListWithCompletion:(void (^)(NSArray *buddyList, EMError *error))completion
onQueue:(dispatch_queue_t)queue;
4.如果当前有添加好友请求,环信的SDK内部会往数据库的buddy表添加好友记录
5.如果程序删除或者用户第一次登录,buddyList表是没有记录的;
解决方案:
1.要从服务器获取好友列表记录
2.用户第一次登录后,自动从服务器获取还有列表
*/
//删除好友
[[EaseMob sharedInstance].chatManager removeBuddy:username removeFromRemote:YES error:nil];
//添加代理后好友列表更新监听
#pragma mark 好友数据列表被更新
- (void)didUpdateBuddyList:(NSArray *)buddyList changedBuddies:(NSArray *)changedBuddies isAdd:(BOOL)isAdd
//获取历史会话记录显示未读消息数目:
//1.从内存中获取历史会话记录
NSArray *conversations = [[EaseMob sharedInstance].chatManager conversations];
//2.如果内存中没有会话记录,从数据库中获取conversations
if (conversations.count == 0) {
conversations = [[EaseMob sharedInstance].chatManager loadAllConversationsFromDatabaseWithAppend2Chat:YES];
}
self.conversations = conversations;
//遍历所有的会话记录,将未读消息数进行类加总结:
NSInteger totalUnreadCount = 0;
for (EMConversation *conversation in self.conversations) {
totalUnreadCount += conversation.unreadMessagesCount;
}
if (totalUnreadCount > 0) {
self.navigationController.tabBarItem.badgeValue = [NSString stringWithFormat:@"%ld",totalUnreadCount];
}else{
self.navigationController.tabBarItem.badgeValue = nil;
}
[EaseMob sharedInstance].chatManager ; //这是会话管理者,获取该对象后, 可以做登录、聊天、加好友等操作;
[EaseMob sharedInstance].callManager ;//这是即时通讯(语音聊天和视频聊天)的管理者.
在开发过程中主要是这两个个对象在掌控所有会话消息等;
作者:环信热心用户西风颂 收起阅读 »
环信移动客服v4.11产品更新--当前会话支持筛选,让管理更高效
1 Web客服工作台
1.1 当前会话支持筛选
1.2 支持客服昵称的模糊搜索
1.3 Iframe标题支持自定义
1.4 【优化】质检详情页面优化
1.5 【优化】排队时间包括转接时的等待时间
1.6 【优化】支持排序的表格标题行增加更显眼的标志
2 Web插件
2.1 新增参数,可隐藏转接中、正在排队等提示
2.2 H5支持微信公众号信息并发送至客服端
3 商城Demo
3.1 商城Demo增加留言功能
第1步:设置留言接收方
第2步:发起留言
第3步:查看全部留言
第4步:查看留言详情
第5步:对留言进行评论
体验环信移动客服http://kefu.easemob.com/
环信移动客服v4.11_产品更新说明/产品功能列表/产品使用指南 请点击下载↓↓↓
收起阅读 »
iOS 圆形图
- (PieChartData *)setData{收起阅读 »
double mult = 100;
int count = 5;//饼状图总共有几块组成
//每个区块的数据
NSMutableArray *yVals = [[NSMutableArray alloc] init];
for (int i = 0; i < count; i++) {
double randomVal = arc4random_uniform(mult + 1);
BarChartDataEntry *entry = [[BarChartDataEntry alloc] initWithValue:randomVal xIndex:i];
[yVals addObject:entry];
}
//每个区块的名称或描述
NSMutableArray *xVals = [[NSMutableArray alloc] init];
for (int i = 0; i < count; i++) {
NSString *title = [NSString stringWithFormat:@"part%d", i+1];
[xVals addObject:title];
}
//dataSet
PieChartDataSet *dataSet = [[PieChartDataSet alloc] initWithYVals:yVals label:@""];
dataSet.drawValuesEnabled = YES;//是否绘制显示数据
NSMutableArray *colors = [[NSMutableArray alloc] init];
[colors addObjectsFromArray:ChartColorTemplates.vordiplom];
[colors addObjectsFromArray:ChartColorTemplates.joyful];
[colors addObjectsFromArray:ChartColorTemplates.colorful];
[colors addObjectsFromArray:ChartColorTemplates.liberty];
[colors addObjectsFromArray:ChartColorTemplates.pastel];
[colors addObject:[UIColor colorWithRed:51/255.f green:181/255.f blue:229/255.f alpha:1.f]];
dataSet.colors = colors;//区块颜色
dataSet.sliceSpace = 3;//相邻区块之间的间距
dataSet.selectionShift = 8;//选中区块时, 放大的半径
dataSet.xValuePosition = PieChartValuePositionInsideSlice;//名称位置
dataSet.yValuePosition = PieChartValuePositionOutsideSlice;//数据位置
//数据与区块之间的用于指示的折线样式
dataSet.valueLinePart1OffsetPercentage = 0.85;//折线中第一段起始位置相对于区块的偏移量, 数值越大, 折线距离区块越远
dataSet.valueLinePart1Length = 0.5;//折线中第一段长度占比
dataSet.valueLinePart2Length = 0.4;//折线中第二段长度最大占比
dataSet.valueLineWidth = 1;//折线的粗细
dataSet.valueLineColor = [UIColor brownColor];//折线颜色
//data
PieChartData *data = [[PieChartData alloc] initWithXVals:xVals dataSet:dataSet];
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
formatter.numberStyle = NSNumberFormatterPercentStyle;
formatter.maximumFractionDigits = 0;//小数位数
formatter.multiplier = @1.f;
[data setValueFormatter:formatter];//设置显示数据格式
[data setValueTextColor:[UIColor brownColor]];
[data setValueFont:[UIFont systemFontOfSize:10]];
return data;
}
tableview 的圆角样式实现demo
if ([cell respondsToSelector:@selector(tintColor)]) {收起阅读 »
if (tableView==self.tableView) {
CGFloat cornerRadius = 15.f;
cell.backgroundColor = UIColor.clearColor;
// 创建一个shapeLayer
CAShapeLayer *layer = [[CAShapeLayer alloc] init];
// 创建一个可变的图像Path句柄,该路径用于保存绘图信息
CGMutablePathRef pathRef = CGPathCreateMutable();
// 获取cell的size
CGRect bounds = CGRectInset(cell.bounds, 0, 0);
// 这里要判断分组列表中的第一行,每组section的第一行,每组section的中间行
BOOL addLine = NO;
// CGPathAddRoundedRect(pathRef, nil, bounds, cornerRadius, cornerRadius);
if (indexPath.row == 0) {
// 初始起点为cell的左下角坐标
CGPathMoveToPoint(pathRef, nil, CGRectGetMinX(bounds), CGRectGetMaxY(bounds));
// 起始坐标为左下角,设为p1,(CGRectGetMinX(bounds), CGRectGetMinY(bounds))为左上角的点,设为p1(x1,y1),(CGRectGetMidX(bounds), CGRectGetMinY(bounds))为顶部中点的点,设为p2(x2,y2)。然后连接p1和p2为一条直线l1,连接初始点p到p1成一条直线l,则在两条直线相交处绘制弧度为r的圆角。
CGPathAddArcToPoint(pathRef, nil, CGRectGetMinX(bounds), CGRectGetMinY(bounds), CGRectGetMidX(bounds), CGRectGetMinY(bounds), cornerRadius);
CGPathAddArcToPoint(pathRef, nil, CGRectGetMaxX(bounds), CGRectGetMinY(bounds), CGRectGetMaxX(bounds), CGRectGetMidY(bounds), cornerRadius);
CGPathAddLineToPoint(pathRef, nil, CGRectGetMaxX(bounds), CGRectGetMaxY(bounds));
addLine = YES;
}else if (indexPath.row == [tableView numberOfRowsInSection:indexPath.section]-1) {
// 初始起点为cell的左上角坐标
CGPathMoveToPoint(pathRef, nil, CGRectGetMinX(bounds), CGRectGetMinY(bounds));
CGPathAddArcToPoint(pathRef, nil, CGRectGetMinX(bounds), CGRectGetMaxY(bounds), CGRectGetMidX(bounds), CGRectGetMaxY(bounds), cornerRadius);
CGPathAddArcToPoint(pathRef, nil, CGRectGetMaxX(bounds), CGRectGetMaxY(bounds), CGRectGetMaxX(bounds), CGRectGetMidY(bounds), cornerRadius);
CGPathAddLineToPoint(pathRef, nil, CGRectGetMaxX(bounds), CGRectGetMinY(bounds));
} else {
// 添加cell的rectangle信息到path中(不包括圆角)
CGPathAddRect(pathRef, nil, bounds);
addLine = YES;
}
// 把已经绘制好的可变图像路径赋值给图层,然后图层根据这图像path进行图像渲染render
layer.path = pathRef;
// 注意:但凡通过Quartz2D中带有creat/copy/retain方法创建出来的值都必须要释放
CFRelease(pathRef);
// 按照shape layer的path填充颜色,类似于渲染render
layer.fillColor = [UIColor redColor].CGColor;
// 添加分隔线图层
if (addLine == YES) {
CALayer *lineLayer = [[CALayer alloc] init];
CGFloat lineHeight = (1.f / [UIScreen mainScreen].scale);
lineLayer.frame = CGRectMake(CGRectGetMinX(bounds), bounds.size.height-lineHeight, bounds.size.width, lineHeight);
// 分隔线颜色取自于原来tableview的分隔线颜色
lineLayer.backgroundColor = tableView.separatorColor.CGColor;
[layer addSublayer:lineLayer];
}
// view大小与cell一致
UIView *roundView = [[UIView alloc] initWithFrame:bounds];
// 添加自定义圆角后的图层到roundView中
[roundView.layer insertSublayer:layer atIndex:0];
roundView.backgroundColor = UIColor.clearColor;
//cell的背景view
//cell.selectedBackgroundView = roundView;
cell.backgroundView = roundView;
环信又双叒叕获奖了
支付系统设计-发现场景与数据的价值|8 月 6 日 @ 北京
随着流量红利的消失殆尽,人口红利也逐渐衰退,企业由增量市场转向存量市场,流量成本和人力成本节节攀升。一个专业、完善、强韧的支付系统将为企业注入持续性的鲜活动力,并借助更高效的精细化运营能力、更果断准确的决策能力,进一步解放人力。
- 如何科学地搭建专业的支付系统?
- 如何解析多元化的移动支付场景?
- 如何实现数据的精细化运营?
- 如何深入挖掘用户价值?
8 月 6 日,Ping++ 带你解构支付系统设计的固有理念,了解热门支付场景的功能实现,发现用户数据背后的潜藏价值。
演讲嘉宾
赵宇
Ping++ 联合创始人
个人简介
先后在华为、上海讯联数据任职。有多年的软件产品相关工作经验,是国内最早一批的智能 POS 产品先行者,对支付产品有着深厚的行业积累。
夏苏敏
Ping++ 大数据总监
个人简介
毕业于纽约大学理工学院,曾就职于百度大数据部门任资深产品经理,负责百度预测、百度司南、百度大数据+等多款大数据产品。
周颢
环信高级产品经理
演讲主题
环信社区共服务了近十万家企业用户。如何既能更好服务好这些用户,又能调动用户间的互助和分享?原本环信社区是有一套积分系统,为何又废弃了它改用 Ping++ 实现现金赞赏? 效果又如何? 本次活动将会为大家分享。
Ping++ 简介
Ping++ 是聚合支付的先行者,国内首家支付聚合解决方案提供商。Ping++ 支持所有主流支付渠道,覆盖全平台全语言,具备灵活的系统配置、专业的人力支持和强大的数据分析能力,让商户能够一点式无缝接入支付、一站式轻松管理交易。环信简介
Ping++ 已帮助超 12000 家商户解决支付问题,提供电商、O2O、教育、旅游、医疗等众多领域的定制化支付服务方案,满足红包转账、报名收费、扫码签到、打赏抽奖、海淘报关、身份认证等丰富的场景需求。
环信成立于2013年4月,是一家企业级服务软件提供商,并于2016年荣膺“Gartner 2016 Cool Vendor”。产品包括国内上线最早规模最大的即时通讯云平台——环信即时通讯云,以及移动端最佳实践的全媒体智能云客服平台——环信移动客服。截至2016年上半年,环信即时通讯云共服务了82149家App客户,SDK覆盖手机终端5.64亿,平台日发送消息5.57亿条。 环信移动客服共服务了29437家企业用户,现已覆盖包括电商、O2O、互联网金融、在线教育、在线旅游、移动医疗、智能硬件、游戏等领域的Top10客户,典型用户包括国美在线、58到家、楚楚街、海尔、神州专车、新东方、链家、泰康在线、号码百事通等众多标杆企业。活动时间
2016 年 8 月 6 日
活动地点
北京海淀区中关村创业大街(海淀西大街 36 号)昊海楼 5 楼
活动流程
13:30 - 14:00 扫码签到入场
14:00 - 14:40 让交易,更容易—场景下的支付设计方案
14:40 - 15:20 基于交易闭环的大数据精准营销解决方案
15:20 - 16:30 茶歇、深度交流和自由讨论
15:20– 15:30 茶歇交流
15:30 – 16:10 积分已经out了,用户要的是现金赞赏 - 环信imgeek社区赞赏实践
16:10 – 16:30 互动交流
报名须知
点击「活动报名」填写报名表,由于与会名额有限,本次活动为邀请制,若您有活动邀请码可凭邀请码直接报名成功。若您无邀请码也可提交报名表,报名信息经主办方审核后,会收到邮件通知结果,认真填写报名表可提高审核通过率哦。
收起阅读 »
视频,呼叫中心最后的霓裳!
视频从诞生的那一天便与开会结缘,从此会议便成为我们认识视频的载体,这个认知几十年没有动摇过,直到移动互联网出现。互联网出现之后,我们虽然有过Skype、Gmail、FaceTime、QQ、微信这些重量级视频试水。与消费应用的直播,追剧,交互、社交的火热相比,企业级市场的视频应用却显得异常冷静,即使是视频在呼叫中心的应用,也只是浅尝辄止,回头,依然是深院朱红。
一、视频,呼叫中心阳光灿烂的日子
这一天我写下了这样的文字:在呼叫中心全渠道、全媒体已经轰轰烈烈的当下,视频,却像一个置身其外的看客,并不是视频不想拥入当下的时尚,也不是,我们忧郁视频的冲击力会淹没声音和信笺曾经带给我们的美好和温暖。是因为,我们一直在期待你的风情、惊艳来重新书写呼叫中心的温度。从Adobe Flash、到Microsoft SilverLight、到html5 WebRTC,追寻视频呼叫中心的足迹,我们付出了一代人的努力,何况,这一等就是20年。
20年,我们从电话、ACD、CTI、IVR、录音、CMS、CRM、ACS一步一步走来,完成了从电话、留言、传真、短信、邮件、微博、微信、Webchat、到第9个App的苦旅。我每次数到9,我都会侧目看一下第十把椅子,那是,我心目中留给视频的位子。因为,只有视频的到来,我们才能与声音、文本一起携手,去完成真正意义的联络中心的断代。
二、视频,呼叫中心沟通的艺术形式
呼叫中心是一项研究沟通的艺术。当人类第一次仰望星空,发出一种叫做语言的声音,于是,事物与思想的连接就成了人类文明的原点。从这里出发,我们的祖先开始了与万千生物渐行渐远的史诗。人类并没有止于一代一代、口耳相传的平庸,他们的伟大在于把这种共同记忆的语言,用图形的形式记录下来。
他们的一部分成为我们今天看到的文字,于是便出现了文学、诗歌和宗教。而他们的另一部分则成为无声的影像,于是便出现了美术、绘画和雕塑。这就是声音与文字的前世今生。可惜,非常遗憾,人类没有办法把动态影像留存于世。我们可以体会到感时花溅泪,恨别鸟惊心的情景和画面,但是,我们仍然无法拼接出舞蹈、戏剧、音乐的美妙、恢宏和璀璨。
经过千万年岁月的荡涤,声音、文字、影像终于淬炼成人类三种最基本的沟通技能,它是人类文明与进步的驱动。就象呼叫中心,集千般宠爱于一身,有了电话、留言、传真、短信、邮件、微博、微信、Webchat、App的陪伴,和在呼叫中心中自由自在的交互。这些便捷、时尚、炫目和智能的工具,因为移动他给我们以自由的空间与时间、因为碎片他给我们缝合拼接和还原的快感。但是,即使是这样的科技成就,他们仍然只能归类于声音、文字的技术造化,并没有超出人类已有的认知。只有声音与文字,我们仍然没有办法更好的感受到彼此的理解、豁然与肯定,彼此的沟通、认同和接受,彼此的表达、强化和妥协,彼此的音容、笑貌和亲和,彼此的色彩、节奏和神情。当我们需要一种气氛、一种情境、一种感觉来表达彼此的真诚与信任,影像应该是最好的媒介。
呼叫中心的视频座席应用,正是在这样一种场景下的呼之欲出!虽然,这些聊天与面对面相比,还是那么不尽如人意,但是它能够随时随地、跨越空间,把我们的友情、亲情、爱情在这一时间释放在手机的方寸之间。当你把这种美好体验寄托到呼叫中心应用,那么这种思想的本身已经代表了,你对呼叫中心最佳服务目标的追求,和对今天视频科技发展最高成就的渴望,科技与人文的跨界有时就是这么单纯的进入我们的视线。
传统呼叫中心与所有的工业文明一样,是电话通信技术创造了呼叫中心产业,我们甚至可以通过KPI指标感觉工业革命的气息。但是视频加入呼叫中心,则是体验和需求推动,是移动互联网的催生。视频时代的到来是传统呼叫中心的服务升级,但是他无法去改变一个时代的决定,虽然他与迭代无关,但是,视频却是呼叫中心人与人连接的终极。没有文字,我们可以用声音。听不到声音,我们可以用文字。如果我们听不到声音、也看不到文字,或许我们只要一个眼神、一个微笑,这就是影像的魅力。
但是视频的加入却经历了漫长的技术等待,我们要的这个微笑,如果没有乔布斯的智能手机的一场革命,没有4G的快速迭代,我们所有的小布尔乔亚会变得非常遥远。如果我们等过了摩托罗拉、爱立信、诺基亚、GPRS、2G,我们等到了iPhone、我们等到了4G,我们已经一千次憧憬过见面的美好,但是你等到的这个结局不是你想要的,我们往往只能用相见不如怀念来释怀这种悲催的心情。在长达20年的呼叫中心发展历程中,技术就是这样一次,又一次的扼杀了视频,直到今天,才慢慢有巨头来演绎这个影像的传奇。
三、视频,呼叫中心价值再次重构
视频呼叫中心不仅仅是单纯视频向呼叫中心跨界。与会议场景相比,视频呼叫中心具有与视频会议相比的不可替代的典型性。如果视频的出现是在电话之后,如果视频的出现是在文本之前,视频或许有机会能够成为一种独立的交流方式而存在。时空的转换,我们再也回不到从前。对于视频在客服中的应用,我们已经不能够离开全渠道、全媒体的背景。视频呼叫中心必须解决视频与其它通信方式整合、视频与核心业务整合、频呼叫与全媒体、全渠道交互整合。视频呼叫中心的监控、质检、评价、伦理等除了技术的创新之外,有别于声音、文字的视频评价体系需要重建。
几十年的发展,视频会议的功能性应用,从视频会议扩展到视频教育和视频医疗。虽然,我们理解视频会议从原生态已经发生了重大变革。虽然,我们看到视频会议已经从纯粹会议发展到协作应用、从会场会议发展到桌面会议、从少数人享受开会到多数开会、从大会为主到以小会为主、从主要内部会议到外部参与会议、从会议预约到随机发起、从需要管理到自助服务。但是,视频会议仍然没有改变做为开会的工具性的基本属性。
传统视频会议精英的视野里很难有互联网的冲动,与CC相关的实践是银行VTM应用,PBX+ACD+Video的体系构架,把客户赶到一个固定场所完成传统视频要求的视频交流,就象20年前把大家重新赶回到长途电话局,那个接电话的小小的房子。两者比较,他们的价值观并没有改变,改变的只是,一个是20年前,一个是20年后;一个是工业化,一个是互联网化;一个质补,一个闪耀着科技的光芒。
在互联网非托管网络条件下,视频会议的创新者试图通过会议盒子硬件,在获得高视频质量与互联网之间做出一种妥协,这便是硬件互联网+思维,他们追求高品质会议室的画面质量,又兼顾了各会议室之间没有高品质线路的遗憾,这种设计应用为需要高品质的画面如远程会诊、精细手术提供了帮助。他们从云电视盒得到的灵感,但是这种改良是机会主义,与呼叫中心要求的移动性、交互性仍然不同属一个细分。
我们也可以看到为数不多的视频SAAS先行者,向市场兜售他们的概念和产品,我们为他们的执着而感动,也为他们可能被资本碾压而为他们感到无奈。因为视频需要大资本、大技术、大资源的支撑。需要思想、需要技术、更需要国际观。视频的SAAS一定不是廉价经济,而呼叫中心的视频应用PAAS更为贴切。如果你相信更轻、更平、更薄、更便宜那么你就离死不远了。
视频应用的最初实践,并不是由视频大牌驱动的一场技术变革,而是一场由业务驱动的自觉。这中间应该感谢向呼叫中心转变的视频SAAS中的少数,他们的实践为呼叫中心提供了最初的雏形。以至于我们今天能够在保险勘查、鉴证、理赔;应急指挥、调度;银行开户、回访,在线教育和智能设备等等测试版应用中看到他们的身影。虽然这仅仅是视频会议技术的一个小小的细分,但是他仍然折射出类似于阿里钉钉那样巨大的商业机会和视频技术上升的空间。
四、视频呼叫中心应用
视频呼叫中心从视频会议中细分。但是,原生态的视频会议系统很难为视频呼叫中心直接使用,细数视频会议目前的功能清单,真正属于呼叫中心能够用的功能并不多。20年电话呼叫中心建立起来的体系化经验,和5年来全渠道在线呼叫中心的实践对于全新的视频应用充满不确定性。在视频加入到呼叫中心前,就象当年让电话成为座席,让微信成为客服,让聊天成为工作,我们甚至一无所知。期待视频从会场来到职场,无论是视频技术适应呼叫中心应用功能的改造,还是视频呼叫中心本身场景、应用、评价的设计、运营都是一个全新课题。
- 1、让视频进入秩序和制度,完成从玩具到工具的蜕变
- 2、从此与全媒体并肩同行
- 3、与传统呼叫中心整合
- 4、视频呼叫中心更多个性应用
视频过程中可以方便的共享双方的文件,让协同丰富多彩。与业务层连接,我们可以方便的建立工单,让视频成为独立工作发起动力。一点对多点的直播是呼叫中心自媒体,可能是未来视频呼叫中心的个性化应用。它通过视频交互直播、点播、评价、文本互动,广泛用于陪训、宣传、展示、交互。
所有的视频管理过程都会被抽象成呼叫中心营运管理的节点和量化管理,包括视频呼叫报表、视频过程的监控和录制,视频后期处理的影像与声音分离,声音部分与录音合并纳入质量体系。(本文转载自“CTI论坛”) 收起阅读 »
(iOS)名片。或称轨迹信息的做法(消息扩展3X)
如上图。。这是代表扩展信息的办法。。原理更头像的是一样的。。用的是消息携带的办法。。。我在这里就是把我的一些信息用消息携带的办法发送过去。要记住发送的对象名称和安卓的要一样哈。。收到就到了展示的时候了。。展示肯定要判断的。。这是肯定的。。- (UITableViewCell *)messageViewController:(UITableView *)tableView在这个方法里面写判断。。原因为什么这个不用我说吧。。。
这就是判断的代码。见人见智哇。。还有就是cell也就是你的名片的高度是多少。。也要有判断
大概的原理就是这样的了。。。此图仅供参考。。。我已经有一些备注的了。。。大概看起来不是什么问题的了。。希望对你们有帮助。 收起阅读 »
第三期增长沙龙 ——【增长与变现】精益数据分析驱动产品和用户增长
当流量为王的时代慢慢走远,获取用户成本越来越高,
如何用最少的成本获取流量,真正将用户留存下来?
如何用精益化方式提升转化,把现有流量快速变现?
如何打破用户只看不买的魔咒,把流量转化为注册和购买?
LinkedIn、Facebook、Twitter 等硅谷公司如何不靠流量,用数据驱动产品和用户快速增长?
精益数据分析如何帮你找到增长的魔法数字?
【活动时间】
7月30日 (周六)14:00 - 17:00
【活动地点】
微软加速器(北京市海淀区丹棱街5号)
【面向人群】
管理者、产品经理(2年以上经验)及产品总监、用户增长等
【活动报名】
1、本次活动为免费沙龙,点此报名;
2、主办方将对报名人员进行一定筛选,在收到报名信息后1-2个工作日电话确认,敬请体谅;
3、电话确认后,请根据确认短信中操作指引,加入活动群,获取更多活动资料;
【嘉宾阵容】
Jonathan 吴继业
GrowingIO 联合创始人
前 LinkedIn 商业分析部数据产品工程,
曾就职于LinkedIn、eBay、HP、宝信软件等,
十五年数据驱动产品的从业经历,强大的商业分析、数据产品等专业背景,
对精益运营、数据分析、增长黑客等不仅有深刻的认知,亦有丰富的实战经验,
从硅谷精英到国内创业,希望与国内的创业者和产品经理一起,
通过技术、工具等方式获取最大的用户增长、留存和转化。
邵凯
回家吃饭 战略负责人
拥有加拿大滑铁卢大学数学系计算机专业及精算专业双学士学位,
MIT 休学后加入回家吃饭,
曾就职于金沙江创投,
对中美两国早期和成长期项目有着丰富的投资经验,
归国前,就职于加拿大宏利金融,任高级金融工程师,
负责金融衍生品定价模型开发工作。
黄天文
360你财富运营总监
曾就职于去哪儿网市场部,奇虎360电商部、影视部,百度糯米事业部,
在百度糯米期间负责业务包括:
产品运营部、用户运营部、城市运营部和服务运营部,
对旅游、电商、硬件、软件、O2O、金融有独到见解,
现服务于360你财富,负责你财富线上运营。
【活动流程】
14:00 - 14:30 签到
14:30 - 15:10 Jonathan 吴继业 —— 《一个优秀数据产品经理的增长实践》
15:10 - 15:20 互动 Q&A
15:20 - 16:00 邵凯 ——《回家吃饭如何用数据驱动增长》
16:00 - 16:10 互动 Q&A
16:10 - 16:20 茶歇(回家吃饭提供茶歇美食)
16:20 - 16:50 黄天文 —— 《互联网金融的用户运营》
16:50 - 17:00 互动 Q&A
【主办方】
GrowingIO 是基于用户行为的新一代数据分析产品,无需埋点即可采集全量、实时用户行为数据,数据分析更精细。帮助管理者、产品经理、市场运营、数据分析师、增长黑客等提升转化率、优化网站/APP,实现用户快速增长和变现。
Mo+ 是一个面向互联网创业者的综合知识共享与社群服务平台,是中国首家受到 CCTV-NEWS 报道的知识共享经济类科技创业公司。在 Mo+,了解一线的互联网人都在自修哪些功课,收获真正有价值的经验、人脉和产业资源。
【协办方】
全国领先的家庭美食外送平台,作为全国最大的家庭厨房共享平台,致力于挖掘美食达人,与身边饭友共享家庭美味。
国内领先的团队协作工具,通过帮助团队轻松共享和讨论工作中的任务、文件、分享、日程等内容,让团队协作焕发无限可能。 目前,已经有超过一百万用户通过 Teambition 进行团队协作。
环信成立于2013年4月,是一家企业级服务软件提供商,并于2016年荣膺“Gartner 2016 Cool Vendor”。产品包括国内上线最早规模最大的即时通讯云平台——环信即时通讯云,以及移动端最佳实践的全媒体智能云客服平台——环信移动客服。截至2016年上半年,环信即时通讯云共服务了82149家App客户,SDK覆盖手机终端5.64亿,平台日发送消息5.57亿条。 环信移动客服共服务了29437家企业用户,现已覆盖包括电商、O2O、互联网金融、在线教育、在线旅游、移动医疗、智能硬件、游戏等领域的Top10客户,典型用户包括国美在线、58到家、楚楚街、海尔、神州专车、新东方、链家、泰康在线、号码百事通等众多标杆企业。 收起阅读 »
android---------菜鸟集成环信(头像,昵称)
先声明下,本人也是菜鸟,在imgeek社区各方大神的帮助下才继承好,这个社区真不错!
头像 昵称集成方式有两种:一种是通过服务器,一种是通过message的拓展。自我感觉message拓展这种方式简单一些.当然,服务器那种方式我也没用.
在使用message拓展方式的时候只要注意几个地方,集成起来就比较简单。
1.消息添加拓展。我们先找到发送消息的方法 ,在2.X的android里面是EaseChatFragment这个类里面的sendmessage这个方法.sendmessage这个方法里面传的参数是一个message,我们可以对这个message肆意的setAttribute.
消息发送出去以后我们需要接收。在接收的时候,我们获取到message里面的Attribute,也就是我们的昵称和头像,接下来我们再怎么做就是我们自己的事了,跟环信没任何关系了。在我的项目中用到接收到的消息的地方有两处
2.在聊天界面接收消息 这个接收的地方特别不好找,我花了好久才找到,改完以后直接关了,再找的时候又找不到了。在环信的demo里面有个叫chatrow的包,这个包里面放的东西好像全是聊天时的一些东西 比如文件,图片,音频什么的,在那个包下有个Easechatrow,然后找message出现的地方,再判断这个地方是不是我们设置头像昵称的地方。
3.在会话列表界面接受消息 我们在看历史消息的时候,需要在界面上展示我们的头像和昵称,这个头像和昵称也可以在拓展中获取,这个地方比较好找,在EaseConversationAdapater的getview的时候我们获取到message以后直接对头像进行操作
群聊跟单聊差不多 就多一个chatType
环信终于弄的差不多了,这点小小收获拿出来跟大家分享下,给大家节省点时间。
收起阅读 »
基于环信SDK开发,开源的高仿ios微信项目--酷信
(大伙在使用过程中遇到BUG请@我一下,我会去认真迭代这款高仿APP)
项目简介:
- 1.此版本是有史以来Github上最牛逼的高仿微信项目没有之一,采用MVVM和MVC两种开发架构思想,纯代码开发,这是你们在培训机构学不到的.仅供大家学习使用,不得用于商业用途.最终解释权归作者二哥所有.
- 2.如果各位下客能帮我点STAR,半个月STAR500+,我会陆陆续续发布待实现功能,其实已经做完,一个月STAR1000+我会把微信主要功能全部实现发布出来,两个月STAR2000+我会发布纯Swift版,纯Swift版采用纯代码开发已经做的差不多了.就看大伙的手能不能点STAR了.希望大家不要下完就跑了.作为作者的二哥会很心痛的.
- 3.我之前接触过很多项目,就有一个项目中的朋友圈整个控制器4千行,尼玛4千行了这项目怎么迭代,二哥现在300行解决了朋友圈的问题,还在优化中...
高仿微信计划:
测试账号:
nacker 123456
h18 123456
1.采用技术点
* pod用于第三方库的管理
* 环信SDK(V3.1.4 2016-07-08)作为此APP DEMO的IM功能
* Masonry用于界面布局
* FMDB用于数据存储
* MJRefresh用于上拉下拉刷新
* MJExtension用于字典转模型
* SDWebImage用于图片展示下载
* ReactiveCocoa用作响应式编程提高代码可读性
* MLLabel用于Label的图文混排
* IM部分采用MVC架构,朋友圈采用MVVM架构
2.已经实现功能
* 微信首页(列表数据展示、cell侧滑编辑、点击进入聊天详情界面、发送文字图片和语音)
* 通讯录(联系人字母排序、添加联系人)
* 发现(朋友圈、下拉刷新)
* 我(界面、退出功能)
3.待实现功能
* 搜索好友
* 朋友圈细节完善
* 扫一扫
* 相册、钱包
* 其他细节实现
* 摇一摇
* 发送朋友圈信息
* 其他
部分截图
整体架构图
聊天界面
通讯录
发现
登录
感恩
感谢那些开源作者们,我在这里就不一一点名感谢了.有了你们在整个项目的开发进度上提升了不少.也让我学会了很多
关于我
- QQ群 : 527885963
期待
* 如果在使用过程中遇到BUG,希望你能Issues我,谢谢(或者尝试下载最新的框架代码看看BUG修复没有)
* 如果在使用过程中发现功能不够用,希望你能Issues我,我非常想为这个框架增加更多好用的功能,谢谢
* 如果你想为LZEasemob3输出代码,请拼命Pull Requests我
项目git源码地址 喜欢请star:https://github.com/nacker/LZEasemob3
收起阅读 »
创业大咖第一期:一起来听大牛“崔牛皮”
环信为了回报广大的粉丝,现推出30个限时免费门票。门票原价50元。参与7.23日周六,中关村创业大街拓荒族咖啡厅2层的《创业大咖:一起来听大牛“崔牛皮”》活动。活动嘉宾有猿圈ceo,PMCAFF产品社区ceo,微链ceo,百度推广美女讲师,开源中国商务总监等。
活动当天将有丰厚的创业大礼包 :
PMCAFF学院试听名额1年(价值3000元)
百度推广小熊冰激凌机价值450元(3台)
PMCAFF咖啡价值300元(3件)
PMCAFF学院试听名额1年(价值3000元)
活动时间:
7.23日 下午1:30--6:30
活动流程:
1:30-2:00签到入场
2:00-6:00嘉宾分享
活动地点:
中关村创业大街 拓荒族咖啡厅2层
抢票请联系Jack
微信:iamjacker(暗号:创业大咖第一期) 收起阅读 »
中关村创业大街起步 环信的远方是“甲骨文”
来源:商业新星(微信ID:biz-star)独家授权
作者:于静
咖啡馆楼下的地下图书城大门紧锁,按斤称重的招牌已消失不见,对面的鞋店、衣服店、玉器店换成了咖啡馆、孵化器、训练营,再也听不到小喇叭里传出的打折促销的信息。短短几年,这个200米长的闹中取静的小巷子,彻底融入了周围的闹市之中,人来人往,熙熙攘攘。
在这里,刘俊彦迈出了人生中新的一步。从入驻这里的第一家创业咖啡馆、第一家孵化器,到拿到第一笔融资,获得第一批客户,刘俊彦和他创办的环信见证了中关村创业大街的成长,也从这条大街上成长起来。
这是他第一次接受人物类专访,他希望这篇稿件能帮他感谢妻子的付出,这也是他第一次在媒体面前谈到家人,说这些话时,他手捂在胸口,眼圈泛着红,却最终也没有讲出具体的故事和需要捎带的话。他总体上话不多,不会寒暄,只有谈业务时口落悬河。
采访那天,他穿着短裤、短袖、凉鞋,背着双肩包,比公司其他程序员打扮得还要随意。这些特点会让接触他的人形成一种判断,他本性不是进攻型人格的人,但是采访中,他多次把创业比喻成“打仗”。不管自觉还是无意,他站在了风口浪尖,形成了这样一种感受,“如果没有被风浪拍死,就有机会引领下一个浪潮”。
环信成立于2013年4月,三年前的创业彻底改变了刘俊彦的生活和工作方式。那时候,创业大街还叫图书城,只有车库一个咖啡馆,刘在这里工作了一年一个月,三四个人一张桌子,每天点四杯咖啡,也有时候什么都不消费。那一年只做研发,完全用自己的钱,没有反馈,看不到成果,“这个过程其实挺痛苦”。
在车库创业,不仅能让他接触到开发移动应用的许多潜在客户,还让他发现一个好处,大家互相激励,不管前一晚多么沮丧,第二天早上来了之后,看到周围人都在奋斗,很容易进入工作状态。他听说过,有的创业者晚上回到家里,关上灯看着天花板,眼泪哗哗流,刘也有过痛苦的时候,但没有发生这样的事情,“我是工科出身,想的比较少”。
车库老板也是一位有情怀的人,他能说出店里所有团队的名字、项目、资源,还经常帮忙对接项目。这个氛围能把创业者粘起来,刘认为,这是车库咖啡和创业大街做起来的原因。
让他印象深刻的是,有个创业者租不起房子,晚上要么睡在咖啡厅,要么去权金城洗浴大厅,经常浑身馊味,很猥琐地跑过来跟他聊天,这是很多创业者的常态,如今,这位伙伴做的2B挖掘机交易平台“挺成功”。
刘不仅见证了大街上的第一家创业咖啡馆,还见证了第一个创业孵化器36氪的入驻。这是一个很偶然的机会,那天他和车库咖啡几个人正闲的无聊,看对面正在装修,就去阳台上转了一下,抽了根烟,遇到了孵化器的负责人。
这个负责人认为环信的业务很靠谱,邀请他们入驻。入驻36氪第二天,刘见到了经纬中国的投资人,很偶然拿到了500万元天使融资。后来的融资也很顺利,同年,他们拿到了SIG的A轮投资500万美元与红杉资本的A+轮投资300万美元,去年7月,他们完成B轮融资,红杉资本领投,经纬中国和SIG跟投,总金额1250万美元。
环信是36氪孵化出的第一批公司,他们在这里工作了三个月,但这三个月让他们“变得不一样”。36氪每隔一段时间集合一批他们认为最好的创业公司,路演、宣传,环信的产品本来默默无名,但这些活动过后,百度指数流量“哗哗增长”,客户也逐渐增多。
从入驻第一家创业咖啡馆,入驻第一家孵化器,到拿到第一笔融资,第一次得到媒体的宣传推广,获得第一批用户,环信的成长与创业大街分不开。随着团队成员的增加,他们又搬了两次家,附近的1+1大厦和现在的公司所在地中关村南大街数码大厦。数码大厦的办公环境优雅别致,废旧电子元器件装饰成的背景墙,木质装饰墙上展示的图书、图片、信件,以及一整面墙上跃动着的性感手绘,很难让人相信这是程序员工作的地方,他若无其事地说,“这都是设计师设计的”。不过,公司选址是他的意愿,虽然从大街离开了,但他不想距离太远。
在车库时,央视采访刘,评价他们是“老年创业”的典型代表,以及“只要有梦想,什么时候行动都不晚”的代表,刘认可这个定位,那时,他40岁,创始人团队平均年龄38岁,他说老年创业有优势,不是为了创业而创业,也不是为了钱,而是为了做成一件事,这样才能耐得住寂寞。
过去三年,他们一直坚持早九晚九一周六天的作息制度,一直到今年6月,个别部门刚刚叫停。“没有办法,就是要用比别人少一半的人,干两倍的事。”他知道创业者鱼龙混杂,也见到许多年轻创业者,每三五个月换一次方向,过去两三年一起创业的公司,留下来的基本不多。“创业是件挺残酷的事情。”
王方帅也曾是车库咖啡的创业者,他的创业偶像不是IT界企业家,而是刘俊彦,他曾亲眼见到过刘的奋斗,在接受媒体采访时,用了“龟缩”一词形容环信四个合伙人和两个员工在一个角落里搞研发的状态。
刘没有自己的专属办公室,他坐在一间没有空调的小会议室里,讲述着自己的创业经历,一根长长的白色电线连进来一个落地扇,闷热的天气下,扇着若有若无的风。
“创业太辛苦了,挣不到钱又特别累,没有家里人支持做不好,你可以帮我隔空喊话,鸣谢一下我老婆这几年的支持和付出”,刘说自己不会煽情,也讲不出具体的故事,说这些话的时候,眼圈泛红,在车库的日子,他的女儿出生,这是他的第一个孩子,却天天不在家。对了,那位帮他装修办公室的设计师是他妻子。
有些人的业余爱好是看韩剧,有些人的业余爱好是旅游逛街,刘俊彦的业余爱好是写程序。即时通讯是他擅长的领域,这项技术简称IM,是移动社交的基础技术,QQ、微信、阿里旺旺、米聊、陌陌等都采用了这种技术。
微信和陌陌火起来的那段时间,经常有朋友找他做具有这种功能的社交工具,能够单聊、群聊,发语音、发图片,在对别人一个一个指点的时候,刘发现这是一个新趋势,于是想到了做一个服务,Pass即时通讯云成了环信推出的第一个产品。客户自己开发很难,但是嵌入环信的产品,半天就能拥有互联网沟通能力。环信专注服务微信覆盖不了的沟通场景,比如同性恋交友、二手物品交易、母婴交友、房产中介等平台,用户为了保护隐私,一般在微信之外沟通,他相信这些平台的总体量甚至比微信还大。
即时通讯天然有两个场景,一个是社交,连接人和人,一个是客服,连接人和商业。如果说社交的成功在他们预料之内,客服的成功则是他们完全没有想到的,很多客户用环信的社交能力做客服,很短时间内,刘俊彦就发现,这两个场景的使用比率变成一半一半了。于是,他们顺势推出了环信的第二个产品SaaS移动客服,无论客户请求来自传统电话话务中心、网页,还是微信公号或App,环信都可以为客户提供一个统一的处理平台。
也是因为在移动客服方面的努力,今年5月,环信入选了Gartner2016Cool Vendor in China名单,Gartner是全球权威的IT研究与顾问咨询公司,它曾预测,移动端客户服务将成为趋势,但这一趋势没有在欧美实现,“我们重新定义了如何在移动设备上做客服。”这一名单的评选原则是,新颖、创新、有市场潜力,Snapchat、Instagram等明星企业都曾入选过此榜单。
“优秀公司应时代而生”,中国人跳过了PC时代,直接进入移动时代。刘认为,他们最成功的风口是抓住了移动端这个浪潮。根据环信最新统计,他们目前有8万多家用户,58到家、快牙、楚楚街、猎聘、海尔智慧生活、国美在线、神州专车等App都使用了他们的服务。 “如果没有海量用户,我们不可能凭空发明出产品。”
“人工智能是一个新风口”,环信现在正投入研发力量做智能客服机器人和环信客户声音,这比竞争对手早了一步。见过很多企业的死,让他对“死”很敏感,“创业公司之间也有差距,有的死掉,有的持续发展下去。”
环信还赶上了“大众创业,万众创新”的时机,北京市科技型中小企业促进专项创新基金、南京321基金两支政府性基金曾为他们提供过帮助,他们用这些钱招了更好的工程师,做了更大规模的市场推广和宣传。现在,刘发现一个变化,政府主导的投资基金开始增多,他们也在积极申请。不过,获得政府基金很难,需要经过很多轮答辩,对这位“宅男”是不小的挑战,由于经常出差,半年前,他暂停了程序开发工作。
他还发现一个变化,创业这股风越来越猛了,以前是一批最不安分的人出来创业,现在连最安分的人都出来创业了。刘毕业于伦敦大学国王学院计算机硕士专业,先后任职于IONA,RedHat,他认为自己是一个安分的人,这种人创业的特点是,更注重技术创新,更回归商业本质。
雷军曾说,风口上的猪也能飞起来。刘认为这种说法有些负面,“我们是站在风口浪尖上,也用实力把握住了风口”。不管以后风怎么吹,“我知道自己要做什么,有足够规模的资本支持,锻炼了一支好的团队,我要做的是看准方向。”
刘俊彦认为,这个行业还要打两场仗,第一场在半年或一年后,决出客服跑道前三名,第二场仗在两年后,决出综合性软件前三名,这场仗打完,这个市场就定了,打赢了的成为中国的微软、Salesforce、Oracle,打输了的就在历史河流中销声匿迹了。
“我们还要持续地小步快跑。” 收起阅读 »
环信移动客服v4.10产品更新--新增排队统计,将所有客户一网打尽
- Web版环信移动客服
【新增】消息中心支持详情页面显示筛选排队统计数据 排队统计总览小时排队趋势排队趋势导出排队统计报表
【优化】发送图片/文件大小限制变更为10MB【优化】转接客服和技能组列表显示完整名称【优化】搜索客服成员时,显示搜索关键字【优化】新增/修改/删除APP关联错误时,显示对应提示语【优化】企业信息增加租户ID【优化】质检评分采用下拉列表的形式【优化】筛选结果分页时,显示结果总数【优化】重置密码页面优化当客服或管理员在“消息中心”查询消息时,点击某条消息,可以查看该消息的详情。涉及页面包括客服模式和管理员模式的“消息中心”。
- iOS/Android客服工作台
【新增】Android版增加管理员模式
【新增】 管理员首页
【新增】当前会话
【新增】历史会话
【新增】统计查询
【优化】在线状态
【优化】新消息提醒
【优化】常用语自动匹配
详情 请下载 ↓↓↓ 收起阅读 »
玩过微信直播吗?---凡信3.0携直播和红包而来
资源相关:APK体验地址:http://fir.im/wy79
github工程源码(主要更新源):https://github.com/huangfangyi/FanXin3.0
二维码安装:
作者QQ:84543217(QQ也只处理外包开发需求)
凡信开发者讨论群:366135448
APP红包功能讨论群(android+ios):437758366(1500名小伙伴等着你哦!)
凡信背景介绍
对于凡信项目的背景在此不再赘述,不了解的前往:https://github.com/huangfangyi/FanXin2.0_IM
或者:http://www.imgeek.org/article/825307627
前言:
由于凡信的1.0和2.0都是基于环信SDK 2.x系列开发,而当前环信官方力推的是3.x的系列SDK,在此背景下,作者决定将凡信迁移至3.x的demo上。迁移的同时,对存储机制和网络接口做了一定的优化。与此同时,针对时下火热的直播APP,结合环信的聊天室功能和ucloud,做了两个模块-观看直播和进行直播;针对IM场景中常见的发红包/抢红包,集成了由环信提供的红包SDK,对于想做红包以及账户管理的开发者,是一种非常值得推荐的解决方案,一是开发者不用头疼于安全问题,以及开发中逻辑不严谨导致的资金转移丢包的问题。
此次更新分三个部分进行详细介绍
- 直播功能
- 红包功能
- 对凡信2.0已有功能的重构以及优化
- 一是观看的视频来源(拉流)
- 二是主播直播的实时视频的推送(推流)
- 三是直播间:主播与粉丝之间、粉丝和粉丝之间的字幕互动
- 观看直播(拉流)和开始直播(推流)只需要传入一个rtmp视频流即可,本项目用了一个香港卫视的电台直播视频流方便大家测试,另外一种就是通过设置直播间id进行推流,然后输入对应id进行拉流的方式,开发者可以通过两部手机进行测试。前提是保证网络环境良好。
- 直播间的互动,一般直播直播平台会有打字弹幕、赠送礼物、私聊等功能,综合起来也就是通信问题。目前凡信中基于环信的聊天室功能,完成了打字互动的部分,其他部分可以依据这个原理实现,无非就是对消息进行分类(聊天消息、礼物消息、私聊消息)。
二、红包功能:-采用云账户提供的红包SDK实现 红包在社交APP中的需求越来越多,对于这块的自主开发涉及问题至少会包含以下两点:一是安全问题--支付安全和资金安全。二是丢包问题,如红包玩法中,发红包的资金涉及冻结资金,领取的要结算,过期的要回账,还例如领取状态的通知回调等等。越是复杂高频的收发红包及转账场景,怎么在移动端及服务端保证每笔交易都有完善的跟踪和容错机制,都是开发者必须要考虑的问题。然而设计一个完整的解决方案并研发成功,需要投入的技术成本和时间成本是非常高的,然而红包仅仅是APP的一个辅助模块而已,占据过高的成本得不偿失。为此,环信联合云账户推出了适用各种应用场景的红包SDK,帮助解决这个效率问题,开发者可以利用简单的几个小时完成一套红包解决方案。如果有小伙伴对红包或者账户资金管理功能感兴趣的,可以加入红包功能讨论QQ群:366135448,一起探讨APP变现模式,以及红包的新玩法。 部分APP截图如下:
三、针对凡信2.0已有功能的优化[list=1]
部分APP相关截图
1.朋友圈相关
2.主页相关
收起阅读 »
趋势•变革--2016中国企业互联网技术论坛
地点:北京市海淀区板井路69号 地铁10号线“车道沟”A口出,直走步行15分钟
时间:2016年07月30日 08:00
参会报名:立即报名
会议简介
这是有史以来第一场专为企业级服务领域量身打造的技术论坛;
大咖云集,也是洞察TO B领域技术的豪门盛宴!
7月30日北京世纪金源大酒店,崔牛会夏季论坛精彩呈现……
你可以与行业技术大咖零距离探讨,可以感受这群正在改变未来企业服务领域的幕后英雄;
与他们一起去思考不断涌现的新技术会对未来企业级市场的影响。
CEO,应该关注,因为技术会决定未来的商业模式;
CTO,更应该关注,他可以让你站在技术的最前端;小技术大场景,透过趋势看变革,你值得参与 TO B豪门盛宴……
附:论坛日程
收起阅读 »
产品经理千人峰会--环信邀您共探大变革时代的产品设计创新
由中国最大的产品经理社群PMCamp和易观联合主办的第六届中国产品经理大会((PMCon2016)将于2016年7月23日-24日在上海举行。
本届大会主题为: “大变革时代的产品设计创新”。我们正处于一个过度竞争、注意力过度分散、变化太快、资本市场太冷的艰难时代。也是一个机会超多,用户基数巨大,好产品能快速脱颖而出的幸运时代。大会将邀请来自互联网、传统行业、服务业、新型创新企业的CEO、产品总监/VP、战略专家们,产品实战派专家们,将邀请各个领域的专家来分享如何在大变革时代进行产品设计创新,如何在资本狂潮消退后理性地看待产品价值,通过良好的产品设计和卓越的产品增长运营获得成功,如何抓住大航海时代的机会出海淘金等话题。围绕大变革时代的各种机会和问题,探讨产品商业模式、产品设计方法、产品运营、数据分析,展示产品成果,为CEO,产品经理,一切关注产品创新、创业的人搭建一个学习交流、思想碰撞的干货分享平台。
自2010年起,PMCamp已经举办过五届产品经理大会,三届互联网运营大会、两届数字营销大会、五届人本设计大会,以及近百场的产品经理工作坊、设计工作坊、产品经理沙龙等线下聚会活动。正在筹办互联网产品增长大会。5年来,已经有超过10万人关注PMCamp,1万多人参加过PMCamp的活动,600家企业代表参加过PMCamp组织的活动。届时将会有数十家媒体报道,国内著名门户网站、社交网站、O2O、移动互联网等各个领域产品和设计专家参与,无论您处于互联网行业的哪个领域,这都将是让您受益匪浅不可错过的一次盛会
大会日程
7月23日是大会,全天共有8个演讲,2个圆桌论坛,1次茶歇。
08:15-08:50 签到
08:50-09:00 开场演讲和日程介绍 大会主持人
09:00-09:40 演讲1
09:40-10:20 演讲2
10:20-10:25 休息
10:25-10:55 演讲3
10:55-11:25 演讲4
11:25-12:05 圆桌论坛
12:05-13:30 午餐
13:30-14:10 圆桌论坛
14:10-14:50 演讲5
14:50-15:30 演讲6
15:30-15:45 茶歇
15:45-16:25 演讲7
16:25-17:05 演讲8
17:05-17:10 合影、抽奖
大会嘉宾:
1 苏杰,良仓孵化器创始合伙人,B12合伙人,前阿里巴巴产品专家
2 laladu(杜娟),滴滴国际部负责人,曾任腾讯微信事业部品牌广告第一人
3 蒋越,平安好医生医疗线资深产品总监,前阿里巴巴产品专家
4 季毅华,携程旅行网基础业务产品总监,11年+产品经理
5 郭炜,易观 CTO,曾任联想研究院大数据总监,曾在IBM任职
6 姜沈励,1号店产品总监,1号店产品大学创始人和负责人,曾在新浪、安居客等负责产品
7 张溪梦,GrowingIO创始人及CEO,前LinkedIn高级总监
8 百度地图 产品总监 (确认中)
移动互联网产品出海淘金论坛嘉宾:
1 Summer Xia,夏雯,谷歌开发技术推广部中国谷歌开发者社区项目经理
2 范路,猎豹移动投资总监
3 袁潜龙,乐蛙科技联合创始人兼COO,前龙旗控股VP
4 王佳梁,触宝科技联合创始人兼CEO(确认中)
互联网金融圆桌论坛嘉宾:
1 孔令欣,点融网 CTO,美国斯坦福大学计算机学和心理学双学位,四次互联网公司创业
2 蚂蚁金服 产品总监(确认中)
3 唐灏,陆金所 产品研发部副总经理(确认中)
4 挖财 产品总监(确认中)
报名连接 PMCamp 收起阅读 »
android扩展消息(名片集成)
首先呢,大家要注意环信IOS版的扩展消息ext不能接收json格式数据。。。(之前不知道,ios把我坑了一次)
接下来,我就给大家来集成下名片消息
要想在ios端显示出来,那么必须两个客户端的扩展字段必须相同,这个大家一定要知道
我的扩展字段是这样的,上面也解释的很清楚,大家不要看错,是名片上的,不是自己的id,昵称
接下来我们要去定义几个常量在chatFragment里面,这里的常量需要该小,不然会报数组越界错误
定义好之后,那么接下来我们需要到chatFragment里面去注册这个按钮
对,没错,就是这么简单,注册一个按钮,然后,我们需要到onExtendMenuItemClick这个方法中写名片按钮的点击事件
大家看到了是个startActivityForResult,看到这里,肯定接下来就是去到REQUEST_CODE_SELEST_MINGPIAN里面接收data
REQUEST_CODE_SELEST_MINGPIAN是写在if(resultCode == Activity.RESULT_OK) {}里面的
接下来我们需要去CustomChatRowProvider这个内部类里面去设置发送接收,大家需要注意getCustomChatRowTypeCount(){}方法里面必须要加上2,这个2的意思就是说发送和接收名片
这里大家应该可以看到,我只写了发送名片,没有写接收名片,原因就是我不需要自己点自己发送出去的名片,所以没写,这个如果要的话,照葫芦画瓢,SoEasy
接下来这个非常重要,这个是名片消息的ChatRow,就是载体
对,就是new一个chatRow出来,这个chatRow在easeui里面是没有的,所以需要我们自己写
必须注意,一定要继承EaseChatRow,不然就调不出onInflatView,onFindViewById,onUpdateView,onSetUpView,onBubbleClick这几个方法
这个方法名已经很明显了onFindViewById,也就是说,在这里绑定布局里面的id,最重要的方法是onSetUpView
这里设置完了之后,基本上就好了,布局我没有放出来,等会看运行之后的效果
这几个方法的意思大家去看EaseUI里面的EaseChatRow
到最后,我们还需要一个步骤,就是去DemoHelper里面监听消息是不是名片扩展消息
是不是很好理解,这个完了之后,运行。。。。
完美!!!
如果大家还有什么问题,那么就加入环信IM互帮互助群 340452063认准杭州-android-中草,龙瞎头像,找我,帮你解答一切扩展消息问题 收起阅读 »
ios V3.1.4 Android V3.1.4 release,支持华为推送,新增群组@功能
本次SDK更新主要是对红包、UI 功能的优化,支持了支付宝、解绑银行卡 ,Android支持了华为推送,群组新增@功能,具体如下
Android V3.1.4更新日志
新功能/优化:ios V3.1.4更新日志
1. 支持华为推送
2. 聊天室获取详情后可以通过相应api获取到成员列表及成员数
3. easeui及demo增加@消息
红包相关:
1. 支持群内的专属红包,只有指定用户才能抢红包;
2. 支持支付宝;
3. 支持系统发的群红包,用户只能看到自己的领取情况;
4. 支持绑定多张银行卡,支持解绑银行卡;
5. 零钱页支持充值;
6. 改版零钱页;
7. 支持上传身份证照片做第三通道验证;
8. 红包UI细节打磨,包括双title和各个页面细节,安卓和iOS文案统一;
9. 错误信息梳理,关键错误基于对话框引导;
10. 服务端性能数倍的提升;
11. 红包数据平台完善统计项;
12. 其他优化:优化代码结构,剥离第三方库减少和开发者库的冲突;透传消息仅给发红包用户而非群内全部用户;优化token获取和更新机制;修复若干bug。
新功能:
1. 聊天室增加可以获取成员和成员数的接口
2. 会话增加接口- (BOOL)appendMessage:(EMMessage *)aMessage
3. 提高SDK稳定性
4. 支持群消息@功能(在EaseUI和Demo中实现)
• 支持@all, “ext”:{“em_at_list”:“ALL”}支持
• @单个或多个成员, “ext”:{“em_at_list”:[“username1”,“username2”]}
• 如果用户设置了推送显示消息详情,被@的用户会收到推送 “XXX在群中@了我”
红包相关:
1. 支持群内的专属红包,只有指定用户才能抢红包;
2. 支持支付宝;
3. 支持系统发的群红包,用户只能看到自己的领取情况;
4. 支持绑定多张银行卡,支持解绑银行卡;
5. 零钱页支持充值;
6. 改版零钱页;
7. 支持上传身份证照片做第三通道验证;
8. 红包UI细节打磨,包括双title和各个页面细节,安卓和iOS文案统一;
9. 错误信息梳理,关键错误基于对话框引导;
10. 服务端性能数倍的提升;
11. 红包数据平台完善统计项;
12. 其他优化:优化代码结构,剥离第三方库减少和开发者库的冲突;透传消息仅给发红包用户而非群内全部用户;优化token获取和更新机制;修复若干bug。
版本历史:Android sdk更新日志 ios sdk更新日志
下载地址:sdk下载
关于新版sdk使用有任何问题或建议欢迎在下方评论留言。 收起阅读 »
android怎么导入demo(androidstudio和eclipse)
不多说,首先下载官方demo
然后呢,你就会看到这里面很复杂很复杂,像eclipse项目也像androidstudio项目
对不对,如果你用的是androidstudio,那么请按照下面的步骤继续往下看。。。。如果你是用的是eclipse别急,等会再给步骤
对没错,删除红框框里面的东西,然后打开androidstudio
选择import project(eclipse ADT,Gradle,etc),然后一直next,到最后等待。。
完成之后,这就是你的项目结构。然而,别激动,
请将jni里面的文件删除,我也不知道为什么,如果不删除编译的话,机会报ndk错误,什么的,但是我的ndk已经配置了,如果有知道为什么的大神请告诉我。。。。
下面开始eclipse的导入介绍部分:
删掉这些,删掉原本不属于eclipse项目的东西,然后打开eclipse导入。
最后,你会看到这个项目结构,如果有报错的话,请用android6.0去编译项目,总体来说,eclipse简单一点
那么,到现在,这个是可以运行的,如果还有其他错误,请联系我QQ:2116572866 收起阅读 »
环信刘俊彦:做2B产品 在资源投入上BAT没什么优势
在TMT及人工智能分会场企业服务论坛中,环信CEO刘俊彦表示,“做2B产品,做SAAS产品,是研发驱动的产品,BAT擅长的是资源,就像我们挖坑种树一样,刚开始我的人才架构,我的产品架构决定我前面只能挖十个坑,只有十个坑可以种树,所以BAT虽然有再多的钱再多的人投不上来也是没有用的,如果我投的早,其实还是很难赶超我,在资源投入上BAT没有什么优势。”刘俊彦说。
以下为环信CEO刘俊彦在TMT及人工智能分会场企业服务论坛中的发言速记整理:
大家好,我是七期的星友是环信的CEO刘俊彦。环信有两个企业级服务产品,一个叫环信及时通讯云,这是一个2D的产品,开发者如果想做一个APP,想有微信的功能,单聊、群众聊,发语音、发图片、发文字,以前要自己开发,今天找到我来,可能只需要半天时间,像插件,就有完整的像微信这样的功能。第二是SAAS产品,是环信客服,是一个客户服务软件。说我们为什么做企业服务呢?我做这些年最大的感触是企业服务是脏活、累活,很难,有时候是劳动密集型的行业,尤其是做SAAS,我算过在SAAS客户上已经投入几千个人/月,以前做传统软件,客户给你200万,你签了合同,投进了去开发,你上来就有钱花。
SAAS软件不是这样,客户有很多的功能,达不到这个基本的功能门槛,根本不可能跟用户签合同,用户也不会给你付钱,但你要达到这些功能,没有几天或者一个月的投入开发,你可能根本没有进到这个市场的资格。所以这是劳动密集型的行业。好处是一旦做好了,它的门槛很高,而且后续的发展也比较稳定。举个例子,看到很多最近从去年到今年比较新的SAAS公司,我知道一些SAAS公司做了一两年之后,很快他们的月度可重复性收入,做了一年就达到几百万人民币。什么概念呢?什么叫MR,一个企业,SAAS服务是按月交钱,一般来说你不能一个月给我,你得一年给我钱,给我十万块钱,每个月会计的收入可能是十万块钱的1/12,当你积累到每个月MR都在增加,现在有的企业一个月200万的MR什么意思呢?就是这个企业今天不干活,大家除了研发、销售都歇着了,只要你这个客户没有流失的话,他其实想离开你很难,每个月这个企业再活五年、六年,这个企业每个月都可以有几百万的收益进来。做SAAS企业的好处是现金流很好,一点都不愁钱,只要你不断的在改进产品,不断的吸引新的客户进来,你的收入就会不断增加。这个生意是非常稳定的生意。现在我们看到有一些资本寒冬,为什么很多投资人可能创业者非常关注企业峰顶,其实某种程度上就是企业级服务领域,包括SAAS的软件力,他的投入非常简单、非常清晰,是绝对不烧钱的,这也是很多人现在大家非常关注企业服务领域的主要原因。
这个问题我也经常被问到,就我自己的行业来说,SAAS客服和通讯云来说,有几点决定了和BAT跟我们创业公司竞争并没有太大优势。2B和2C的产品完全不一样,2C的产品好多时候可以用程式来驱动,你看一看别人怎么做你就可以回去抄了,决定这个东西产品成败的元素不是产品做得多好,技术多好,是资源技术推广运营做得怎么样,以我们的行业为例,我们做SAAS客服,有没有见过两千个客服坐在一个屋子里怎么工作,怎么排班,怎么管理,我们普通人想像不到的,咱们没有这个知识,对于BAT来说,他们获得这个知识跟我们获得是一样难的,作为创业公司如果早进入这个领域它的壁垒比较高,BAT也没有这个知识,不是靠常识获得的。
第二,做2B产品,做SAAS的产品是研发驱动的产品,是研发运营的东西,BAT擅长的是资源,就像我们挖坑种树一样,刚开始我的人才架构,我的产品架构决定我前面只能挖十个坑,只有十个坑可以种树,所以BAT虽然有再多的钱再多的人投不上来也是没有用的,所以这种情况下就是你有做的钱、做多的人我们都在前线只能投10个人,如果我投的早,其实还是很难赶超我,在资源投入上BAT没有什么优势。
第三,从销售上来说也是这样的,做电梯广告的时候有就要用到了,做多的广告,对2B的销售没有任何帮助。作为很多BAT来说,他们擅长什么,有的是流量,有的是钱,但是很可惜这个流量和钱对于2B软件的销售没有任何帮助,你不能投电梯广告,你现在的用户都是2C的用户,你再怎么导也导不成2B的用户,你真的要养几十个、几百个销售,躬下腰去干活,BAT来说他与其挣钱挣的很容易,他愿不愿意躺着挣钱,愿不愿意爬着挣钱,养几千个销售挣这么累的钱,从现在看事实是这样,他们很多是选择不挣这个钱。
从这三点综合来看,我们认为在2B行业竞争从BAT来说和创业来说,大家的门槛都差不多,他们没有任何额外优势。具体到我们的案例来说,我们做环信通讯云的来说,在过去两年里面,腾讯、阿里都有跟我们类似的产品,曾经有一段时间各方面都做了很多宣传推广,现在我还坐在这儿跟大家聊天,我们曾经的竞争对手可能都销声匿迹了。这是一个事实的证明。
其实我最开始创业的目的是希望能够让创业者更轻松的创业。当时我做环信这个项目,根本源大家知道在三年前陌陌刚刚兴起,所以很多创业者都在做移动社交方面的创业,总找我来说他想做一个聊天的应用,像微信一样,以前的话是要自己搞好几个工程师,搞上半年到一年的时间,做的基本可用,我觉得这个事情其实大家每个项目创业者在这方面浪费太多的时间,能不能找到我来花一小时就把这个事情搞定,把节约下来的时间和钱雇更好的美工和工程师,来做更好的用户体验,这是我当时想创业的核心目标。其实在过去两年里面,我们有更多的产品线,我们一直是在往这个目标努力,希望做得更好。最近视频直播很火,我们一直有视频直播的解决方案,后来发现其实做得还不够好,拿到我们方案去之后,很多开发者在集成视频各方面的时候还需要一个月的时间。所以我们最近正在做一个工作,一站式的视频直播解决方案,把客户端的DEMO都做好了,看上去跟花椒、映客都差不多,开源的,你拿回去之后你要是一个土豪,你可能有很多美女,把这个皮换一下,两天就上线了,你的专业价值不在于你懂这个视频直播技术怎么做,体的专业价值在于你的资源,你知道运营怎么搞,所以这是我们一直想做的事情,让有资源的人更好的发挥自己的资源,把他的时间、精力不要花在他不擅长的地方,我们去做某个点,把这个点做好,你付给我钱,这就是我们想做的事情。 收起阅读 »
为啥说“PaaS+SaaS”正逐渐成为企业级服务标配?
环信获得“2016年度最具投资价值企业级服务商”奖
以下为专访实录:
环信当前有两条产品线,一个是即时通讯云平台,一个是环信移动客服,两个产品间有什么关系?
刘俊彦:这个问题非常好,最近有谣传说我们不做即时通讯云了,只做移动客服了,其实环信即时通讯云和环信移动客服一直都是我们的核心业务,我们的环信即时通讯云不仅在做而且做得很好一直是行业第一。环信移动客服就是在我们环信即时通讯云PaaS平台上孵化出来的SaaS产品。这种SaaS产品具有天然的技术优势和获客优势。比如环信移动客服所使用到的环信IM长连接技术可以保证消息必达,不丢客服不丢单,而SaaS客服友商们一般都需要集成第三方的IM服务。环信即时通讯云PaaS平台的用户有SaaS客服需求自然会第一时间选择了环信的服务,一家2B企业有一个稳定的持续的优质的流量来源,对于企业的快速发展帮助很大。也正是因为环信这种“PaaS+SaaS”布局使环信获得了包括红杉、经纬、SIG这些世界一流的投资机构的投资。同时,最近您会发现市场上有几家企业级服务SaaS领导厂商都在补齐自己的PaaS产品,你就可以看出“PaaS+SaaS”是最有生命力最具投资价值的企业级服务模式,环信因此也获得了品途和清华颁发的“2016年度最具投资价值企业级服务商”大奖。
环信移动客服产品线的使用场景有哪些?
刘俊彦:我们以前以为环信就是做社交,连接人和人。做了以后,很多用户在我们不知道的情况下,已经用环信即时通讯云在做客服了,在连接人和商业。比如跨境电商应用,买手在威尼斯,在罗马,买家在国内,他们通过环信沟通货品颜色,款式。其实这个时候就是客服,环信IM天然就有两个场景,一个就是连接人和人,一个场景就是连接人和服务。
环信移动客服现已覆盖包括电商、O2O、互联网金融、在线教育、在线旅游、移动医疗、智能硬件、游戏等领域的Top10客户,典型用户包括国美在线、58到家、楚楚街、海尔、神州专车,猎聘、汽车之家、链家自如客等众多标杆企业。
哪些场景适合通过智能客服机器人去参与?
刘俊彦:客服行业落地,有几个场景。第一,售后领域,问题比较集中,可能就是50个到200个最常问的高频问题,这些问题如果通过大量的历史数据,通过机器学习模型总结就会节省很大的人力成本。第二,售前领域。环信针对售前场景推出了人机混合模式技术,机器人可以提供给人工客服最优备选答案,人工客服需要选择最合适回答点击发送即可。因为售前领域是很多做人工智能客服的公司没有很好的解决的领域。环信在探索中看到人机混合模式确实给企业带来了价值,提升了很多的效率。
怎么平衡用户使用产品过程当中成本和收益?
刘俊彦:收多少钱一定带来足够回报才可以。所以,我们看到了整个企业服务行业里面看到很有意思现象。很多企业在提价,这个事情在过去一年里面,都是有很多的争论,做免费企业服务,还是收费企业服务。做中小企业,还是做大企业。两个争论到今年基本上已经盖棺定论。第一,要收费,第二,做大型企业。最后都要回归商业的本质,就是可以给用户带来多少价值?给企业带来多少回报。。
环信即时通讯云在接下来半年中将会有什么新的布局?
刘俊彦:环信即时通讯云一直是我们的核心产品。最近推出几个新产品,首先推出了环信反垃圾系统。我们很多做社交的APP,上了IM以后遇到很多困扰,比如说各种垃圾信息骚扰、各种广告、以及黄赌毒信息等。以上问题很多企业没有能力做大量投入,所以,环信就基于人工智能和行为规则做一套反垃圾系统。
环信最近还推出了社交大数据平台。很多企业用IM目的是什么?是希望IM帮助他提高用户黏性,提高活跃度,提高留存率。而环信社交大数据平台,是分析用户的关系链,分析用户的聊天行为。他们的社交关系链在增强还是在减弱?同时,环信产品一直在根据市场的变化孵化新的产品,包括最近很火的红包和视频直播。环信红包可以帮助APP提高活跃度,后续还可以帮助APP变现以及嫁接更多增值服务,是环信探索的一条新路。视频直播现在是风口,环信客户也有很多这种需求,自然而然环信也推出视频直播一站式解决方案。
环信作为中国最大的即时通讯云PaaS平台,您认为企业服务商可以触碰客户数据吗?
刘俊彦:不可以。这一点环信的态度非常的坚定。环信只通过标准的产品和服务收费,绝不触碰客户的数据做任何其余变现。 收起阅读 »
环信凭什么入局Gartner报告 影响Saas客服未来的三要素
环信荣膺Gartner 2016 Cool Vendor
对于何为“cool”,在中国可能的理解有很大不同,是最快融资?被巨头收购?还是被媒体热捧....而在Gartner的眼里,只有“拥有重塑行业的破坏性技术或商业模式创新”,才能被称为“cool”。酷公司需要具有领导某个垂直领域强大的、让人耳目一新的能力,稳健的把握了高热度的市场趋势。
最近,有外电给出了答案,仅有包括环信等5家在云计算、大数据和移动领域引领了市场趋势并专注革命性创新的公司最终进入了Gartner 2016 Cool Vendor China名单,这几家公司名头也许都不是很大,也不像BAT那样光鲜亮丽,但却都有“酷”的共同创新潜质。当然,这也符合 Cool Vendor一向的评选规则,就是专门选择那些创新性强、知名度局限在一定范畴内的技术、服务企业。它们就像重型炸弹,一旦爆发,就会重新定义市场。
怎么看待环信入选Gartner Cool Vendor China这回事
登入Cool Vendor的名单并不是一件容易的事,与国内一些数据报告、企业排行的榜单比,惯性思维猜测,Gartner会不会是一份商业化的名单?答案是否定的,因为这是Gartner分布在全球的分析师调查、研究的结果。
Gartner Cool Vendor通常遵循如下三条标准:
第一,创新性,参评企业是否有前瞻性的技术、产品,是否能够为用户提供“以前没有听说过的、没有用过的”产品技术,是否能够为用户“创造全新的体验”;
第二,影响力,这一影响力并非是参评企业是否在行业或市场内具有影响力,而是其技术是否对用户的业务产生影响。
第三,这家企业在过去一年一定是引起了Gartner的关注的。每一年,Gartner的分析师们都会在各个领域寻找新鲜血液,搜寻行业内新兴发展起来的初创公司,加以关注和分析,从中挖掘其独特的价值。
对于进入这一名单,环信CEO刘俊彦认为,入围的企业往往是创新性、技术影响力表现突出的企业,有没有前瞻性的商业或技术创新,以及技术是否对用户、市场产生重大颠覆和影响,这很关键。看看之前上榜的名单就明白了,Skype、Snapcha、Instagram、VMware,以及当前的明星企业Nutanix、Splunk,都曾榜上有名。
环信能入选,在于其背后的云通讯能力正成为新商业的标配,在任何生意模式都回归到“连接人与商业”的本质后,通讯能力就变成了一个开放性的功能模块,并且给企业带来创新性的业务模型。SaaS客服就是云通讯平台上“生长”出来的场景化的应用。Gartner为什么认为环信是Cool Vendor的代表呢?Gartner给出的评价是这样描述的——环信的移动客服SaaS平台提供了强壮的APP内置客服支持能力,并集成了支持多渠道接入的客服工作台,截止2016年上半年,服务了国内2万多家客户,经受住了5亿用户的验证。
表面看起来,SaaS客服领域的门槛并不高,实际上技术上难度相当大。目前,SaaS客服产品在宣传层面趋于同质化,比如噱头上都贴着“支持全媒体接入”的标签,包括电话呼叫中心、网页客服、微信公众号、APP内置客服,但前三个渠道技术很成熟,难度也低,只有APP内置客服接入这一渠道,有非常高的技术门槛。
环信CEO刘俊彦表示,传统网页在线客服基于HTTP轮询技术,不断向服务器发送查询请求来收取消息。但APP内置客服要解决移动弱网络环境下客服咨询绝不掉线、绝不丢消息的挑战,还要对数千款碎片化的Android手机的完美适配,并支撑亿级用户的同时在线,传统网页客服所使用的技术是完全不适用的。截止2016年上半年,环信独有的IM长连接技术经历了82149家APP及5.64亿用户在线的实践考验,每日发送信息5.57亿条。这一移动端上的技术领先优势是同行所难以企及的。道理很简单,其他平台从未承载过亿级规模的海量用户,没有经过验证的高并发能力,在移动弱网络环境下,消息容易延迟或丢失,在“连接人与商业”的时代,这是致命的。
移动+智能机器人是SaaS客服核心竞争力
其实,SaaS客服市场在中国有不少的选手,但只有环信一家进入了Gartner的Cool Vendor名单,很多人觉得奇怪,但理由其实很简单,客服软件的主战场一定是在移动端,谁在今后2年里赢得了移动端客服软件这场战役,谁就可能赢得整个客服软件的竞争。而移动端APP上最好的消费者和客服的沟通形式,只有一种,就是IM。这已经被微信,陌陌,淘宝旺旺的成功所验证。恰恰,环信最擅长的就是移动IM长连接技术。按Gartner的评价说,环信在移动端客服软件市场处于一个绝对垄断地位。
同时,人工智能正在改变客户服务行业的工作方式和劳动力结构。未来,中国劳动力人口呈现连续下降趋势,传统客服行业是劳动密集型行业,运营成本将越来越高,这会倒逼企业从传统客服转向SaaS客服市场,从话音呼叫中心转而采用全媒体客服的模式,尤其是智能机器人的广泛应用,将取代大部分的人工,以往的人工会向高级咨询顾问升级,所以说,出现普通劳动力失业的现象会是必然。因为这是一场效率的革命。而这也是环信能拿到Cool Vendor称号的另一个重要原因。环信智能客服机器人已经在客户服务的售前,售中,售后的多个环节得到了大量的应用和实践。这其中即包括售后环节下标准化的,重复性的客服需求,也包括售前,售中等环节中高客单价,需要深度挖掘销售机会的场景。
基于人工智能和大数据的“客户声音”才是未来
有人会问,SaaS客服的未来究竟在哪里?在传统客服链条上,客户服务被认为是成本中心。但实际上未来SaaS客服一定会承载营销、销售的功能,从成本中心转向利润中心。Gartner就SaaS客服的发展趋势也给出了预判,环信能上榜,也是因为这一点。因为一些企业已经开始利用环信的SaaS客服产品实现服务式的反向营销,通过人群打标签的画像能力进行精准营销,转化率也极高,帮电商企业实现了订单数与客单价的双重提升。
环信推出的“环信客户声音”就是一款基于人工智能和大数据挖掘的客户行为透析产品。可以通过自然语言解析,主题聚类,情感度分析等技术挖掘和分析热点话题,发现畅销或问题商品,分析发现服务中存在的问题,企业就此可以优化运营,还能利用大数据洞察力来发现销售机会。相比,国内同类的SaaS客服产品大多还停留在全媒体客服的接入整合阶段。环信CEO刘俊彦认为,未来,无论是哪个渠道进入的用户,都可以自动识别,并将多方数据统一到某一用户身上,只有这样,用户在任何接入点上,都能更准确地了解用户的需求、消费倾向。
Gartner将SaaS客服列入重点研究领域,也是因为看到了技术创新所带来的颠覆效应,而且,不管是传统行业,还是互联网行业,“连接人与商业”是未来五年的重要发展方向,SaaS客服扮演的正是连接工具的角色,其普适性及对商业的改造毋庸置疑,这恰恰也印证了Gartner对Cool Vendor公司的定义。
附Gartner高级分析师解析环信入选理由:
环信成立于2013年,成立之初专注于为APP提供即时通信能力推出了即时通讯云PaaS平台。截至2016年,环信已拥有两大核心产品线:即时通讯云PaaS平台以及移动客服SaaS平台。
其中,即时通讯云为移动APP提供嵌入式的移动即时通讯服务。这个包含了可定制UI的解决方案已被中国众多移动应用开发商采用,每天为超过60000家移动APP提供服务,日发送信息量超过两亿条。
移动客服SaaS平台包含了移动APP内置客服功能,并集成了支持多渠道客服接入的客服工作台。该SaaS客服产品的后端集成了环信的即时通讯云PaaS平台。在两年的时间内,环信客服产品就获得了中国国内11000家客户。2015年,该公司发布了智能客服机器人功能,并成为了其SaaS移动客服解决方案的组成部分。环信还进一步拓展完善了其SaaS客服平台的全渠道的接入能力,包括语音呼叫中心、网页客服、社交网络和移动APP。
为了能够在中国的社交媒体和消费级APP上提供客户服务,国际CRM供应商投入了大量的研发。有迹象显示他们将为应对该挑战增加投资。过去两年中环信在该领域非常成功,而且在市场上几乎没有竞争对手。
Easemob Beijing, China (www.easemob.com)
Analysis by Olive Huang
Why Cool: Founded in 2013, Easemob started as a communication platform as a service (PaaS) vendor that focused on instant messaging services. By 2016, Easemob had two key products in its portfolio: a mobile messaging as a service platform and a SaaS-based mobile customer service application.
The mobile messaging as a service platform serves as the foundation for mobile communications within mobile apps. This solution, which includes a customizable UI, is used by a large group of mobile app developers in China to power messaging communications for more than 60,000 mobile apps and deliver more than 200 million messages per day.
The SaaS-based mobile customer service application includes mobile in-app customer support functionalities and an integrated agent console supporting multiple channels; its back end runs on Easemob's mobile messaging as a service platform. In two years' time, Easemob's customer service app has accumulated more than 11,000 customers in China. Since 2015, the company has released virtual customer assistance functionality as part of its SaaS-based customer service solution. It also has further developed its mobile customer service platform to support multichannel customer services including voice, web, social media and mobile.
International CRM vendors have long struggled in their R&D to support customer service functionalities on Chinese social media platforms and consumer mobile apps. There are few signs that they will increase investments to deal with this challenge. Easemob has become very successful in the last two years with very little competition in the market. 收起阅读 »
iOS 1分钟集成环信单聊
上一篇:环信SDK思路
前言:
1.为了实现一分钟,我们只需要知道怎么做实现单聊功能就好。至于为何可以自己看源码。
2.这种集成方式适合在新建的工程中,或者是 你添加的工程的第三方与环信本身中的第三方没有冲突的工程中。
3.这是集成了一位我的好朋友的代码,因此我将时间缩短,并且会一直更新代码。
4.你需要原来已经在环信官网注册拥有了自己的账号,并且已经创建好了一个工程拥有至少一个Appkey。
5.功能并不完善,因此要是看完善功能,建议看官方demo或者其他的博客文章资源。
6.目前版本是最新环信V3.0.准确点是V3.1.3版本。
一.资源准备:
1.下载资源官方demo。ios官方demo
2.下载资源ChatDemo-UI3.00-Simple
3.下载360云盘内容网址(提取码:73a8)
二.集成过程:
1.新建工程“personChat”在桌面上。
2.解压ChatDemo-UI3.00-Simple会看到如下内容,并且将ChatSDK于ChatUI添加到自己的工程里面。
添加到工程.png
3.解压打开官方的demo,找到并将libHyphenateFullSDK.a 文件添加到目录【ChatSDK/HyphenateFullSDK/lib】下。(该目录是你刚刚拖进去工程中的目录)。
a.找到文件:
找到.a文件.png
b.添加到路径中:
添加到路径中.png
4.添加10个类库名字如下:
CoreMedia.framework
AudioToolbox.framework
AVFoundation.framework
MobileCoreServices.framework
ImageIO.framework
libc++.dylib
libz.dylib
libstdc++.6.0.9.dylib
libsqlite3.dylib
libiconv.dylib
添加类库
5.添加pch文件:将ChatDemo-UI3.00-Simple中的pch直接拖到自己的工程来。并且引用头文件。将pch中的红包功能注销掉。如下图:
a.引入pch文件:
pch添加
b.注销红包:
注销
6.把bitcode设置成NO,因为环信SDK不支持,如下:
bitcode设置为NO
7.comd+B编译运行。运行成功。
8.打开360云盘下载的demo。复制代码在AppDelegate.m 与 viewController里面。如下:
AppDelegate.m里面
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {在viewcontroller.m 里面如下:(不要忘记引入头文件)
self.window =[[UIWindow alloc]initWithFrame:[[UIScreen mainScreen] bounds]];
self.window.backgroundColor=[UIColor whiteColor];
ViewController *VC = [[ViewController alloc]init];
UINavigationController *nav =[[UINavigationController alloc]initWithRootViewController:VC];
nav.navigationBar.backgroundColor =[UIColor whiteColor];
self.window.rootViewController = nav;
[self.window makeKeyWindow];
//为了实现单聊功能,我们可以先忽略推送证书
[[EaseSDKHelper shareHelper] easemobApplication:application
didFinishLaunchingWithOptions:launchOptions
appkey:appKey
apnsCertName:nil
otherConfig:nil];
EMError *error = [[EMClient sharedClient] registerWithUsername:@"1" password:@"1"];
if (error==nil) {
NSLog(@"注册成功");
}else{
NSLog(@"注册失败");//注册失败的原因往往是因为用户已经存在了,如果这样子就需要我们重新输入一个ID,重新注册
}
//此处是为了检查注册的账户能不能成功登陆成功。
error = [[EMClient sharedClient] loginWithUsername:@"1" password:@"1"];
if (!error) {
NSLog(@"登录成功");
}else {
NSLog(@"登录失败");
}
return YES;
}
#import "ViewController.h"9.最后更改plist文件允许访问http与https:
#import "UserCacheManager.h"
#import "ChatViewController.h"
#import "ChatUIHelper.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
UIButton *my =[UIButton buttonWithType:(UIButtonTypeCustom)];
my.frame = CGRectMake(100, 200, 200, 100);
my.backgroundColor =[UIColor greenColor];
[self.view addSubview:my];
[my addTarget:self action:@selector(myEvent) forControlEvents:UIControlEventTouchUpInside];
}
- (void)myEvent{
//注意此处的用户名与你的注册用户名应该一致,同时用户名就是ID
NSString *userName = @"1";
NSString *pwd = @"1";
[self showHudInView:self.view hint:@"Loading..."];
[[EMClient sharedClient] asyncLoginWithUsername:userName password:pwd success:^{
dispatch_async(dispatch_get_main_queue(), ^{
[self hideHud];
// 保存用户信息
[UserCacheManager saveInfo:userName imgUrl:@"http://img.yxbao.com/news_img/201312/10/1386652628_1.jpg" nickName:@"哈哈"];
//设置是否自动登录
[[EMClient sharedClient].options setIsAutoLogin:YES];
[[ChatUIHelper shareHelper] asyncGroupFromServer];
[[ChatUIHelper shareHelper] asyncConversationFromDB];
[[ChatUIHelper shareHelper] asyncPushOptions];
//发送自动登陆状态通知
[[NSNotificationCenter defaultCenter] postNotificationName:KNOTIFICATION_LOGINCHANGE object:@([[EMClient sharedClient] isLoggedIn])];
//在跳转的过程中需要写一个你已经注册好的用户ID,这样两个不同的用户ID才能实现单聊功能(我用了两个测试机测试,每一个测试机是一个ID)
ChatViewController *vc = [[ChatViewController alloc]initWithConversationChatter:@"werqwe" conversationType:EMConversationTypeChat];
[self.navigationController pushViewController:vc animated:YES];
});
} failure:^(EMError *aError) {
NSLog(@"%@",aError.description);
}];
}
更改pist文件.png
10搞定了。我去我算了算好像超过1分钟了。(ps:写了一个半小时我去!)
作者:环信热心用户 广州-ios-小草
环信IM互帮互助QQ群:340452063 收起阅读 »
环信集成SDK的思路
思路总结:
1.官方下载demo。
2.拿到环信的HyphenateFullSDK(包括实时语音、视频功能)与HyphenateSDK,任选其一。
3.新建一个工程或者是拿到要植入的工程。
4.把环信sdk拖到工程中(HyphenateFullSDK或者HyphenateSDK)。
5.添加类库,如下:
CoreMedia.framework如果使用的是 xcode7,后缀为 tbd。一共10个类库。
AudioToolbox.framework
AVFoundation.framework
MobileCoreServices.framework
ImageIO.framework
libc++.dylib
libz.dylib
libstdc++.6.0.9.dylib
libsqlite3.dylib
libiconv.dylib
6.SDK 不支持 bitcode,向 Build Settings → Linking → Enable Bitcode 中设置 NO。
7.更改网址设置为http与htpps全部允许。
8.comd+B 编译要是没有错误,证明导入没有问题。
9.添加EaseUI导入到工程中。
10.comd+B编译报错。
注意:此处是关键的部分,也是最浪费时间的部分,因此一定要有耐心,把所有编译爆红的都要一一解决掉。
错误类型:一般是三方类库冲突。(重复引入)11.comd+B编译,运行成功。
更改原则:仅仅保留环信的MJ刷新类库不变,其他有冲突的 三方库全部注释掉(仅仅指环信里面跟你工程有冲突的类库)。
12.单独的将环信demo中ChatViewController搞出来,直接添加到文件里面,把编译报错的地方注释掉。再次运行直到不再报错。
13.随便写一个点击方法,并且实现跳转到ChatViewController里面。
14.跳转过去基本上就能实现单聊功能了。
写这篇文章是为了下一篇详细的环信集成总结做概括。
下一篇:1分钟集成环信单聊
本文作者:环信热心用户广州-ios-小草,联系方式:环信IM互帮互助群QQ群340452063
收起阅读 »
【有奖调查】作为环信的一员,关于环信 数据你知多少?
环信成立于2013年4月,是一家企业级服务软件提供商。产品包括国内上线最早规模最大的即时通讯云平台——环信即时通讯云,以及移动端最佳实践的全媒体智能云客服平台——环信移动客服。
炎炎夏日,环信为小伙伴们准备了一批USB小风扇,让环信陪伴给您一丝清凉。下面做一套竞(song)猜(fen)题,只要您全部答对,就有机会获得定制版环信小风扇,包邮哦。
截至2016年上半年,环信共服务了___家APP客户?
50000/60000/82149
SDK覆盖手机终端__台?
3亿/5亿/5.64亿
平台日发送消息__条?
3亿/5亿/5.57亿
环信2015年底数据参考http://www.easemob.com/about
上次有奖调查(关于环信直播,你了解多少?)没有拿到奖的同学可以积极参与啦!
本次有奖调查的时间为: 2016年7月7日-7月14日
开奖时间: 7月15日下午3:00
友情提示:
活动奖品由ImGeek提供,由ImGeek抽取中奖用户,最终解释权归ImGeek所有。
话不多说,上风扇!
开奖开奖!中奖用户请私信我【地址、联系电话、姓名】,你的环信小风扇下周就会到达你身边!
采用我们写的Luckyone抽奖程序在线抽奖,代码已经开源,确保公平公正
@舟舟
@陈日明
@江南孤鹜
@-人至贱则无敌-
@♓️Le vent se lève
@hzw87383197
@huangfangyi
@一直走,累了我背你。
@ly9999
@xihayouyi
@我心中尚未崩坏的地方
@思航
@wzpforwork
@rongrong
@HONG
@617714867qq
@易智科技
@逍熊
@zoulu1
@leeii
收起阅读 »
基于环信做一个”微信“项目,高仿微信2.0 Github 2,406 Star,你值得参考!
关于高仿微信不了解的同学可以点击查看高仿微信1.0
每个程序员心中都有一个自己的微信,而我要找到属于我的微信!
高仿微信 2.0版本发布了
V 2.0
1、重构项目,代码逻辑更清晰。
2、加入红包功能,使聊天更有趣味性。
3、让微信更好玩儿,将用户体验做到极致!
微创新
很多人觉得产品创新是很简单的事,无非是在已有的产品上修改或者增补。这是我们看到的诸多创新的来源。
创新并不需要颠覆,哪里有那么多颠覆性创新。但是,这并不是说我们就应该无所作为。创新不是为了和竞争对手比较,不是为了让媒体多一个传播噱头,创新只是为了让用户可以更好的解决问题,或者拥有更好的使用体验。
驱动力
创造价值与分享价值
在真正能够解决市场上的某类问题,提出解决方案,只有有价值,才能被认可。
做开源项目不易,真正能够坚持下来的动力,寻求价值感,也就是希望能够被认可。
好玩儿
我觉得 “ 好玩儿” 才是做开源项目的兴趣所在!
微信那么庞大的体系,细微调整必将引起行业轩然大波,
而我的高仿微信项目,就可以随便玩儿了,可以加入更多微信想做而做不了的事情。
比如 微信红包
其实 红包是很好的需求,能够真正把社交给搅活,而且细分场景很多,微信只能实现大众的需求,不能做场景细分,满足特定人群的需求。我觉得,微信在红包这个功能点上,只发挥了20%的价值,还有80%价值未发挥出来。
人人都是产品经理
当你站在微信产品经理张小龙的角度,来看待微信,重新组织微信的功能架构,用户体验如何去做,每个功能点背后都有哪些洞察人性的考虑,相信,等自己真正梳理一遍的时候,发现对产品的理解已经提高的很多,比起整天看一些产品经理的文章要有效的多,实践大于理论。
写到最后,有人问我,你为什么要做个微信啊?
我回答到,每个程序员心中都有一个自己的微信,而我要找到属于我的微信。
另外附上一首简单的禅诗:
To follow the path:
沿着这样一条道路:
look to the master,
关注大师,
follow the master,
跟随大师,
walk with the master,
与大师同行,
see through the master,
洞察大师,
become the master.
成为大师。
高仿微信2.0 源码下载点击进入
安装包下载点击这里
QQ交流群:476988719 收起阅读 »
imGeek“开源专区”全新上线,改变世界从这里开始
imgeek的创办者们,都是在即时通讯(IM)领域的极客们, imgeek就是指即时通讯领域的极客们
imgeek,也意指I'm极客,统指所有极客们的家园
imGeek社区标识
imgeek社区成立之初,我们就努力将imgeek造成为一个充满开放、互助、协作、创意的极客社区 !你在这里的提问和分享,都将得到伙伴们的热情回复,在这里,你的问题将不再是你一个人在思考。
环信CEO刘俊彦赠书
响应着社区“我为人人,人人为我”口号的号召,涌现了一大批“赠人玫瑰,手留余香”的极客们。
正是这些义无反顾的极客们,开放出了各类原创的开源项目,与全社区共享,感谢你们!
imGeek社区代码模板截图
imGeek开源专区http://www.imgeek.org/code/ 收起阅读 »
环信移动客服v4.9产品更新--客服在线状态自定义切换
【新增】在线状态
客服和管理员的在线状态增加忙碌和离开,更新为五种:空闲、忙碌、离开、隐身、离线。
- 空闲:当客服以常规方式登录客服系统时,状态为空闲。空闲时,可以自动接入新会话以及同事转接的会话。
- 忙碌:当客服工作量达到饱和时,可以主动将状态切换为忙碌。忙碌时,不会自动接入新会话,但可以继续处理当前接待的会话以及接入同事转接的会话。
- 离开:当客服需要暂停工作时,可以主动将状态切换为离开。离开时,不会自动接入新会话,但可以继续处理当前接待的会话以及接入同事转接的会话。
- 隐身:当客服以“隐身登录”方式登录客服系统时,状态为隐身。隐身时,不会自动接入新会话,但可以继续处理当前接待的会话以及接入同事转接的会话。
- 离线:当客服点击“退出”,或直接关闭浏览器30秒后,状态为离线。离线时,不会自动接入新会话,也不能接入同事转接的会话。
【新增】导入公共常用语
当您已有常用语列表,或需要设置较多常用语时,可以批量导入常用语。
【新增】访客统计
在管理员模式,点击“统计查询 > 工作质量”,可以查看访客统计报表。
访客统计报表包含独立访客总数、访客数趋势图、按渠道/关联/访客标签统计的独立访客数及其占比。支持通过时间段、渠道、关联、访客标签查询。
【优化】访客端显示客服昵称
使用管理员账号登录环信移动客服,选择“管理员模式 > 设置 > 系统开关”可以设置访客端是否显示客服昵称。开关打开时,当访客收到客服的消息,访客端显示客服的昵称;开关关闭时,访客端默认显示客服所属企业的名称。
【优化】工作量导出报表细化在线时长数据
使用管理员账号登录环信移动客服,选择“管理员模式 > 统计查询 > 工作量”,选择筛选条件,点击“导出报表”,可以导出工作量报表。
工作量导出报表细化在线时长数据,包含空闲时长、忙碌时长、隐身时长、离开时长、在线时长、离线时长。其中:在线时长=空闲+忙碌+隐身+离开,离线时长=统计的总时长-在线时长。
【优化】工作质量报表修正机器人客服的部分指标数据
工作质量报表修正机器人客服的部分指标数据,包括:响应时间和有效/无效会话。
使用管理员账号登录环信移动客服,选择“管理员模式 > 统计查询 > 工作质量”,可以查询工作质量报表。在客服的工作质量报表和导出报表中,机器人的数据一栏显示为0。
体验环信移动客服http://kefu.easemob.com/
收起阅读 »
环信入门demo,用最少的代码、最短的时间快速集成环信即时通讯功能
还在为APP加入即时通讯功能而苦恼吗?还在研究集成环信该从何下手吗?别傻啦!来这里看吧,赶紧收藏star!本篇教程持续更新ing!
环信现有官方demo对新手还是不太友好的,写这样一个简版demo,代码和文件很少,可以通过这个demo先了解环信IM的初始化和体验IM功能,再看环信的官方的完整demo更有针对性的研究和学习
在使用本demo过程中遇到问题请加--环信IM集成互助群:340452063。吃瓜群众 勿加!勿加!
本篇文章所讲的简版demo为Android版,ios或其他请移步imgeek代码专区 ,那里有你想要的。
简版demo体验:仅2.7M
点击扫码安装:http://fir.im/xy1z
Android Studio兼容工程包
git源码:https://github.com/huangfangyi/EaseDemoLite
简版demo Eclipse工程包:仅5.5M
http://pan.baidu.com/s/1jIPg70i
鉴于还有部分刚接触android studio的同学,写一个导入编译的流程文档
1、Download ZIP
2、解压得到 EaseDemoLite-master文件夹
3、打开Android Studio ->File->Import Project->选定EaseDemoLite-master
4、导入工程后 Build->Clean Project/Rebuild Project.
5、Build->Build APK.如果成功就是可以了。
Eclipse导入
1、Download ZIP
2、解压得到 EaseDemoLite-master文件夹
3、打开Eclipse->File->Import 导入工程包,勾选主工程即可。
4、Project->clean
如果实在有问题,请联系QQ84543217吧,备注“简版demo编译”
全部类文件:
收起阅读 »
开源项目-《方圆十里》-基于IM(环信即时通讯云)+LBS(百度地图SDK+GeoHash距离算法)的社交APP
2、用户资料:头像、昵称、性别、生日、地区(本地arrays.xml存储地区数据库)、个性签名
3、Tab1.-“人”---- 百度地图中显示十公里内的人(如果用户位置集中或者人数过少会导致无法测试,因此“更远”选项,搜寻更多,并且本身的十公里概念也未进行筛选)
4、Tab2.“事”----十公里内的动态--文字、图片、位置的动态(发布、回帖、通知提醒)
5、Tab3.“聊”----IM会话
6、Tab4. “友”---通讯录及好友申请
7、我的动态
8、二维码---通过扫二维码加好友
二、特点备注:
1、本项目中采用geohash算法编码用户的位置坐标,达到位置的粗分区,而后进行精确精算实现十公里之内的人和事的概念。
2、创建自定义的百度地图标注。
3、一套将环信IM系统和开发者自身的用户体系融合的解决方案(当前的解决方案在多个项目中得到检验,成熟稳定)。
4、常见的发帖回复模块的处理解决。
5、利用环信的透传消息进行用户的帖子发布、回复等提醒通知。(待更新)
6、UI优化,如电话聊天背景的取自用户头像的毛玻璃特效--参考微信电话聊天背景(待更新)
项目地址:https://github.com/huangfangyi/fangyuanshili
体验包: http://fir.im/ld6m
项目近期在着手更新,有兴趣加入本项目开源组的可以联系QQ:84543217,备注“方圆十里开源组” 收起阅读 »
IOS V2.2.6 Android V2.3.0 release ,环信红包大升级:支持支付宝,支持群内专属红包!
环信红包支持支付宝支付、支持群内专属红包
Android V2.3.0 2016-6-28 更新日志:
修复NetUtils::hasDataConnection()方法在有线网下判断不准确的问题;
红包若干优化和修改:
1、支持群内的专属红包,只有指定用户才能抢红包;
2、支持支付宝;
3、支持系统发的群红包,用户只能看到自己的领取情况;
4、支持绑定多张银行卡,支持解绑银行卡;
5、零钱页支持充值;
6、改版零钱页;
7、支持上传身份证照片做第三通道验证;
8、红包UI细节打磨,包括双title和各个页面细节,安卓和iOS文案统一;
9、错误信息梳理,关键错误基于对话框引导;
10、服务端性能数倍的提升;
11、红包数据平台完善统计项;
12、其他优化:优化代码结构,剥离第三方库减少和开发者库的冲突;透传消息仅给发红包用户而非群内全部用户;优化token获取和更新机制;修复若干bug。
iOS V2.2.6 2016-06-28 更新日志:
红包功能优化和修改:
1. 支持群内的专属红包,只有指定用户才能抢红包;
2. 支持支付宝;
3. 支持系统发的群红包,用户只能看到自己的领取情况;
4. 支持绑定多张银行卡,支持解绑银行卡;
5. 零钱页支持充值;
6. 改版零钱页;
7. 支持上传身份证照片做第三通道验证;
8. 红包UI细节打磨,包括双title和各个页面细节,安卓和iOS文案统一;
9. 错误信息梳理,关键错误基于对话框引导;
10. 服务端性能数倍的提升;
11. 红包数据平台完善统计项;
12. 其他优化:优化代码结构,剥离第三方库减少和开发者库的冲突;透传消息仅给发红包用户而非群内全部用户;优化token获取和更新机制;修复若干bug。
版本历史:Android sdk更新日志 ios sdk 更新日志
下载地址:sdk下载
关于新版sdk使用有任何问题或建议欢迎在下方评论留言。 收起阅读 »
环信小伙伴ZANK获数千万元B轮融资,将发力直播业务
目前 Zank 在国内有 7000 万左右国内用户,其电商业务也在增长中,从导购逐渐转变为自营。创立之初,电商平台是淘宝的流量入口,业务发展起来后,Zank 已经有了近 1000 个 SKU 的自营商品,总 SKU 数量超过 5000 多个, 由稳定的运营商持续供货。为适应业务的快速拓展,团队开发了一个「商品推荐系统」,以机器算法为支撑、用爬虫的方式完成快速联想和产品推荐,以辅助 SKU 扩张。
去年 10 月,Zank 开始利用男同在服装和护肤品方面的独到品味,尝试同志电商变现活动。据公司创始人凌绝顶称,目前相关商品的客单价在 100 元左右,毛利率 20%,用户的付费转化率在 3%,不过并没有透露具体的交易单数和营收情况。
除继续完善电商业务外,Zank 还将在今年 6 月上线直播功能,目前已经初步筛选出一些具备才艺的主播,功能上线后会同步推出王牌栏目来吸引用户。面对同类型竞品 Blued 类似的动作,凌绝顶表示,Zank 的直播围绕兴趣、表演以及情感等内容展开,始终不会偏离「同志」这条主线。此外,Zank 已经扩充了专门团队为直播功能提供保障。据悉,Zank是环信即时通讯云早期种子用户之一。同时,环信视频直播解决方案即将出炉,敬请期待。
关于ZANK团队:
ZANK创始人凌绝顶毕业于清华大学计算机系,自 2006 年开始陆续在网易、新浪微博等公司工作,先后从事研发、产品等,于 2010 年兼职创立国内第一个同志 SNS「飞赞网」。其他团队成员均来自腾讯、360、陌陌等知名企业。 收起阅读 »
移动时代的服务营销新体验,环信闪耀2016CMAC
作为拥有国内最大的即时通讯云PaaS平台——环信即时通讯云,以及国内最大的全媒体智能云客服平台——环信移动客服的全通讯能力云品牌服务商,环信也受邀出席了本次行业盛会。随着客服中心不断的被新时代赋予新的含义,传统的客服中心也正逐渐从成本中心向营销中心和利润中心转化。其中众多电商标杆企业均使用环信移动客服实现了服务式反向营销,先通过"客户标签"功能+"大数据分析"找到目标群体,然后通过环信移动客服的精准营销推送接口,将富媒体商品信息定向推送给目标客户。这种反向营销不仅用户体验好,转化率也极高,帮助电商企业实现了订单数和客单价双丰收。
环信营销总经理申斌主题演讲
此次受邀出席“中国互联网企业服务论坛”,环信营销总经理申斌也结合企业实战经验,就主题发表了“移动时代的服务营销新体验”的精彩演讲,为现场参会的观众和业内人士带来了创新启发,以下为演讲实录:
申斌:大家好,今天我们为大家带来移动时代的服务营销新体验。未来大概有60%或者70%的客服请求是来自移动端的,这一块趋势比较明显,特别是在电商,70%来自移动端,我们通过线上线下,会发现如果没有一个好的营销方式,90%的客户会流失掉,营销的重要性在新时代移动互联网时代尤为凸显。我们在全民时代将会遇到哪些挑战呢?要解决多渠道、成本高、效率低、弱网络、转化低这五大客服挑战,环信首推的全媒体智能云客服提供了最佳解决方案。
在服务客户的时候,第一个阶段是当没有电脑时你的用户购买产品时是通过线下或者到店里面咨询,或者通过电话咨询,这是第一代服务客户时的方式,第二代是PC时代,这个时候出现网络,有甚么问题通过投诉处理。第三个是移动互联网时代,就是官网,你的APP会有咨询,这个就不一样了,新的时代就是我可以通过图片、语音,形式多样化,90后、00后更喜欢这种方式。
中国的互联网环境网络特别复杂,偏远地区网络信号很弱,我们保障你的消息能够及时到达,跟用户交流及时返回,这个很重要。针对转化低的问题,如果没有一个精准的反向营销,成本资金都是浪费的,我们会讲到怎么去解决目前碰到的问题。
很多企业有APP,微信公众号,H5以及网站,每个平台都需要一套客服系统。你们会发现每一个咨询,都有自己一个服务体系,这里面有一个问题,我的数据怎么办,每个系统是独立的。这意味着很多工作是重复的,而且是效率低下,这个需要有一个平全媒体接入台,就能解决把所有的渠道把他打通,这些数据全部打通,意味着当有个用户上午打电话说要处理,如果没有第一时间处理。下午又提出咨询,你的数据是单独隔离开的话就根本不知道上午有人咨询过,如果打通过就会看到记录。上午确实有一个咨询,现在到什么程度了,我上午在线咨询,下午电话咨询,这个数据都是打通的。这是一个高效的会话支撑系统。
这是链家客自如客使用环信实现全媒体客服接入。环信移动客服开启了移动客服长连接时代,我们保证发送给客户的每一条消息必答都不会丢失,这是环信的一个核心技术优势。同时环信在电量和流量的优化上也是做了很多技术工作,因为APP可能需要推送,很多用户特别是有一些学生这类用户会比较在意手机的流量,这块我们做了很多的优化。我们目前大概覆盖有3.19亿的移动终端设备。环信移动客服还有很多功能点,包括有轨迹跟踪,有机器人回复,另外就是智能机器人,效率高,智能机器人可以帮助解决80%常见性问题。
这个是新时代的营销方案,你可以看到不管是线下还是楼宇电梯里面,你把这些流量从线下到线上,如果没有精准的营销,没有好的云服务,你的用户可能会流失。
这是我们另外一个大客户楚楚街,做了一个基于大数据的精准营销,用户在交流时可以知道他是一个妈妈,有一个小孩,我根据这种标签,需要安全座椅,推出消息,我们做过统计有两万多张安全座椅卖出。今天关于环信的介绍就到这里,如果大家有什么需求可以直接登陆我们的官网。谢谢大家! 收起阅读 »
swift集成环信(1)
1. 为了swift工程能使用OC编写的环信文件,我们需要一个桥接文件。在这里有个简单的方法,我们创建一个OC的Test类。如下,点击 Create Bridging Header 。系统就自动为我们生成了一个 桥接文件。 以后要在swift文件中引用的OC类 我们就需要把OC的头文件(*.h文件)导入到桥接文件里面。
ps. 如果操作失误没有自动提示生成,请自己创建并加入以下设置
2. 首先根据官网SDK导入流程 导入SDK 以及 easeUI.
3. 导入所需要的静态库, 此版本不包含实时语音。向Build Phases → Link Binary With Libraries 中添加依赖库
CoreMedia.framework
AudioToolbox.framework
AVFoundation.framework
MobileCoreServices.framework
ImageIO.framework
libc++.dylib
libz.dylib
libstdc++.6.0.9.dylib
libsqlite3.dylib
4. 将以下头文件加入到 Bridging Header 文件(Xcode自动生成的那个头文件)
#import "EMSDK.h"此时运行工程大部分的时候会报错。 我们需要将EaseUI-Prefix.pch 加入到以下位置
#import "EaseUI.h"
// pch中的代码
#ifdef __OBJC__ // 这个在自己写pch的时候也必须加
#import <UIKit/UIKit.h>
#import "EMSDK.h"
#import "EaseUI.h"
#endif
5. 此时运行工程一般来说就没什么问题了,我们来初始化SDK试试
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
EaseSDKHelper.shareHelper().easemobApplication(application,
didFinishLaunchingWithOptions: launchOptions,
appkey: "appkey",
apnsCertName: "apnsCertName",
otherConfig: ["SDKConfigEnableConsoleLogger":"1"])
return true
}
6. 集成SDK以及easeUI到此结束。
swiftDemo git 地址:https://github.com/myafer/SwiftEaseUIDemo 收起阅读 »
java.lang.UnsatisfiedLinkError: 的问题
集中回复
导致产生unsatisfiedlink的几个原因
1. 相关信息
hyphenatechatsdk提供的指令集类型仅提供armeabi, arm64-v8a, x86三种,这里需要解释一下相关信息。
armeabi和armeabi-v7a是相近似的指令集,v7a是增强型指令集,运行速度,效率均有所提高,他们都是32位指令,并且兼容。
arm64-v8a对应arm 64位指令集,arm的64位策略和intel IA32不一样,intel的64位指令是兼容32位指令,32位指令编译的程序可以直接在64位机器上运行。
但是arm不是,arm64位和arm32位是彼此独立的指令系统,不兼容。arm这样设计的原因是因为运行在嵌入式上,设计指标更趋向于效率,和耗电考量。
实际上arm64位芯片上同时包含着64指令处理器,和32位指令处理器,只不过两个处理器彼此独立。
2. 影响链接的限制条件
armeabi的so实际上可以运行在64位机器上,只不过google增加了限制条件。
a. Android4.x, 只要能找到so,就可以运行,so可以在armeabi,armeabi-v7a, arm64-v8a,so位置可以很随意。
b. Android5.x开始,检查更加严格,会只有和芯片型号对应目录的so会安装到手机中。
举个例子,开发环境下目录结构如下
libs/armeabi/: libhyphenate.so libhyphenate_av.so
libs/armeabi-v7a: libmediadata.so
手机对应的指令集是armeabi-v7a,之中安装到手机的只有libmediadata.so
c. Android6.x下,检查更加严格。有一条规则,之前测试又遇到,现在不太确认。
libs/armeabi/: libhyphenate.so libhyphenate_av.so。
libs/arm64-v8a (没有此目录)。
在64位机器上也可以运行。
但是作为开发者通常会依赖其他开发包,比如baiduMap,也会用其他so,不能让所有开发者都删掉libs/arm64-v8a的目录。
不过开发者可以尝试下删除arm64-v8a,只留armeabi,这样安装包会很小,在各个平台上也能运行。google考量点是执行速率,更流畅的用户体验,作为开发者。服务提供者,我们希望apk尽可能小,对执行速度要求不高。
d. armeabi和armeabi-v7a可以互换,现在市面上的手机很少有armeabi的,基本上是armeabi-v7a,或者64位的高端机器。
e. 查看手机芯片型号: cat /proc/cpuinfo, 仔细看一下打印信息,能够看明白手机指令集,是32位还是64位。
f. x86目录,通常对应虚拟机,很多开发者喜欢在genymotion上开发调试,这个就对应x86. x86和前面说的intel IA32是一回事,所以只提供32位的,也能在x86-64位机器上运行。
g. 我们的so还依赖于libsqlite.so,不过由于这个包从来没有变化,使用的是系统默认提供的(/system/lib/)。在Android 6.x及以下的平台可以运行。
Android7.x执行更严格的安全检查,禁止使用系统目录的内容。所以如果希望在7.x以上版本,需要把系统目录的libsqlite.so拷贝出来,也放在自己app对应指令目录下。
由于目前Android7.x市面上没有机型,所以目前不在考虑范围。目前微信...等大app都不能在7.x上运行。
i. mips指令集的手机很少见,听说联想有出过,没见过。
h. libs/armeabi/libhyphenate.so 和libs.without.audio/armeabi/libhyphenate.so是不同,libs/armeabi/libhyphenate.sos会依赖于libs/armeabi/libhyphenate_av.so,如果找不到会报java.lang.UnsatisfiedLinkError. 收起阅读 »