分类目录归档:产品新闻

Java Unified SDK 开放测试通知

9 月伊始,我们新推出了一个 Java 平台的统一 SDK(Java Unified SDK),该 SDK 可以在 Java、Android 和 LeanCloud 云引擎三种环境下运行,支持数据存储、LiveQuery、即时通讯、云函数、推送和混合推送等全部核心功能,并且和老版本一样开放所有源代码(代码见 这里)。今后 LeanCloud 安卓开发团队会以开发维护 Java Unified SDK 为主,老版本 Android SDK 则会进入维护状态,维护期一年(截止到 2019 年 9 月底),期间主要是做 bugfix,不会再增加新功能,请大家尽快迁移到新版本 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("succeed to save post and comment objects.");
  }

  @Override
  public void onError(Throwable throwable) {
    System.out.print("failed to save post or comment objects. 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 联系我们。

云引擎开始支持 .NET Core

.NET Core 在经历了几年的发展之后,非常理智地挣脱了 Windows 原生平台的束缚,充分拥抱开源,而我们的云引擎产品也补充了对 .NET Core 运行时的支持。用户现在可以轻松地部署和托管一个 .NET Core 的项目,例如一个 ASP.NET Core 的网站。

下载示例项目:

git clone https://github.com/leancloud/aspnetcore-getting-started.git

然后进入源码目录:

cd aspnetcore-getting-started/

执行如下命令绑定一个应用:

lean switch

注:此处可能会要求登录,按照命令行工具提示成功绑定一个应用即可。

最后部署到云端:

lean deploy

打开设定的二级域名就可以预览一个 ASP.NET Core 的示例网站了。

更多文档和开发指南点击:.NET 网站托管开发指南

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 联系我们。

LeanCloud Play 对战游戏服务正式上线

LeanCloud Play 现在已经正式发布,感谢申请内测的所有用户的支持。所有老应用及新创建的应用都可以直接使用 Play 服务,您只需要在游戏引擎中填入对应的 App ID 和 App Key 即可接入 Play。如果您在接入时遇到任何问题,请到 社区 发起新的主题,并附上如何重现场景的描述及关键代码,我们的开发工程师会给予回复。

Play 简介

Play 是专门针对多人在线对战游戏推出的后端服务。开发者不需要自己搭建后端系统,利用 Play 云服务就可以轻松实现游戏内玩家匹配、在线对战消息同步等功能。Play 完美适配 Unity 引擎,支持多个平台。

Play 使用起来非常简单:

连接服务器

Play.UserID = "Mario";
Play.Connect("1.0"); // 声明游戏版本

随机匹配房间

Play.JoinRandomRoom();

游戏内发送消息

// 定义名为 rpcResult 的 RPC 方法
[PlayRPC]
public void rpcResult(int winnerId)
{
  Debug.Log("winnerId: " + winnerId);
  ui.showWin();
}
// 向所有人发送游戏消息,收到消息的玩家的 rpcResult 方法会自动被触发
Play.RPC("rpcResult", PlayRPCTargets.All, winnerId);

更详细的介绍请参考《Play 服务总览》。

Play 的未来规划

  • Play 已实现在客户端运算游戏逻辑,服务端运算部分正在研发中,预计不久就可以开放公测。
  • Play 已经支持使用 Unity (C#) 来开发,未来会支持 Cocos、Erget (JavaScript) 及更多的游戏引擎。

如果您有兴趣了解 Play 的新功能或支持的新语言,请订阅我们的博客来接收最新的产品信息。

价格

Play 目前处于免费试用阶段,开发版及商用版应用均不收费。 每一应用最多可使用 100 CCU 的额度,如果您需要更大的额度,请联系 support@leancloud.rocks。

LeanCloud Play 内测邀请—不搭建后端,快速上线多人对战游戏

如果您准备打造一款多人对战游戏,正在寻找合适的后端平台与开发资源,那么我们诚邀您加入 LeanCloud 新产品「Play」内测。

LeanCloud Play 提供了稳定和方便的后端接口使您快速完成多人游戏的研发和上线。与其为复杂的后端架构忧心,为组建和管理后端及运维团队烦恼,为项目范畴太大而憔悴,不如使用 LeanCloud Play 来节省至少 60% 时间和人力成本,让产品准时上线,抢占市场。

产品功能

  • 玩家匹配: 随机或按指定条件将玩家匹配到一起玩游戏。就像《第五人格》、《吃鸡》等对战类手游,玩家只需点击「自由匹配」就可以随机匹配进入某个房间,或者玩家也可以自己新开房间。
  • 多人在线对战: 客户端与服务端使用 WebSocket 通道进行实时双向通信,确保游戏内所有消息能够快速同步。
  • 游戏逻辑运算: 由主客户端控制游戏逻辑。当主客户端掉线时,LeanCloud Play 会自动将网络状态最好的客户端切换为主客户端,确保游戏顺畅进行;您也可以选择在服务端编写游戏逻辑(服务端游戏逻辑支持尚在开发中)。
  • 多平台支持: 完美适配 Unity 引擎,支持多个平台,同时也欢迎您提出其他语言的需求。

全球支持,灵活稳定

LeanCloud Play 为您提供国内外节点,满足您向全球推广和发行游戏的需求。Play 服务端沿用了 LeanCloud 现有的可横向扩展的架构,支持动态扩容,从容应对海量用户;同时又在这些久经考验的底层架构上进行了深度优化与改进,可以稳定承接每秒亿级的消息下发量。

如何使用

使用 LeanCloud Play 的步骤非常简单。

连接服务器

Play.UserID = "Mario";
Play.Connect("1.0"); // 声明游戏版本

随机匹配房间

Play.JoinRandomRoom();

游戏内发送消息

// 定义名为 rpcResult 的 RPC 方法
[PlayRPC]
public void rpcResult(int winnerId)
{
  Debug.Log("winnerId: " + winnerId);
  ui.showWin();
}
// 向所有人发送游戏消息,收到消息的玩家的 rpcResult 方法会自动被触发
Play.RPC("rpcResult", PlayRPCTargets.All, winnerId);

更详细的文档及教程请阅读《Play 服务总览》、《Play 快速入门》和《Play · Unity (C#) 开发指南》。

申请内测

我们将邀请 10 名用户参与内测,通过微信群与我们的 Play 研发工程师保持沟通。您的反馈将会影响 LeanCloud Play 未来的发展方向,我们期待着与您共同打造优秀的游戏产品!

⚔️ 点击此处申请内测 ⚔️

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

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

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

继续阅读

LeanCloud 开源工单系统 LeanTicket 焕然一新

相信很多开发者已经注意到,LeanCloud 的工单系统 LeanTicket 改版了。新版的 LeanTicket 不仅更新了界面,采用了响应式的页面布局来适配移动端,并且添加了诸多新功能,如增加了更多的工单状态来更清楚地罗列工单时间线的变化和下一步行动、完善了统计报告、优化了系统响应速度等等。

继续阅读

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

多端数据实时同步,LiveQuery 轻松搞定

LiveQuery,这个众盼已久的神奇功能终于来了!简单来说,它会在云端数据发生变化时马上通知所有客户端来同步数据,从而改变了以往只能由客户端按需向云端请求或通过定时轮询来刷新数据的单向模式。这种可实时观察数据变化的特性,对于游戏、多端同步或消息系统会非常有用。

从名字上看,大家不难猜出 LiveQuery 跟 LeanCloud 的数据查询 Query 会有一些渊源。的确如此。LiveQuery 在 Query 之上增加了简明的 API 接口,开发者还是像往常那样先构造一个 Query,写好查询条件,然后订阅(subscribe)这个查询即可。这样当云端数据改变时,如果这些更改与 LiveQuery 所指定的查询条件相匹配,那么 LiveQuery 就会发布这些更改,通知客户端来处理。

目前,Android SDK v4.2.0、JavaScript SDK v3.0.0 和 iOS SDK v5.0.0 已支持 LiveQuery。

继续阅读