美洽 2016 版移动应用 SDK 发布小记
继 12 月份 iOS SDK 发布后,16 年第一周 Android SDK 也正式上线,这就意味着面向美洽 2016 版的移动客服 SDK 正式全面发布!
继 12 月份 iOS SDK 发布后,16 年第一周 Android SDK 也正式上线,这就意味着面向美洽 2016 版的移动客服 SDK 正式全面发布!希望更多的开发者能利用 SDK 提供的接口,体验美洽 3.0 丰富的功能。
下面是我们新版 SDK 增加的几个重要的功能:
- 绑定开发者的用户系统和美洽顾客系统
- 支持应用内推送聊天消息
- 支持当前顾客离线
- 支持清除 SDK 的缓存
- 支持结束当前对话
- 支持给顾客打标签
- 支持指定分配客服和客服组,以及设定分配规则
- 支持国际化
- 聊天界面支持多种自定义配置
在新版 SDK 开发之前,我们就抱着做优秀产品的态度来打磨这款 SDK。我们深知 SDK 的产品和提供给普通客服用的客服管理工具不一样,SDK 服务的人群是我们可爱的程序员们,「如何让开发者用的爽」成了我们重要的课题。
为了满足程序员们的需求,我们主要做了以下几件事:
- 接口清晰
- 运行稳定
- 界面开源
清晰的接口是 SDK 的美人脸
一款 SDK 给开发者第一印象即是接口了,让开发者能「无障碍」的对接自己的 App 是她的使命。
那么如何能达到「无障碍」的目标呢?
我们觉得首先得保证的是,清晰的命名。我们都知道说明书是没人看的,所以我们尽量让开发者看到接口名字,即能理解接口的意图。同时必须保证命名不会产生歧义。
其次,大部分接口都尽量给开发者一个反馈。人机交互中一个重要的设计即是反馈,我们认为没有反馈的设计是冰冷的。所以我们给大部分接口都添加了反馈,接口调用不论是成功或失败,都能让开发者清晰地了解该接口执行的状态。
最后,不要让接口之间产生依赖。程序员大多都是追求自由的,一套规定顺序的接口调用会让他们抓狂,同时也非常容易引入错误。
稳定是 SDK 的基石
「谁能忍受得了别人的代码导致自己 App 的崩溃?」
我们最不希望看到的就是,由于我们的 SDK 的问题,导致了用户的 App 的异常,甚至崩溃。稳定是我们最需要保证的特性。
为了保证 SDK 的稳定,我们谨慎地使用缓存、设计清晰的数据结构、保证不出现内存泄露、复杂逻辑不影响主线程等等等等。「暂不展开讨论,否则就成了技术博客了,笑。」
我们相信开源的力量
开源是我们新版 SDK 非常重要的改变。
老版 SDK 开放以后,我们几乎每天都会收到一些开发者的留言,很大一部分的问题即是「如何定制客服聊天界面」。由于老版本 SDK 的界面是闭源的,开发者看不到源代码,只能通过 SDK 提供的一些接口完成简单的定制。
后来我们就思考一个问题,「什么是美洽 SDK 的核心竞争力」。我们觉得答案是「让 App 拥有最好的客服功能」。那么如何保证 App 拥有最好的客服功能?除了能完美对接美洽强大的工作台之外,我们觉得还应该有一个「既可以简单使用,也可以完美定制的聊天界面」。
于是我们就重写了聊天界面,并将之开源了出去。
我们还是有一些程序员的尊严的,为了不成为同行的笑柄,我们努力保证代码清晰,添加了大量注释,设计了一套易于定制的代码结构,并和美洽的业务逻辑进行了解耦。
开发者拿到开源界面后,可以很方便地实现自己的显示风格,比如电商类的 App,可以三步实现添加商品链接的显示;再比如社交 App,可以方便实现发送红包的显示等等。
聊天界面开源出去后,让我们很欣喜的一件事情是,一些非美洽用户的开发者也用了该开源项目到自己的 App。这让我们觉得把开源代码和美洽业务解耦是正确的选择。
未来我们 SDK 还会有新的功能、新的产品推出,这些产品的界面我们希望都能开源,甚至在美洽后端开放 API 之后,整个 SDK 均可以开源。
借着开源的力量,让用户看到一个透明和开放的美洽。
传送门:
以上就是美洽 SDK 产品做了、和正在坚持的几件事,如果有哪些地方有不足,欢迎开发者们吐槽。
(题图来自google)
丁南