分类目录归档:更新日志

2015 年 5 — 8 月份 LeanCloud 更新汇总

有段时间没有向大家汇报我们的工作进展,最近两个月我们花费了较多的工作时间在处理故障后续改进。稳定性是我们的生命线,近期我们也选择放慢了新功能的开发节奏,而尽可能保证服务的稳定性。这次的更新汇总能让大家了解下 LeanCloud 在 5 至 8 月份都做了什么。因为间隔时间比较长,因此在这里仅列举一些重要的改进和更新。

继续阅读

2015 年 4 月份 LeanCloud 更新汇总

许久没有向大家汇报 LeanCloud 近段时间的工作,这里罗列下我们这一个半月来所做的事情。

网站

  • 协作者权限细分到二级菜单,例如统计分析细分到应用趋势、行为分析、终端分析等二级菜单。
  • 列属性增加两种: 只读仅限当前用户读写 。其中 仅限当前用户读写 只对用户表有效。
  • 改进了 Class 权限和 ACL 编辑功能,Class 权限增加了 仅限登录用户 的快捷设置。
  • 单行记录展示优化,点击对象的 objectId 可以看到格式化后的完整对象信息。
  • class 的应用内搜索设置增加强制重建索引的按钮。
  • 发布了 控制台使用说明文档 ,推荐开发者详细阅读,了解控制台提供的众多功能。
  • 修复部分 Bug: Relation 列查询个数错误,API 统计日期显示错误等,感谢用户的积极反馈。

存储服务

  • 查询结果的 ACL 过滤实现前置过滤,不会再出现因为 ACL 导致查询结果不符合 limit 限定的缺陷。
  • 创建对象也将尊重 SDK 的 fetchWhenSave 设置,返回创建后的对象,而不仅仅是 objectId 等基本信息。
  • 用户反馈组件的推送增加过期时间和 iOS badge 提示。
  • 修复数据导入没有通知文件格式错误给用户的 bug。
  • 开放 API 用于第三方 iOS 证书上传。
  • 修复测试环境 iOS 证书无法下载的 bug。
  • 修复事件流新关注用户的 status 时间乱序问题。
  • 改进短信重设密码安全改进,增加流控和缩短过期时间。
  • 修复列默认值类型检测漏洞。
  • 强制检验 iOS 上传证书类型是否匹配环境类型。
  • 云代码仓库设置支持 SSH 协议

离线数据分析

  • 加速每日 dump 数据转换。
  • 准备开放日志表服务,更便宜,更易于分析。

消息服务

  • 修复开放聊天室更新属性和取历史记录的 bug
  • 增加敏感词库
  • 增加对话相关的云代码 hook,参考 实时通信文档
  • 一些 Bug 修复:未读消息、离线消息等
  • 单独的实时通信 REST API 文档

云代码服务

  • Node 依赖缓存,加快部署速度。
  • 部署日志优化,显示部署步骤等信息,方便用户查看。
  • 修复动态路由和静态路由的优先顺序问题,在使用 avos-expression-cookie-session 中间件可以避免大量无谓的 fetchUser 请求。
  • 修复云代码如果最后一样是注释的情况下编译出错的 Bug
  • 修复 AV.Cloud.httpRequest 提交数据包含中文错误的 Bug。
  • 改进了错误日志收集和展现。
  • 修复极端情况下路由错误 Bug
  • 云代码函数的 response.error 可以传入 AV.Error 对象,或者 {code: xxx, message: 'error message'} 的 JSON 对象,用于自定义错误代码。

iOS SDK v3.0.3

  • AVInstallation 增加 deviceProfile,支持 iOS 多证书推送(网站暂未上线此功能,请留意通知)
  • 实时通信的 ClientId 支持最多 64 个字符
  • 修复大文件上传取消不成功的问题
  • 修复通过短信验证码登录后 mobilePhoneVerified 仍然为 NO 的问题
  • 修复部分消息解析时崩溃的问题
  • 更多详情参考 下载页面的更新历史

Android SDK v3.1.5

  • 修正 AVIMConversation 获取 Attribute 时遇到 NPE 的问题
  • 修正实时聊天在多用户登录时出现 conversation 缓存冲突的 bug
  • 修正 SNS 模块 SSO 授权之后 SNSBase.authorizedData() 返回 null 的异常
  • 增加了 AVUser.friendshipQuery 接口,让用户可以一次性同时获取粉丝和关注列表
  • 增加 AVIMClient.getOnlineClients 接口来实现在线客户端查询功能
  • 更多详情参考 下载页面的更新历史

Python SDK v1.0.8

  • 支持 Python 2.6

JavaScript SDK v0.5.1

JavaScript Realtime SDK v2.0.6

  • 提供兼容 IE8+ 低版本浏览器的插件方式
  • 开放 secure 选项,用户可以手动关闭 SSL 协议
  • 修复 2.0.1 发布以来的一些 Bug,详情参考 changelog

其他

  • 发布了 LeanCloud 新的统计客户端,请从 这里 下载
  • 重构了文档结构,以功能为核心来组织文档,希望能帮助大家更好地阅读和查找文档。

2015 年 2 月下旬到 3 月上旬 LeanCloud 更新总结

年过完了,大伙都回来上班了。这里跟大家汇报下,年前和年后这四周,我们都做了哪些事儿。

主要变更

闲话不提,先说说开发者们可能比较关心的改动。

首先,我们拆分了短信购买和账户余额。现在,短信额度可以在「财务」菜单里单独购买,购买后的额度将不会从每月的账单中扣除,从而避免了先前每月账单扣除可能导致短信余额不足的问题。我们会提供一段过渡时间让用户来购买短信额度,因此建议使用短信服务的用户尽快采取行动。另外,在余额用完之前,系统会通过短信和邮件向用户发送通知,所以强烈建议用户在开发者账户信息中填写手机号码,以接收我们的提醒短信。

其次,我们正式对外发布了 JavaScript Push SDK。借助它,开发者可以在网页上接收和推送消息,轻松实现弹幕和在线客服之类的应用。源码开放在 leancloud/js-push-sdk 上,开发指南文档在 这里 。我们还改进了 JavaScript SDK 的 AV.Promise 实现,兼容标准,增加了 donecatchAV.Promise.race 等方法,并补充了文档说明。

最后,我们合并了文档项目,不再区分内部和外部项目,并开放了文档生成程序。我们还发布了 Awesome LeanCloud 网站,供大家查看和提交 LeanCloud 开源生态周边的工具或软件。

网站和文档

网站方面我们做了非常多的细节改进,可能大家未必能注意到。例如:API 统计专门增加了从云代码平台发起的调用统计、应用选项勾选会提示保存成功、改了 API 在线测试工具 以支持 keys 和 include 查询等等。许多小的调整,希望能让大家在使用管理功能时感觉更容易,更方便。

网站的其他改动:

  • 在应用设置里,增加了「转让应用」功能。
  • 创建应用时,可以选择拷贝一个来源应用的数据 Schema。
  • API 统计里,加了饼状图展现,可以根据平台、Class 或者操作类型做对比展示。
  • 拆分短信购买,可以通过支付宝或账户余额购买短信,短信额度不会从每月账单里扣除。

(API 饼状图分析)
Snip20150313_3

最重要的是,我们合并了内外部文档项目,不再区分内部文档和外部文档项目,统一为 LeanCloud/docs,并且开放了文档生成代码。我们还对文档做了大量的优化。我们的新同事已开始对各个 SDK 的开发指南做深入的 Review 和优化,希望能带给大家更好的阅读和使用体验。同时也特别欢迎大家去 fork 我们的项目,并提出改进意见。

最后,我们的工程师还发布了一个名为 Awesome LeanCloud 的聚合网站。在这里你可以看到由社区维护的 LeanCloud 开源生态周边:多语言 SDK、最佳实践库、UI 组件、云代码模块等等。我们欢迎更多的开发者们来提交象多语言 SDK、最佳实践库、UI 组件、云代码模块等类库。

API 服务

  • 短信模板的上限调整为 10 个。
  • 增加 /date API 返回服务器时间。
  • 修复匿名用户转换正式用户相关问题。匿名用户将在两种情况下转换为正式用户:提供用户名和密码注册或者更新、链接到一个第三方登录账号。
  • 改进了应用内搜索:不需要填写组件配置就可以使用应用内搜索,支持 include 查询,增加重建索引 API。
  • 查询的 keys 参数支持反向选择,加上减号的字段将不在查询结果里返回,例如 keys=-name,-age 则查询结果不返回 nameage 字段。
  • 改进了 /push 接口的错误提示,当推送涉及 iOS 设备且没有上传证书或者没有安装 Installation 的时候提早报错。
  • 改进了数据导入,如果出错,在通知邮件里说明详细的错误信息。
  • CQL 做了改进:limit 和 order by 子句可以任意排序,支持 select -name,-age from Player 的过滤选择,不返回 agename
  • 短信签名增加长度校验,要求在 10 个字符内。

消息推送及聊天

  • iOS 推送支持 iOS 8 引入的 titletitle-loc-keytitle-loc-args 等新字段,并更新了文档。
  • 发布了 JavaScript Push SDK,支持网页推送。
  • 实时通信增加了 错误码文档
  • 消息推送增加了 问题排查文档 ,方便自助分析推送问题。
  • 聊天持续增强稳定性和性能。

云代码

  • 彻底解决了 nginx 偶尔 502 的问题。
  • 测试环境和生产环境做了分离。
  • 命令行工具发布 0.6.6 — 0.6.8 版本,详细更新日志请看 这里

iOS SDK v2.6.11

  • 聊天修复 session 关闭后重新打开导致 group.sessionnil 的问题。
  • 添加创建 transient 属性群组的接口,可用作临时聊天室。
  • 用户反馈添加推送答复给用户的功能。
  • 修复匿名用户转换正式用户的相关问题。
  • 修复离线时被邀请入群后接收离线消息的问题。
  • 添加缓存获取失败后请求重试次数限制。

Android SDK v2.7

  • 增加了匿名用户转化为正式用户的处理逻辑。
  • 提高了统计的使用时长的准确性。
  • 修正了社交组件的 WebView 实现在 Android 4.2 以后出现的卡在 WebView 上的问题。
  • 修正了 AVObject.toJSONObject 方法中,遇到 Pointer 时的序列化异常。
  • 聊天 onMessageSent 中获取的 AVMessage 对象补齐 fromPeerId
  • 聊天正确更新 SessionManageronlinePeerIds 的数据。

JavaScript SDK v0.5.0

  • 增强 AV.Promise,增加 donecatchfinallyAV.Promise.race 等方法,兼容 Promise/A+,并更新了开发指南和 API 文档。
  • 修复更新对象可能更新没有变更的属性的 Bug,减少请求流量。
  • 拆分 SDK,按照模块划分成多个文件。
  • 使用 gulp 构建 SDK,清理代码。
  • 修复事件流无法发送带有 AV.FileAV.Object 等类型的 Status。
  • 修复 node.js 环境下上传文件没有扩展名的 Bug。

Unity3D SDK

  • 修复 AVQuery 查询中文字符时的错误。
  • 升级支持 Unity 5.0。

2015 年 2 月上旬更新汇总

在春节来临之间,LeanCloud 祝福所有开发者羊年大吉,阖家幸福。

2 月份到今天为止,我们为 LeanCloud 增加了不少更新,汇总如下。

网站和控制台

  • API 统计增加云代码平台调用统计。
  • 云代码在线编辑增加 AV.Cloud.onLogin 函数,支持在用户登录前执行检查操作。
  • 离线数据分析增加导出和保存为 class 功能,您可以导出查询分析结果,或者将查询结果保存为 Class 数据以供增删改查。
  • 离线数据分析的查询增加耗时提示。

存储和离线分析服务

  • 修复 _Follower_Followee 在取消关注的时候没有触发云代码 afterDelete/beforeDelete 的 Bug
  • 用户反馈组件支持推送消息给用户。
  • 修复删除列没有同时删除索引的 bug
  • 离线分析增加对应用间共享 class 的支持
  • 离线分析支持结果数据导出和另存为 class 功能。

聊天服务

  • 增加获取群组在线人数 REST API。
  • 预告:我们即将推出全新设计的聊天 2.0 SDK,新 SDK 将更易于使用,效率更好,敬请期待。

云代码服务

  • 云代码因为压力和容量问题,上旬遇到了故障,请查看 《02-10~02-11 云代码故障说明》,对此我们表示万分抱歉。
  • 集中精力提升云代码服务的稳定性,特别是部署和运行。
  • 系统针对春节流量的扩容运维等。
  • 云代码命令行工具 发布 0.6.5,增加 onLogin hook 支持、增加 lint 命令、兼容 io.js、修复一些 Bug 等,建议升级。

推送服务

  • 改进 iOS 推送,提高稳定性。
  • _Notification 表针对 iOS 推送消息增加 invalidTokens 字段,表示本次推送遇到的无效设备总数。

Android SDK v2.6.11

  • 改进文件上传策略提高小文件上传进度精度

iOS SDK v2.6.10.2

  • 修复聊天连接断开可能导致崩溃的问题
  • 修复崩溃统计开关无效的问题,添加开关设置完成回调接口
  • 修复一处内存泄露问题

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

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

2014 年 12 月下旬更新汇总

在 2014 年的最后一天,提前预祝大家元旦快乐。

在这里,我将总结 2014 年这最后一个月下旬以来我们对 LeanCloud 做出的变更改进。

网站改版

在 2015 年即将来到的时候,我们首先对网站做了改版,每天都在使用的朋友应该都注意到了。网站是服务开发者中非常重要的一个组成部分,我们希望通过这次改版优化网站的信息架构,让功能展示更加清晰合理。我们希望更好地介绍 LeanCloud 给新用户,希望为老用户带来更好的日常使用体验。

首先,我们调整了一级菜单,一级菜单在选择应用后变成各项功能,而非原来的各种资源链接:

Snip20141231_1

其次,我们重新归类了菜单,更合理地划分了二级菜单,并且我们将云代码调整到存储菜单,这一点需要额外注意。

第三,我们改进了消息通知中心,对消息做出归类,更清晰地展现通知,下一步将进一步丰富通知的类型。

Snip20141231_3

最后,我们还增加了不少新功能,包括:

  • API 统计区分调用平台和 class
  • API 统计增加了 push 接口的调用统计
  • 数据导出支持指定 class
  • 用户反馈页面显示提交反馈的用户的 objectId

其他还有很多 UI 细节上的改进,总体上,我们希望这次改版能给大家带来更好的体验,也非常欢迎大家为我们找 bug、提意见。

离线数据分析

我们「悄悄」上线了离线数据分析功能,具体的功能使用请参考 《离线数据分析使用指南》,这里介绍下这个功能主要想解决什么问题。

很多用户告诉我们 LeanCloud 数据存储很好用,但是做数据分析很困难,比如 CQL 不支持 join、group by、sum 函数等等,我想统计应用的一些数据就很难做,在没有离线数据分析之前,需要自己导出数据,然后写脚本或者导入到 SQL 数据库里才能做分析,非常麻烦和繁琐。

为了解决用户的这个烦恼,我们就推出了离线数据分析,基于大数据框架,提供了 SQL 查询语言来分析你的应用数据,类似这样的查询 select sum(score) from GameScore 都不用愁了。

这个功能仍然是一个 beta 性质的服务,我们非常欢迎用户尝试体验,并给我们反馈 Bug 或者提出意见。

API、聊天、统计等后端服务

  • 扩充统计开放 API,覆盖了全部统计数据,参考 文档
  • 聊天和推送持续地优化了性能和稳定性。
  • 提升数据导入和导出服务的稳定性,导出服务支持指定 class。
  • REST API 一些 Bug 修复:禁止从客户端选项没有尊重 master key, 第三方登录用户无法使用 API 在线测试工具等。
  • 增加了 《文档阅读指南》

云代码

  • 修复了 avos-express-cookie-session 中间件可能导致用户串号的 Bug。
  • 命令行工具发布到 v0.6.2 版本,主要改动如下:
    • 修复了 avos-express-cookie-session 串号问题
    • 使用 nodemon 监视文件变更自动热加载
    • 修正新版本查询 Bug
    • 增加 __local 全局变量指代本地测试环境。
    • 增加 cql 命令用于 CQL 查询。

Snip20141229_1

iOS SDK v2.6.9.1

  • 修复 AVPush 设置 iOS 推送证书错误,这个 bug 是 v2.6.9 引入的。

Android SDK v2.6.9.4

  • 修正了匿名用户在关闭应用后重新获取 getCurrentUser() 之后,isAnonymous() 判断错误的问题
  • 修正了七牛大文件上传时遇到特定大小文件时可能存在的异常。强烈推荐升级
  • 修正发布渠道为 leancloud 时,渠道统计数据不完整的异常
  • 修正了实时聊天系统中间群聊天记录查询解析异常
  • 增加了 SNS 模块中间,在使用 WebView 授权时需要的 avoscloudsnsweb_activity.xml 资源文件
  • 正了 AVUser.getCurrentUser() 在遇到 AVUser 子类化时的转化问题
  • 修正了 AVFile 文件下载中间文件类型限制带来的下载失败问题
  • 修正了 SNS WebView 授权中间存在的异常

Unity SDK v1.1.7

  • 修复了本地缓存读取失败的问题
  • 添加了匿名登录,邮箱登录的接口

SDK 下载请到 下载页面

2014 年 12 月上旬更新汇总

在 2014 年的最后一个月,我们持续地对 LeanCloud 产品做出改进,期待在即将到来的 2015 年,为大家带来更多更好的特性和功能。

12 月份上半个月,我们遵循着产品迭代周期,发布了不少新功能和小改进。这里为大家总结下。

首先,网站方面,我们改进了 iOS 推送的稳定性,并且为 iOS 推送增加了双证书的功能,您可以在应用设置的推送菜单同时上传测试和生产证书,然后在推送界面选择对应的证书进行推送。其次,云代码的日志菜单增加了翻页和过滤器,方便用户查找日志、分析问题。

我们还上线了新的第三方登录方案,可以在应用设置的 SNS 菜单填写自己申请的微博、QQ 平台的 client id 和 client secret,使用 SDK 提供的新 API 来获取第三方用户信息,实现登录和分享。

API 服务也做了一些修正和小改进,详情见下文。 SDK 发布了 v2.6.9,推出新的第三方登录方案、AVFile 支持 ACL 等等。

云代码命令行工具 发布了 v0.5.1,主要改动如下:

  • 修复新建项目在 windows 系统上的权限问题,导致部署失败。
  • 增加新版本检测功能
  • 新增-P 选项,指定本地测试端口。

网站和文档

  • iOS 推送证书支持双证书功能
  • 推送界面允许选择 iOS 证书
  • 云代码日志增加翻页和过滤器
  • 应用设置增加 SNS 菜单,设置第三方应用信息,用于新第三方登录方案。
  • 增加新应用选项 修改密码后 sessionToken 失效
  • 文档方便改进了 推送开发指南 ,改进了 Android 代码混淆说明 ,SNS 部分增加了新登录方案的说明。

后端服务

  • 改进 iOS 推送的效率和稳定性
  • iOS 推送支持 iOS 8 引入的新特性,如更大的容量 (2048 字节)和新增字段 apscategory 等。
  • 支持新的自定义第三方登录方案
  • 文件允许设置 ACL
  • 自增字段在有默认值的时候从默认值开始递增
  • 禁止从客户端推送选项在使用 master key 的时候忽略。
  • 修复 CQL 在查询 GeoPoint 有其他条件的时候异常的 Bug
  • BigQuery 开启内测。

Android SDK v2.6.9

  • AVFile 增加设置 ACL 功能
  • 修正小文件上传时的 progress 不均匀的问题
  • 修正了文件下载时异常不准确的问题
  • 修改短信验证接口,添加电话号码,旧方法已停用
  • 增加基于 WebView 的新 SNS 授权方案以减少授权开发工作
  • 修正了匿名用户在更新数据后,isAnonymous() 方法判断错误的异常

iOS SDK v2.6.9

  • 实时通信修复群组踢出成员无效的问题
  • 修复反馈界面联系方式修改后不起作用的问题
  • 修改短信验证接口,添加电话号码,旧方法已停用
  • AVPush 添加设置生产或者测试环境的接口,针对 iOS 推送证书
  • 更新密码添加使用 block 回调的接口
  • SNS 添加使用后台生成的登录 url 登录第三方平台用户的接口

JavaScript SDK v0.4.6

  • 添加新方法 AV.File.createWithoutData(objectId),根据 objectId 构造 AV.File
  • 添加 AV.Query.and 方法用于复合查询
  • AV.File 支持 get/set ACL
  • 增加新方法 AV.setProduction(boolean) 用于设置生产环境或者测试环境。

2014 年 11 月份 LeanCloud 更新汇总

11 月中旬全司外出团建,因此 11 月份上旬的更新报告就延迟到现在,和下旬的更新一起跟大家汇报。

综述

整体来说,11 月份我们主要改进集中在云代码和实时聊天,云代码增加了简单模式,用户可以直接在网页上编写和测试云代码函数函数,具体请参考 《Cloud Code 管理》。实时聊天增加了消息回执功能,单聊情况下,可以通过消息回执的通知知道消息是否送达给目标用户,并且在实时聊天的控制台增加了查询 Peer 是否在线的功能。

其次,我们还大力改进了文档,发布了 《事件流 REST API 文档》《应用内搜索 REST API 文档》 以及极大改进了 《实时通信开发指南》

此外,我们还 beta 了 WindowsPhone 的实时通信 SDK。iOS 和 Android SDK 也都一起发布了 v2.6.8 版本,修复了不少相对重要的 Bug。

另外,很重要的一点,从 v2.6.8 版本开始, 我们恢复 SDK 大小版本同时开发的节奏,Bug 修复争取做到每周发布,大版本 SDK 发布仍然遵循两周一次的惯例 ,希望能为用户带来更多帮助。

最后是一些 API 服务的 Bug 修复,详情见下文。

网站

  • 数据管理支持当存在多个必填字段时候的新增记录操作
  • 实时消息控制台增加查询用户是否在线功能(见实时通信控制台底部)
  • 云代码增加简单模式,云代码菜单增加 定义函数 子菜单,可以在线编写和测试云代码函数,详情参考 《云代码开发指南》

云代码

  • 云代码增加简单模式,并增加了 相关文档
  • 增加更多云代码服务节点,提供服务性能和稳定性。
  • 修复云代码 AV.Cloud.httpRequest 的 params 参数无效的 Bug
  • 修复云代码模块循环依赖引用会造成内存溢出的 Bug

实时通信

  • 支持消息回执功能。
  • 添加 watch,unwatch 回调,所有发送消息添加序号
  • 改进 开发指南
  • 增加签名服务详细文档和 云代码实现签名的 Demo
  • Beta 发布 WindowsPhone SDK。

API 服务

  • 修复 170 号码段手机号码验证失败的 Bug,感谢用户反馈。
  • 修复 hidden 字段没有在 master key 条件下返回的 Bug。
  • 修复 _User 表的 authData 在登录和修改后相互覆盖的 Bug。
  • 修复短信模板 200 元最低限度条件错误的 Bug
  • 改进 skip 和 limit 条件的处理。
  • 新增功能,查询指定查询字段 keys 列表,如果同时 include 某个 pointer 属性,可以指定只返回 Pointer 中的某些属性,而不是原来的全部返回。以 CQL 为例子,就是可以编写 select player.username, include player from GameScore 这样的语句,其中 player 属性是 GameScore 表中的一个 Pointer。

iOS SDK v2.6.8

  • 修复北美服务器 S3 上传文件没有保存 name,mimetype 等信息的问题
  • 修复 SNS QQ 登录部分用户获取用户信息错误的问题(昵称总是 qzuser 的问题),感谢用户反馈。
  • 修改用户反馈组件创建空反馈的 Bug。感谢用户反馈。
  • 修复 SDK 内 AFNetworking 某些变量值与公用 AFNetworking 冲突的问题
  • 修改大文件上传进度回调策略,让进度提示更合理。
  • 优化部分 uuid 生成算法,有利于减少数据传输
  • 聊天模块添加 watch,unwatch 回调,所有发送消息添加序号,direct 消息添加回执,去除不必要的 appid 来回传递
  • 修改原来的 watch 和 unwatch 为同步操作
  • 签名时间戳类型改为 int64
  • 修改 AVInstallation 数据发送策略,节省带宽
  • 修改 AVSession 操作使用后台线程

Android SDK v2.6.8

  • 增加了实时通信的消息回执功能
  • AVMessageReceiver 中增加了 onPeersWatched,onPeersUnWatched 的回调代码
  • 修正 AVObject.saveAll 在遇到同一个未保存的 AVObject 对象被多次引用时的异常
  • AVGroupMessageReceiver 中修正了 onInvited,onKicked 之前的问题
  • AVFile 小文件的自动重试
  • 增加 AVGroup 查询组内成员接口
  • 修正统计在第一次启动时缺少部分统计数据的问题,建议使用统计功能的用户升级。

JavaScript 通信 SDK v1.0.3

  • 支持超级用户,即不需要 watch 也可以给对方发送消息。
  • 支持美国节点
  • 支持群组签名服务

WindowsPhone SDK v1.2.3

  • 修改请求 User Agent,方便统计

2014 年 10 月下旬更新汇总

Halloween
今天是 10 月份的最后一天,这也是我们将 AVOS Cloud 更名为 LeanCloud 后的第一次更新汇总(现在不提 AV 两个字感觉不是特别给力的样子)。

首先, SDK 发布了 v2.6.7 版本,除 Bug 修复之外,iOS SDK 添加了实时通信的聊天记录 API,两个平台的 SDK 都改进了事件流系统,支持自定义短信模板功能,允许 follow 设定属性等,并且 CQL 查询开始支持占位符。详情见下文。

网站和 API 服务这块我们也做了一些改进,增加短信模板配置菜单,并对应用选项做了分类,消息中心分类处理并显示每日功能提示,增加一些新的应用选项等。

JavaScript 和 WindowsPhone/Unity3D SDK 同时发布了新版本,跟进了新功能,详情见下文。

iOS 推送支持下本地化消息推送,实时通信 SDK 改进了稳定性。

网站

  • 对应用选项做了分类处理,改动后信息呈现更加清晰;
  • 应用设置增加短信模板设置菜单,创建自定义短信模板;
  • 重构消息中心,增加分类处理。

短信模板功能详解

  • 为满足更多用户自定义短信内容的需求,我们推出了自定义短信模板的功能,您可以在每个应用的 应用设置 里找到 短信模板 菜单,可以进行创建、编辑和删除短信模板;

  • 为防止发送垃圾短信, 目前暂时设定 200 元的充值门槛,当账户余额多于 200 元 就可以创建自定义短信模板,通过审核后,账户中的每个应用最多可以创建 5 条自定义短信模板。 在创建和编辑后,都将进行最快速度的审核。审核结果将通过通知邮件发送到您的注册邮箱里;

短信模板创建界面:

Snip20141031_1

短信模板最重要的两个属性:

  • 名称,建议用英文名称,发送的时候需要指定所使用的模板;
  • 内容,支持 Handlebars 语法的模板,可变变量请用 {{xx}} 定义, 我们预定义了 code, ttl, name 这三个变量,分别表示短信验证码,验证码有效期(分钟单位)以及应用名称。

创建后,需要等待审核,审核结果将发送到注册邮箱。 请尽量明确短信内容,避免可能被认为是垃圾短信模板。

在审核通过后,您可以通过我们提供的 SDK 或者 REST API 来发送短信,具体参考 REST API 文档 和各 SDK 开发指南,例如 《Android SDK 开发指南》

事件流系统改进

事件流是我们很早推出地给需要实现类似微博这样的信息流的应用的一套框架,这半个月来我们对事件流信息做了如下改进:

  • follow 关注用户可以设定属性,这些属性将同时出现这 _Follower_Followee 表,并可以作为查询条件或者排序字段,在粉丝和关注列表查找的时候使用
  • 允许修改 _Follower_Followee 表的数据,只要知道 objectId,就可以像普通对象那样修改更新
  • 在应用选项里添加了自动关注选项,勾选了这个选项之后,任何关注的行为都会是互粉行为,而非默认的单向关注
  • 收件箱查询添加了 end 属性返回,告知是否已经到达最早的数据,没有更早的 status 返回。

欢迎查看更新后的 《事件流开发指南》

API 服务改进

  • 修复勾选了隐藏的属性,没有在使用 master key 查询的时候返回值的 Bug
  • CQL 查询 支持 占位符
  • push 接口支持 cql 参数,可以用 CQL 指定符合条件的设备推送消息
  • 提供一些新应用选项:禁止未验证手机或者未验证邮箱用户登录、是否允许未验证手机用户通过短信重设密码,是否开启事件流系统自动互相关注等,对应用选项做了大致分类
  • 支持短信模板功能
  • 用户的第三方注册和登录支持 access token 校验,在应用设置增加了这个选项。

推送服务和实时通信

  • iOS 推送支持本地化消息,data 中的 alert 属性可以为 JSON 对象,参考 apple 的文档 。感谢用户建议
  • 实时通信为消息加上唯一 id,防止可能存在的乱序问题
  • 实时通信消息发送后更新时间戳。

iOS SDK v2.6.7

  • 修复 AVFile 下载失败可能导致递归回调
  • 实时通信修复群组邀请无效的问题
  • 实时通信添加历史消息查询 API
  • 实时通信发送消息成功后更新 timestamp
  • 修复 AVObject 的 addObject:forKey: 在 key 对应的 value 为 nil 时无法添加的问题
  • 添加短信模板功能,requestSmsCode 方法可以指定模板
  • AVUser 的 follow 操作添加自定义属性
  • 修改查询结果缓存与回调的顺序
  • SDK 初始化时显示一些 SDK 和系统信息,方便查找问题时快速确认版本号和系统环境
  • CQL 支持占位符查询

Android SDK v2.6.7

  • 更新 android-async-http 到 1.4.6 版本
  • CQL 查询增加占位符
  • 增加 SMS 模板操作
  • AVUser 在 follow 时可以增加属性,以便作为未来的查询条件使用
  • 修复 AVUser 在子类化转化时可能存在的属性转化错误
  • AVOSCloud 中增加 setDebugLogEnabled 方法来打开内部的 debug 日志
  • 修复实时通信 onMessageSent 可能出现的消息交错问题
  • AVPush 可以设定 CQL 属性,用于查询推送设备。

JavaScript SDK v0.4.5

  • CQL 查询支持占位符,AV.Query.doCloudQuery 方法增加三个参数版本
  • AV.Push 增加 cql 属性说明,可以通过 CQL 指定推送查询条件
  • 部分内部代码重构。

WindowsPhone SDK v1.2.2

  • 支持短信模板
  • CQL 支持占位符。

Unity3D SDK v1.1.5

  • 支持短信模板
  • CQL 支持占位符。

如果对于以上内容有任何问题,请通过 技术支持 联系我们。

2014 年 10 月上旬更新汇总

十月深秋

10 月上旬,我们对 AVOS Cloud 平台做了如下更新。

首先最重要的进展是发布了 javascript 实时消息 SDK,您可以在 web 页面或者 node.js 环境里使用我们的 sdk 实现聊天等功能。其次,推送管理平台开始支持 WindowsPhone 的推送 ,网站的另一个改进是为云代码添加了详细的 CPU、内存、PV/UV 访问等统计信息,您可以在应用的云代码菜单里找到统计菜单。我们还美化了文档,并将所有文档源码开放到了 Github 上。

客户端这边, SDK 都发布了新版本,主要是发布了聊天记录获取的 API,以及各种 Bug 修复,详情见下文。

云代码命令行工具也发布了 0.5.0,开始支持多应用管理,发布了单独的 《云代码命令行工具使用指南》

继续阅读