作者归档:Junwen Feng

Android SDK 发布 4.7.7 版本,完全兼容 Android P

相信很多朋友都非常关注谷歌新推出来的 Android Pie 系统,在这一版本中谷歌加入了很多新的功能和 API,但是对我们开发者影响最大的可能是其完全取消了 Apache HTTP 的支持。

虽然这是一个早在 Android 6.0 即引入的变更(详见这里:取消支持 Apache HTTP 客户端),但彼时我们还是可以通过在 build.gradle 中增加如下声明而得以继续使用它:

android {
    useLibrary 'org.apache.http.legacy'
}

而从 Android P 开始,Apache HTTP 客户端变得完全不可用,依赖于它的应用在 Android 9 或更高版本上将启动失败并显示 NoClassDefFoundError 错误。

为了应对这一变化,我们在 10 月底升级了 Android SDK 至 4.7.7 版本,彻底去掉了 Apache HTTP 的使用,完全兼容 Android P 系统,请大家及时升级。

同时,再次提醒一下,我们的 Java Unified SDK 自项目初始就不依赖 Apache HTTP,所以也是天然支持 Android P 的,并且以后老的 Android SDK 会进入只修问题不加功能的维护状态(至 2019 年 9 月停止维护),LeanCloud Android 团队会把精力投入到 Java Unified SDK 的开发之中,请大家尽早切换使用。

2018 年 11 月 02 日华北节点内网核心设备升级通知

接到华北节点的底层服务商通知,2018 年 11 月 02 日(周五)凌晨服务商将对机房内网的核心设备进行升级维护。为了保证对外服务稳定,我们会提前将流量切换至其他线路,但是切换过程可能出现网络抖动,造成各项服务的网络请求出现短暂失败。

【升级时间】
2018-11-02 00:00 – 07:00(北京时间)

【影响范围】
华北节点的应用

【影响描述】
网络切换时有可能出现短暂的请求失败,但会很快自动恢复。

我们运维团队会密切关注升级过程,期间若服务出现不可用状况,我们会通过邮件或短信及时与开发者沟通进展。如果有任何疑问,请发邮件至 support@leancloud.rocks 进行咨询。

系统维护通知:LeanCloud 美国节点计划于 10 月 29 日对机房进行升级改造

随着客户量的增长,LeanCloud 美国节点的数据存储规模和并发请求压力越来越大,原本使用 IaaS 服务商提供的虚拟机越来越成为系统瓶颈,所以我们计划对底层物理架构进行一次升级,尽量采用高性能物理机来承载核心服务,以便提供更好的处理性能与稳定性。

本次升级是机房整体迁移,无可避免会导致一段时间内服务不可用,但我们会尽量降低对您业务的实际影响。经过详细评估和预演,我们估计本次迁移操作大概需要 5 小时,其中有 2 小时左右系统完全不可访问,3 小时左右系统会被锁定在只读状态(读取操作不受影响,写入和修改请求会返回失败)。

我们将迁移的时间初步定在 北京时间 10 月 29 日 13:00 – 18:00,也就是 美国东部时间 10 月 29 日 0:00 – 5:00,如果这一时间段对您业务影响非常大,请提前致信 support@leancloud.rocks 与我们联系。迁移当天我们的紧急联系电话 (+86 186-2503-8918)也会一直保持畅通,有任何问题您都可以及时联系我们。

衷心感谢您一直以来对我们的理解和支持,LeanCloud 会努力为大家提供最好的技术服务。

系统维护通知:华东节点计划于 10 月 25 日凌晨对存储集群进行升级维护

为了提升系统性能和修复已知问题, 我们计划于 10 月 25 日凌晨 01:00 – 06:00(北京时间 GMT+08)对中国区华东节点的存储集群进行升级维护 。此次操作预计耗时 5 小时,期间不会引起任何服务中断,对已有应用的数据 API 访问,以及终端用户使用都不会造成影响。

但是在系统维护期间,应用控制台与存储相关的部分管理功能会被暂时禁用,因此开发者将无法创建和删除应用,无法创建、编辑、删除和绑定 Class,但对已有应用和数据进行增删改查不受影响。在维护开始和结束的时候,我们会在华东节点的应用控制台发布操作提醒,如果您在控制台没有看到系统维护提醒,则可能您的应用不在华东节点,或者我们对目标应用已经完成上述操作。

我们会尽快完成升级维护工作并恢复应用控制台的受限操作。如果遇到计划之外的情况,维护时间可能会延长,我们会通过邮件或短信及时与您沟通进展。

如果有任何疑问,请发邮件至 support@leancloud.rocks 进行咨询。

Java Unified SDK 开放测试通知

9 月伊始,我们新推出了一个 Java 平台的统一 SDK(Java Unified SDK)。该 SDK 可以在 Java、Android 和 LeanCloud 云引擎三种环境下运行,支持数据存储、LiveQuery、即时通讯、云函数、推送和混合推送等全部核心功能,并且和老版本一样开放所有源代码(代码见这里)。今后 LeanCloud 安卓开发团队会以开发维护 Java Unified SDK 为主,老版本 Android SDK 则会进入维护状态,并将于 2019 年 9 月底停止维护。在此期间我们主要做 bugfix,不再增加新功能,因此建议大家尽快迁移到 Java Unified SDK 上来。

为什么我们要新推一个 SDK

一份代码,支持多个平台
老版本 SDK 因为历史原因,Android 平台和纯 Java 平台(在云引擎中使用)是两套完全分开的代码,功能有差异,接口不统一,维护比较困难。新的 SDK 则对此进行了修改,使用一套代码来适配多个平台,给开发者带来完全一致的使用体验。

Reactive API
老版本 SDK 所有的网络请求都是通过 Callback 方式实现的,在实现多轮前后衔接的业务逻辑时会导致代码嵌套层级过多,影响阅读,同时在 Java 开发环境下这种异步的方式也不太友好。故而新版本 SDK 的存储接口完全基于 RxJava 来构建。函数式编程风格的 API,给业务开发带来更多便利。
例如,我们在发表一篇博文(Post)的时候,需要同步增加一些 Comment,在新的 SDK 中则可以这样来实现:

AVObject post = new AVObject("Post");
post.put("title", "LeanCloud 发布了新版 Java 统一 SDK");
post.put("content", "9 月初,LeanCloud 发布了新版 Java 统一 SDK,欢迎大家试用!");
post.saveInBackground().map(new Function<AVObject, AVObject>() {
  public AVObject apply(AVObject p) throws Exception {
    // 在 Post 保存成功之后,再新建一个 Comment 对象.
    AVObject comment = new AVObject("Comment");
    comment.put("content", "好想试一下");
    comment.put("post", p);
    return comment.saveInBackground().blockingFirst();
  };
}).subscribe(new Observer<AVObject>() {
  @Override
  public void onSubscribe(Disposable disposable) {
  }

  @Override
  public void onNext(AVObject comment) {
    System.out.print("post and comment objects have been saved successfully.");
  }

  @Override
  public void onError(Throwable throwable) {
    System.out.print("Saving post or comment objects failed. cause: " + throwable.getMessage());
  }

  @Override
  public void onComplete() {
  }
});

如何使用新版 SDK

新版 SDK 现在处于开放测试阶段,其最新版本为 5.0.0-SNAPSHOT,我们已经编译发布到了 LeanCloud 的 maven 仓库中。大家可以通过 Maven 和 Gradle 等包依赖管理工具来下载使用,具体可以参考这里的 wiki 说明

大家发现 Bug 或者有任何疑问或建议,请使用 GitHub Issue 来告知我们,我们会及时跟进解决,非常感谢大家的反馈。

LeanCloud 官网改版,产品介绍与使用方案全面更新

8 月 21 日,新版 LeanCloud 官网正式上线。在此次改版中我们翻新了所有产品与服务的介绍,调整了开发版、商用版和企业版的结构与描述,希望以此能够帮助现有及潜在用户更清楚地了解 LeanCloud 各类产品的实用性及以上三种使用方案之间的差异性。另外,各项服务的价格并没有变化,所以不会导致使用成本增加。

区分核心服务与扩展服务

文件存储、短信、云引擎、云缓存这些服务都统一按照实际使用量收费,并不会因使用方案不同而产生价格或功能上的差异,因此我们将它们从核心服务中抽取出来放入扩展服务。这样的区分也让整个使用方案体系看起来更加简化易懂。

需要说明的是,文件存储和短信服务是我们与第三方服务商合作的产品,将其纳入 LeanCloud 产品体系的初衷是为了尽可能地满足开发者的实际需要。由于此类服务商无法实时提供服务消费清单,与我们结算费用存在一至三天不等的滞后期,所以会出现这样一种情况,即一个已被暂停、没有了网络流量的 LeanCloud 应用仍有可能在后续几日被补扣这些延迟的费用。这是开发者们常有的疑问。

移动统计纳入核心服务

移动统计是我们自主开发的产品。它会针对不同的使用方案提供不同的资源和能力配备。例如,对于开发版应用来说,统计服务的事件上报接口的调用次数会与存储服务的 API 调用次数累加在一起,受到每天调用上限三万次的限制;对于商用版应用来说,事件上报次数既没有限制,也不会与存储服务的 API 调用次数累加在一起,这样也就不会增加商用版存储服务的成本。

统计结果在云端的有效保存时间为六个月。如果不想使用移动统计,请登录应用控制台,进入 分析 > 统计设置,关闭 启用 SDK 统计功能

如果您对此有任何疑问或反馈,请通过 support@leancloud.rocks 联系我们。

LiveQuery 从 8 月 1 日起开始收费

LeanCloud 多端数据实时同步服务 LiveQuery 自 2017 年 6 月推出以来因其易用性而备受好评,它已被广泛应用在多端内容实时更新、单设备登录、在线交互等众多业务场景之中。我们非常感谢大家对这款产品的认可,这与广大开发者不断为我们提供反馈和改进建议密不可分。鉴于 LiveQuery 不断上涨的使用量以及商业用户对于云端服务稳定性的要求,我们决定从 2018 年 8 月 1 日起,开始对 LiveQuery 提供免费和付费两种方案来满足大家不同的使用需求。

免费方案留有充足的使用量,便于用户进行功能接入调研和试用。付费方案会利用云端专属及优化资源,让服务在大流量状态下仍然有稳定良好的查询性能。

LiveQuery 会从「查询订阅数」和「下发消息数」两方面来统计使用量及费用。

  • 查询订阅数:每天不同客户端不同查询的总次数,同一个客户端一天之内多次执行相同的查询也只计数一次。
  • 下发消息数:服务端在数据变化之后,每天通过查询匹配下发给客户端的所有消息的总数。执行了匹配运算但是没有消息下发的不计费。

计价方案如下:

华北/华东节点

开发版(免费)商用版(按使用量收费)
查询订阅数不超过 100 次 / 天¥4.0 元 / 千次订阅 / 天
下发消息数不超过 5000 条 / 天¥2.0 元 / 万条消息 / 天

北美节点

开发版(免费)商用版(按使用量收费)
查询订阅数不超过 100 次 / 天$1.0 USD / 千次订阅 / 天
下发消息数不超过 5000 条 / 天$0.4 USD / 万条消息 / 天

我们已在 LeanCloud 应用控制台开放出这两项指标的每日统计数据,查看路径为 应用 > 存储 > 统计 > LiveQuery。大家可以据此来评估应用是否已超出免费方案的限量,并预估将来可能增加的成本支出。

如果对此有任何疑问或反馈,请通过 support@leancloud.rocks 联系我们。

4 月 1 日起数据存储服务将增加对象存储空间的收费项目

2018 年 4 月 1 日零时起,LeanCloud 数据存储服务将在现在收费基础上加收对象存储(即以 AVObject 形式存储的数据)所使用的空间的费用。

之所以增加该收费项目,是因为我们发现以往仅按应用请求次数收费的模式,容易让开发者们忽略数据实际的存储空间大小,继而完全忽视了数据清理等维护性工作。这样日积月累,很多无用的数据会占用大量的云端资源,极大地影响了存储系统的性能。同时随着 LeanCloud 开发者和应用数量的不断增长,这样形成的资源浪费也愈发严重。于是我们借鉴对文件存储空间收费的经验,决定通过这一经济化手段,引导广大开发者来更合理地使用云端资源和 LeanCloud 服务。

继续阅读

2017 年 8 月 15 日起,腾讯云移动开发工具(TAB)将完全交由 LeanCloud 运营

新的登录方式

TAB 用户需要使用新的网址 https://tab.leancloud.cn/dashboard/login.html 来登录应用控制台。输入与登录 TAB 相同的邮箱和密码即可登录。如果忘记了密码,可以通过下方的「忘记密码?您可以选择重置密码」功能找回。

另外,LeanCloud 主站也提供了进入 TAB 应用控制台的入口:

  1. 访问 LeanCloud 主站 https://leancloud.cn
  2. 点击右上角的「访问控制台」链接
  3. 在出现的登录页面中,点击页面下方的「前往华东节点(原 TAB)登录」按键。

2016 年 7 月,腾讯云与 LeanCloud 合作推出了「移动开发工具 TAB」。一年多来,该产品得到了众多开发者的青睐,目前已有 4 万多用户开通了该服务。

为了更好地支持 TAB 一站式服务的发展,让其能够成为一款独立产品以快速应对市场需求,腾讯云和 LeanCloud 一致同意,从 2017 年 8 月 15 日起该产品完全交由 LeanCloud 来运营,同时腾讯云会一如既往地提供基础设施等底层资源支持。

此次运营权的转移,主要是用户账户信息和产品使用协议的重新确认,云端的服务和数据不受影响,我们会努力保证所有服务能够无缝切换,不影响线上产品的运行。我们会在 8 月初在 TAB 控制台发布具体的操作流程,请关注我们后续的邮件通知。

TAB 是腾讯云与第三方云服务商合作的典范——LeanCloud 在腾讯云的基础资源基础之上搭建起了一套包含了数据存储、聊天、推送、短信等完整服务的云平台。腾讯云通过自己强有力的渠道和品牌影响进行推广,双方发挥各自优势来运营一站式开发云服务,近一年来取得了不错的市场业绩,并赢得了开发者们的良好口碑。我们在此由衷地感谢用户们对我们一直以来的信赖和支持!

如有任何疑问,请致信 support@leancloud.rocks

云引擎组管理功能将于 6 月 1 日起正式收费

云引擎组管理功能自 4 月份上线至今已经平稳运行了两个月,并受到了众多开发者的欢迎和喜爱。如之前 云引擎组管理功能上线通告所述,这是一项增值功能,开启后将额外收取 20% 的云引擎实例费用(价格方案),我们将于 6 月 1 日零时起执行该收费策略。

已经增加了分组的开发者,如果不希望继续使用分组或承担由此产生的费用,请于上述收费时点之前,进入 控制台 > 云引擎 > web 组(点击下箭头)> 组管理,将多余的分组删除,这样 6 月份便不会因此而扣费。该费用按天结算,6 月 1 日之后也可以随时中止这一功能的使用。

注意:新建的分组中即使没有实例(空分组),也会被认为开启了组管理功能而加收 20% 的费用。因此请务必将空分组删除,避免扣费。

感谢大家为该功能做出的反馈和支持,我们会努力提供更便捷的服务。

更新(2017-05-26):我们分别于 5 月 22 日(博客、邮件)和 5 月 26 日(邮件、短信)向使用了云引擎组管理功能的开发者发出了提醒,如有疑问请联系 support@leancloud.rocks