移动互联网的火热催生出一大批第三方服务,例如:
-用户崩溃报表收集: Crashlytics
-测试版本发布:TestFlight(已被Apple收购只做iOS)、Fir、蒲公英
这个列表可以很长很长,就像社会发展的方式一样,随着发展的深入和专业化,社会的分工也越来越细分。可以预感到未来的软件开发就会想乐高积木一样简单,有无数的模块、组件来帮助完成基础性、通用性的功能,每个人只需要专注于自己核心模块的研发,体现出自身的特色。
好了,今天要讨论的是第三方聊天服务。现在的App里面社交性的模块越来越普遍了,于是聊天功能变成了一个必不可少的模块。那么,应该自己做还是用第三方服务呢?我觉得取决于以下条件:
1. 聊天是不是你的核心模块?例如微信,QQ,很难想象这类App不自己实现聊天功能。
2. 是否有足够的人力和时间?聊天看似简单,想做对很难。需要采用正确的协议,要考虑移动设备的网络情况,要研究文字、图片、表情、视频、音频等等不同消息的格式,网络掉包,离线消息等等。要做一个能用并且用的爽的聊天功能至少是3个月以上的投入。这在移动互联网时代往往是错过了一些机会。
3. 聊天消息的数据是否是你的核心价值?第三方聊天服务意味着聊天的消息数据在对方服务器,数据的同步并不能做到实时,数据的分析也会延后,甚至很多时候聊天的消息数据都有可能不能同步到自己的服务器,也不能保存长时间的聊天记录。
如果你完全了解第三方聊天服务的优势和劣势,你可以做出正确的决定。目前市场上面第三方聊天服务也有很多,我简单比较了下面几个服务:
1. 环信: http://www.easemob.com/hx/index.html
2. 融云:http://www.rongcloud.cn/
3. LeanCloud: https://leancloud.cn/
功能
三个服务都是能支持iOS/Android/Web三个平台
服务 | 文本 | 表情 | 图片 | 语音消息 | 视频消息 | 位置消息 | 实时语音 | 单聊 | 群组 | 聊天室 | 客服 |
环信 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 否 | 是 |
融云 | 是 | 是 | 是 | 是 | 否 | 是 | 是 | 是 | 是 | 是 | 是 |
LeanCloud | 是 | 是 | 是 | 是 | 是 | 是 | 否 | 是 | 是 | 否 | 否 |
价格
环信:注册用户300万以下或日活30万以下终身免费。
融云:收费功能包括聊天消息的同步,服务器消息广播,专属服务器。按日活用户数来区分收费。
LeanCloud: 每天500免费活跃用户,超出后 1 元 / 千人 / 天。
假设我们需要采用融云的消息同步功能,下面可以比较下不同日活用户数的价格水平(每月):
服务 | 10万 | 100万 | 500万 | 1000万 |
环信 | 0 | 50000 | 250000 | 500000 |
融云 | 2000 | 10000 | 20000 | 电话咨询 |
LeanClund | 3000 | 30000 | 150000 | 300000 |
环信对小型App最为友好,完全免费的。但是随着日活用户数的增长,费用也是最高的。融云的价格在大于30万日活的情况下是最少的。LeanCloud价格居中。
集成
环信:环信与现有系统集成还是非常方便的,唯一需要的就是环信的账号注册。通常的流程如下:
1. 服务器一次性将现有用户在环信中注册。一般的方法是采用现有的系统中UserId来注册环信账号,这样不用在现有系统中维护环信的账号ID。
2. APP创建新用户时创建环信账号
3. APP删除用户时删除环信账号
4. 客户端使用SDK登陆环信,只需要了解对方的环信ID就可以建立聊天窗口相互通信
融云:
融云包括两类SDK: IMKit和IMLib。IMLib提供了一整套聊天的基础框架,但需要开发者集成并自行开发UI。IMKit则包含IMLib并提供聊天所需的一整套UI,对于不需要针对UI做大量定制化设计的开发者非常友好。
融云的集成和环信非常相似,不需要对现有系统做太多的改变,只需提供一套用户认证的模块:
LeanCloud:
LeanCloud是一个一站式的移动应用后台解决方案,提供了Storage, Message, Analysis, Module一系列的移动应用后台支持,所以如果需要找到一个完整一站式解决方案,LeanCloud是个不错的选择。
LeanCloud的集成看起来也是相当的方便,完全不需要用户验证,只是需要保证ClientId在自身应用是唯一即可。不过LeanCloud不像融云提供一整套UI,所以需要自己设计实现一些比较复杂的UI,当然LeanCloud提供了一些demo作为参考:
LeanCloud还提供一些有趣的开放资源,从中你也能看出这是家比较有趣的公司。
总之,这三家服务各有千秋,大家可以根据自己的需求好好选择。知乎上面也有不少比较的讨论:
有人用过即时通讯(IM)服务吗?融云 环信 云之讯 云通讯 LeanCloud,哪个最稳定?