LeanCloud 向大家送上迟到的中秋祝福,祝各位开发者身体健康、阖家幸福!
下面汇报一下我们在 9 月份所做出的产品改进。
网站和文档
首先,我们对「财务账单」做出了很大改进——交易历史菜单按照消费类型分类,发票申请的流程得以简化,界面也做了调整和改进。
其次,我们对应用设置菜单做了如下改进:
- 在应用 Key 菜单引入「重设 master key 」功能
当发现 master key 意外泄露时,你可以主动将其重置。请注意,重置将立即使旧 master key 失效,如果使用了云引擎,你需要做一次部署来强制更新 master key。 - 新增应用选项「只允许使用旧密码来修改用户密码」
启用后,将只允许通过updatePassword接口使用老密码来修改应用内用户密码。 - 新增应用选项「 启用文件 SSL 域名」
启用后,本应用上传的文件_File数据将使用新的 SSL 域名,特别针对 iOS 9 优化。
<!--more-->
此外,我们改进了开发者账户的注册流程,要求开发者输入手机号码并做验证。我们将使用验证后的手机号码来发送应用内的告警、重要通知等信息,所以强烈建议现有开发者也填写和验证手机号码,我们在后台的数据管理页面也设置了相应的提示。
我们还发布了全新的 联系我们 页面,希望能更好地引导用户使用我们的服务,给我们提出建议或者 Bug 反馈等。我们在论坛开设了专门的 Bug 反馈专区,欢迎访问。
文档上,我们发布了全新的 实时通信开发文档,我们还在编写新的安全文档,敬请期待。
存储服务
- 支持
beforeUpdate调用,云引擎的支持暂未发布。 - 在
beforeUpdate和afterUpdate调用的 object 里增加 _updatedKeys 字段,表示本次对象修改变更的字段列表。 - 支持新应用选项「只允许使用旧密码来修改用户密码」和「启用文件 SSL 域名」,参见上文。
- 新创建应用的 _User 表默认关闭 find 权限。
- 开放导出数据 API ,参见 文档。
- 支持缩短的 App Header ,例如
X-LC-Id等,全面更新了 REST API 文档。 - 改进了数据导入服务,更好地支持文件类型。
实时通信和推送
实时通信,我们在 SDK 方面全面启用了内置的聊天会话缓存,默认策略是 CACHE_ELSE_NETWORK ,这主要是为了提升了客户端 SDK 的性能和稳定性。具体参见各个 SDK 的更新历史 ChangeLog 和文档。
其次,实时通信服务端的改进集中在稳定性上,我们改进了对 redis 访问的稳定性,避免再次出现这类访问引起的故障,改进了流控机制,提升了服务稳定性。
更重要的是,我们重新编写了 实时通信开发文档,包括概览文档和各个 SDK 的文档,希望能帮助开发者更好地使用实时通信服务。
其他功能改进:
- 聊天记录 API 查询返回结果里,增加聊天消息到达目标客户的时间。
- 创建会话支持 unique 选项,可以避免重复创建会话, SDK 方面也相应地增加了接口参数。
云引擎
云引擎最重要的进展是我们开放了 Redis 服务内测,这样在云引擎里可以申请和访问 Redis 服务,具体参见 LeanCloud Redis 服务内测申请。
我们还在持续地对 Redis 服务做出改进,希望能在 10 月份向更多用户提供测试和使用。
SDK
SDK 方面除了改进和 bug 修复之外,我们已经招到小伙伴,开始研发 PHP SDK 了,请感兴趣的童鞋们关注下我们的 Github 仓库:https://github.com/leancloud/php-sdk。
iOS SDK 改进
- 修复美国节点访问云代码的 URL 。
- 支持使用 session token 登录的方法
AVUser.becomeWithSessionToken。 - 支持自定义实时通信 WebSocket 的超时时间
AVIMClient.setTimeoutIntervalInSeconds。 - 缩短了请求头来节省流量,包括云引擎的请求头。若使用了云引擎,需要重新部署,请参考 此工单。
- IM 支持「未读消息」模式。开启未读消息后,服务端不推送离线消息,而是发送离线消息数,客户端负责主动拉取消息。
- 增强对 Swift 构造方法的支持。
- 适配 iOS 9 ,支持 bitcode 以及 App Transport Security (ATS)。有些第三方服务需要开发者允许 HTTP 访问,请参考 iOS 9 适配指南。
- 支持原子创建对话,在创建对话时,传入
AVIMConversationOptionUnique选项,即可根据成员创建唯一的会话。
现在 Swift 语言越来越火,我们也推出了一个基于 Swift 语言、演示存储功能的 Demo 项目: https://github.com/leancloud/LeanStorageDemo-iOS,欢迎关注和测试。
Android SDK 改进
- 修正了
AVIMConversation.queryMessage有可能产生两次回调的问题。 - 修正
AVSearchQuery.setClassName不会限定搜索范围为指定类的问题。 AVStatus支持 Pointer 类型数据的解析。- 增加
AVQuery.and(List queries)方法,作为 and 复合查询。 - 为
AVIMClient.createConversation增加了一个带有 isUnique 参数的方法。当 isUnique 为 true 时,该方法会根据 members 来检查当时是否已经有同样 members 的会话,如果已经有了,则返回已有会话,否则才创建新的。 - 由于有部分开发者有需要自己定制聊天记录缓存的需要,增加
AVIMClient.setMessageQueryCacheEnable接口。 - 增加
AVIMConversation.getLastMessage接口,获取会话最近一条消息。 - 修正
AVStatus.getQuery查询出现的异常。
JavaScript SDK 改进
- 发布 0.6.0 版本,修复 AV.File 在云引擎中上传 Base64 图片数据损坏的 bug 。
JavaScript 实时通信 SDK 改进
- 内置 ws 作为默认的 WebSocket 实现,在 Node 运行环境中使用时不再要求配置 WebSocket 类。
Python SDK 改进
- 修复 JavaScript SDK 访问 Python LeanEngine 授权失败的 bug 。
- 支持短 header key
- 增强
leancloud.user

