月度归档:2015年02月

2015 年 1 月 LeanCloud 更新汇总

非常抱歉,2015 年的 1 月份我们做了很多事情,但是在博客上跟大家说的太少,这个汇总因为种种原因延迟到现在。
春节即将到来,LeanCloud 提前向开发者们道一声春节快乐,在新的一年,我们将继续努力,为大家提供更优质的功能和服务。
想必大家领了年终奖了,归心似箭,因此我们长话短说,进入 1 月份的更新汇总。

综述

1 月份,我们网站重点是加了协作者的细分权限,每个协作者可以设置存储、消息、设置等权限。其次,增加了 JavaScript 域名白名单设置,提升前端使用 JS SDK 的安全性。
实时通信推出了云代码集成功能,可以在云代码中对接收消息等操作编写自定义逻辑。
云代码增加了支付宝和微信的接入示范,并持续性地改进部署和运行的稳定性。
Android SDK 正式推出官方 Maven 仓库,并支持 Gradle 构建。
更详细的介绍请看下文的各部分更新摘要。

网站服务

  • 加入协作者细分权限,现在您可以给应用的协作者设置更细分的权限:分析、模块、消息、设置等,只有拥有这些权限的协作者才可以访问相应的模块,否则都会收到屏蔽。

Snip20150203_2

协作者细分权限对于团队也同样起作用,设置后还可以修改。原来的协作者都默认为拥有所有权限。

  • 消息推送界面,改进了推送时间指定输入框,加入时间控件。
  • 应用设置的基本信息菜单增加 JavaScript SDK 安全域名 设置,对于在浏览器直接使用我们 javascript sdk 的用户,推荐设置一个域名白名单,只允许该域名下的 JS SDK 调用我们的 API。

Snip20150203_3

  • 完善了云代码统计,增加了函数调用次数、HTTP 状态码等统计。
  • 应用列表上方增加了应用搜索框,方便您快速找到应用。

API、推送、离线数据分析等后端服务

  • 增加对 JavaScript 域名白名单的限制。
  • 支持协作者细分权限功能的 API
  • 七牛域名 qiniudn.com 故障情况下,大部分应用都已经切换到 clouddn.com 域名,如有问题请联系我们。
  • API Bug 修复,包括:
    • 跨应用 include pointer 无效
    • beforeDelete、afterDelete 在数据管理平台没有生效的
  • API 增加了异常告警,根据昨天和 7 天内的 API 调用状况,如果浮动幅度过大,将发送告警邮件给用户。
  • 支持云代码提供的 onLogin Hook,在用户登录前做一些自定义逻辑。
  • 推送启用了新的索引引擎,加快推送速度和提升稳定性。
  • 离线数据分析改进了数据转换和导入备份数据流程,提升效率。关于离线数据分析,可以理解成我们推出的 BigQuery 服务,您可以利用他对应用数据做出分析和汇总,参考 LeanCloud 离线数据分析功能介绍
  • 离线数据分析结果导出和写入数据存储功能正在开发,预计下周可以跟大家见面。

实时通信(聊天)

  • 支持云代码 Hook,可以在收到消息等情况下做一些自定义逻辑,参考 实时通信云代码集成
  • 发布 /1.1/rtm/messages 的 REST API,可以用来给指定 Peer 发送消息,参考 REST API
  • 聊天 JavaScript SDK 也支持对 JavaScript 的域名白名单设置。

云代码

  • 增加云代码接入支付宝的例子:https://github.com/leancloud/cloud-code-alipay
  • 增加接入微信的实例 https://github.com/leancloud/cloud-code-weixin
  • 支持 __local 变量用以标示 avoscloud 命令行工具运行的本地开发环境,并更新相关文档。
  • 云代码统计增加 http status 统计。
  • 云代码开始支持 onLogin ,在用户登录前做一些自定义逻辑。
  • 提升部署稳定性和运行稳定性,内部重构等。
  • 云代码命令行工具 发布 0.6.3 版本,修复 Windows 环境无法创建项目的 Bug、修复可能的 401 错误、修复 CQL 无法执行 count 查询的 Bug 等,推荐升级。
  • 预告下,我们不久将推出云代码对 Python 语言的支持,敬请期待。我们的 Python SDK 已经可以测试使用。
sudo npm install -g avoscloud-code

Android SDK 最新 v2.6.10.4

除了 Bug 修复和功能改进之外,最大的改进在于我们提供了 Maven 仓库—— http://mvn.leancloud.cn/nexus/ ,以及 Gradle 构建 支持,推荐大家使用,具体参考我们的 Android 开发指南

  • 修正了 AVUser.followerQuery(Class clazz) 的当前登录用户验证问题
  • 修正了反馈组件中选择图片的 string 资源引用问题
  • 增加了 AVUser.signUpOrLoginByMobilePhone 接口支持通过短信验证码直接注册或者登录用户功能
  • 在统计信息中间增加 IMEI 信息统计(前提是提供了权限)
  • 改进了 wrong content type 异常的报错信息
  • 改变 AVUser 的 currentUser 的缓存策略,只有登录用户才会进行缓存
  • 支持 Gradle 配置构建,推荐新项目都使用 Gradle 进行构建,我们提供了官方 maven 仓库。
  • 修正 AVFil e 在上传过程中可能遇到的资源泄露问题和取消上传无法成功的问题
  • 修正实时通信模块中可能存在的 Session 状态异常问题
  • 修正在 PushService 重启后,实时通信中可能存在的 NPE 问题

iOS SDK v2.6.10.1

  • 修复 AVFile 缓存多次的问题
  • 修复 IM 内部 float 类型解析不对的问题
  • 修复 w atchPeerIds 可能引起阻塞的问题
  • 添加 AVGroup join 被拒绝的回调
  • AVPush 添加 setPushToWP 接口,定向推送到 WindownsPhone 手机
  • AVPush 添加 setPushToTargetPlatforms 接口,指定平台发送推送消息
  • 聊天 AVSignature 添加 error 属性,签名错误使用此属性
  • AVUser 添 加使用手机号直接注册或者登录接口 “
  • 修复 AVInstallation badge 不能保存的问题
  • 修复 iPhone 6 上用户反馈界面黑块的问题
  • 修复 SNS 登录后没有回调的问题

JavaScript SDK 0.4.7

  • 修复浏览器里页面跳转更新 user 导致 current user 属性丢失的 Bug。
  • 增加 AV.User.updatePassword 方法,根据老密码修改成新密码。
  • AV.Object 增加 getObjectId, getUpdatedAt, getCreatedAt 三个方法。
  • 增加 AV.User#signUpOrlogInWithMobilePhone 手机一键登录。
  • 一些内部改进和重构。

Unity SDK v1.1.8

  • 修复了自定义统计时间的传入的参数格式
  • 自定义统计中自定义参数在网站控制台不显示的问题

#003 LeanCloud 晨读推荐

晨读推荐2

关于「晨读推荐」

由 LeanCloud 的工程师和设计师,以周为单位进行阅读分享,包含每位工程师和设计师想加入自己读到的「有价值、有趣味、有分享意义」的文章以及推荐理由。每周一和周三在微信公众帐号进行推送。

技术向 Geek Must Read

《Bolts — Make developing mobile apps easier》
LeanCloud 导读:
Facebook 团队抽取了一些公共的底层库,并放到了 Github 开源出来。这就是 Bolts,旨在让移动应用开发更加简单。参照 Java Script 的 Promise 模型,设计了 Task 组件,来处理异步操作。目前支持的版本有 Android 、iOS 和 Java。

在上一期「晨读分享」分享中,我们分享了 Android 中异步处理机制的解析。确实在 Android 开发中异步处理是很常见的需求,Android 也提供了 AsyncTask、HandlerThread 等工具方便开发者进行异步操作。但处理复杂的异步操作时(譬如多个异步操作的组合等),并没有很简单的办法。要么嵌套回调,写出层级很丑陋的代码,要么需要通过 Handler 和 message 将事件间的逻辑在代码中维护。Bolts 通过 Promise 的模型,来尝试解决这个问题,实现也很简单。所以推荐大家看看。

工具向 The best tools

《Mac 上小众却常用的 app 推荐》
LeanCloud 导读:作者介绍了一些 Mac 上相对小众(其实不少应用,比如网易音乐、Instagram 客户端之类的也不算小众了),并且附带了功能介绍以及应用的优劣点评,甚至还有相对详细的设置说明及截图赠送。很用心,也很不错的 Mac App 推荐帖子,当然,我要声明,不少应用是要收费,各位自拿自取。

设计向 Design More,Design Better

《The Typography of Speed1》
LeanCloud 导读:BMW 與 Medium 的合作文章:BMW 教你如何設計字型。

新知向 Ren chou jiu yao duo du shu

《Rust Collections Case Study: BTreeMap》
LeanCloud 导读:介绍了 Rust 标准库中 BTreeMap 的原理和实现、二叉搜索树的基本知识,讨论了 B-Tree 的概念和参数 B 的含义和影响。最后介绍了以上内容在目前版本 Rust 语言中的实现。这个系列还有对 HashMap 结构的讨论。