分类目录归档:产品新闻

请所有用户尽快完成实名认证的通知

尊敬的用户,您好

根据国家《网络安全法》的要求,使用 LeanCloud 服务的用户必须进行实名认证(个人或者企业认证):

第二十四条 网络运营者为用户办理网络接入、域名注册服务,办理固定电话、移动电话等入网手续,或者为用户提供信息发布、即时通讯等服务,在与用户签订协议或者确认提供服务时,应当要求用户提供真实身份信息。用户不提供真实身份信息的,网络运营者不得为其提供相关服务。

为了协助大家尽快完成信息认证,我们预留了一个月的过渡期(6/25-7/25)。从即日起,对于未进行实名认证的账户,我们将禁止其创建或者激活应用,并禁止应用转移以及数据导入导出等操作,应用内具体的 API 请求不受影响;过渡期后我们会完全停止为尚未提交认证信息的账户提供服务。

登录 LeanCloud 控制台 后,在 账号设置 – 实名认证 的页面即可完成操作,请未进行实名认证的开发者尽快完成认证,感谢大家的理解和配合。

谢谢!

Android 推送 SDK(精简版)发布|五月汇报

产品动态

7 月 1 日起即时通讯和推送 REST API 将开启请求频率限制

2019 年 7 月 1 日起,我们将对推送和即时通讯服务中调用 REST API 进行消息操作开启频率限制(请注意,客户端通过 LeanCloud SDK 产生的行为不受此限制的约束),以此来提升服务质量和鼓励用户更合理的使用服务。在限制正式生效之后,单位时间内超限的 REST API 请求会被云端拒绝,并返回 429 错误码。因此,请您注意检查应用逻辑,并就最大限制做好相关的适配工作。接口详情请参考博客

为什么要增加这一限制呢?推送服务我们之前基本是免费使用的,后来虽然把它加入到了商用版套餐中,但是对于用量还是没有任何限制,这样导致的问题就是平台实际成本非常高,而开发者使用上毫无节制还会让平台峰值压力比均值高出百倍以上,直接影响服务的整体稳定性。因此我们现在才需要对使用方式进行一些限制,通过经济手段来引导大家合理的使用公有云的服务。商用版应用如有合理的需求希望突破此限制,请联系 support@leancloud.rocks 了解相关的付费方案。

关于限制门槛以及付费的阶梯方案,根据我们的统计数据来看,对 97% 的商用版用户来说都没有实质影响,而剩下的 3% 用户,也可能通过技术的平滑处理让请求频率降到限制之下,从而不需要额外付费。不管怎样,开发者都可以享受到更稳定的服务,这也能让系统峰值压力有所减缓,让服务提供方的成本有所降低,这实际上是一种「双赢」,是为了业务稳定和可持续发展而不得不进行的转变,希望开发者可以理解并支持我们,谢谢!

云引擎定时任务功能升级

我们重新设计了云引擎的定时任务功能,新的定时任务是接下来会发布的「云队列(Cloud Queue)」的一部分,它兼容之前的绝大部分用法,还添加了一些新特性:

  • 新的定时任务将不再有个数限制。
  • 新的定时任务可以向云函数传递自定义的参数(JSON 形式),可以配置在超时情况下的行为(重试或放弃)。
  • 新的定时任务在控制台界面上会显示上次运行结果和下次运行时间。
  • 新的定时任务被触发时会在云引擎日志中打印日志(包括执行结果)。
「云队列」功能预告

云引擎发布以来,经常会有用户跟我们提出「任务队列」一类的需求,在此之前我们都是推荐大家使用云缓存 Redis 的「Pub/Sub」功能来自己实现,现在考虑到需求的一般性和队列服务的高可靠性要求,我们决定在平台层面提供「云队列」的服务。「云队列」基于云引擎已有的云函数概念实现了重试、去重、结果查询、延时任务、定时任务等功能,是对云函数功能的一个补充。尚未运行的任务会以一种可靠的方式暂存在云队列,即使你的云引擎实例因部署、过载、崩溃而重启,任务也不会丢失,云队列会等待你的云引擎实例恢复正常后继续运行它们。

具体进展和使用方法,可以关注我们的博客和论坛公告。

Swift SDK 即时通讯功能(正式版)发布

本月我们发布了 Swift SDK 即时通讯功能的正式版(16.0.0),在 3 月份 beta 版基础上增加了本地缓存的功能,提升了效率和稳定性。同时,我们也同步推出基于新 SDK 开发的全新 Chat 应用,Chat 应用支持最新的 iOS 系统以及最近的三个 OS 大版本,它以开源 Demo 的形式推出,其主要目的是展示如何使用 Swift SDK 来实现各种聊天功能。

Android 推送 SDK(精简版)发布

LeanCloud 已经发布了一个标准版本的推送 SDK: LeanCloud Push SDK ,该 SDK 除了推送服务之外,还支持即时通讯和 LiveQuery 服务(共享同一个 WebSocket 长链接),并且由于即时通讯中对文件、图片、音视频消息等功能的支持,它还必须依赖于 LeanCloud 核心 SDK,因此整体上体积会稍大一些。

对于那些只使用我们推送服务的客户来讲,其实只需要提供设备注册(AVInstallation 存储)和消息接收(PushService)的相关操作即可,标准版 SDK 中大部分功能可能反而显得冗余。现在,我们有一些 VIP 客户正在优化产品移动端体验,安装包大小和启动时间是评测中的重要指标,为了协助他们做好优化,我们专门推出了这一精简版 SDK。

与标准版 SDK 相比,精简版 SDK 在体积和启动时间上的优化效果如下:

内容分享

每天我有多少时间可以写代码?

11

大家好,我是老王,程序员一枚,也是 LeanCloud 团队家属。家属因为工作原因,经常以调研(diao cha)为由咨询(shen wen)我一些问题,这次问题是「每天实际有多长时间是用来写代码的」。

常见问题

【推送】同一个账号在两个设备登录过,两个设备都会收到推送信息吗?

推送的时候是根据推送查询条件,在 _installation 表中查找符合条件的目标设备来推送。只要查询条件能包含这两个设备,则两个设备都能收到推送。

如果是登录即时通讯系统,如果没有开启单点登录,用户在登录两个设备后,如果用户不在线会尝试给这两个设备都发离线消息推送。

【推送】Android 非混合推送,控制台推送记录中显示推送成功,但 Android 设备实际没有收到推送,是什么原因?

对于 Android 非混合推送设备,当返回的记录成功数为 1 时,表示一定收到了 SDK 确认收到该消息的回应。即此条推送消息一定是到达了设备。
建议检查推送是否使用了自定义 Receiver 功能(消息中是否有 action 字段),消息到达后 SDK 会直接将消息转交给自定义 Receiver,由自定义 Receiver 完成推送提醒。这种情况需要检查自定义 Receiver 实现逻辑排查消息到达后为什么没有弹出提醒。

【云引擎】新推出的 LeanDB 是什么产品,是用来做什么的?

这是一项新推出的功能,为了满足应用对关系型数据库的需求。目前 LeanDB 提供了 mysql 数据库,可以使用任何支持 mysql 的库来访问它。

接入文档请参考:LeanDB MySQL 使用文档

》》更多使用疑问请点击这里

Java Unified SDK 版本升级,老版本 Android SDK 和云引擎 SDK 将于 9 月底停止维护

我们在 2018 年 9 月推出了 Java Unified SDK,该 SDK 可以在 Java、Android 和 LeanCloud 云引擎三种环境下运行,支持数据存储、LiveQuery、即时通讯、云函数、推送和混合推送等全部核心功能,并且开放所有源代码(代码见这里)。本周我们对 Java Unified SDK 进行了小版升级,当前最新版本为 5.0.13,老版本 Android SDK 和云引擎 SDK 则将于 2019 年 9 月底完全停止维护。

由于不同平台的 SDK 版本众多,这里我们给大家梳理一下 Android/Java SDK 的版本分布以及将来的持续开发计划,帮助开发者快速升级或者选择到合适的 SDK 版本。

老 Android SDK

LeanCloud 服务上线之初,就推出了原生的 Android SDK,演变至今,因为功能的不同,老的 Android SDK 已经分为了多个 library:

  • 核心 SDK (cn.leancloud.android:avoscloud-sdk)
  • 推送和 RTM SDK (cn.leancloud.android:avoscloud-push)
  • 混合推送 SDK (cn.leancloud.android:avoscloud-mixpush)
  • FCM 推送 SDK (cn.leancloud.android:avoscloud-fcm)
  • 应用内搜索插件 (cn.leancloud.android:avoscloud-search)
  • 用户反馈插件 (cn.leancloud.android:avoscloud-feedback)

各个 library 依赖关系如下:

cn.leancloud.android:avoscloud-feedback/avoscloud-search
 +- cn.leancloud.android:avoscloud-sdk

cn.leancloud.android:avoscloud-fcm/avoscloud-mixpush
 +- cn.leancloud.android:avoscloud-push

cn.leancloud.android:avoscloud-push
 +- org.java-websocket:Java-WebSocket:1.3.9
 +- com.google.protobuf:protobuf-java:3.4.0
 +- cn.leancloud.android:avoscloud-sdk
    +- com.squareup.okhttp3:okhttp:3.8.1
    +- com.alibaba:fastjson:1.2.37

上面这些库都已经发布到了 Maven Central Repo,当前最新版本为 4.7.12,他们最终都会被新的 Java Unified SDK 所取代。

老版本云引擎 SDK

为了支持云引擎的功能,也因为 Android SDK 与 OS 绑定过于紧密,所以我们推出第一版云引擎 SDK 的时候,重新实现了 LeanCloud 核心 SDK 的功能,形成了云引擎运行环境使用的一套专用 SDK:leanengine-java-sdk(group: cn.leancloud, artifactId: leanengine),最新版本为:0.3.3。leanengine-java-sdk 的主要依赖如下:

cn.leancloud:leanengine
 +- cn.leancloud:java-sdk (LeanCloud Java Runtime SDK)
 |  +- cn.leancloud:fastjson-leancloud(*)
 |  +- org.json:json
 |  +- cn.leancloud:okhttp-leancloud(*)
 |  |  \- cn.leancloud:okio-leancloud(*)
 |  +- cn.leancloud:leancloud-common (LeanCloud 底层核心 SDK)
 |  +- cn.leancloud:android-stub (LeanCloud 模拟的 Android OS 接口层)
 |  +- org.apache.httpcomponents:httpcore
 |  \- org.apache.httpcomponents:httpclient
 +- javax.servlet:javax.servlet-api

基于 Java 运行时的云引擎项目,都需要依赖 leanengine-java-sdk(详见模版项目:java-war-getting-started)。

云引擎 SDK 是完全独立的 codebase,并且还依赖于几个 LeanCloud 自己 fork 的、版本较老且已不再维护的基础 library:

  • cn.leancloud:fastjson-leancloud
  • cn.leancloud:okhttp-leancloud
  • cn.leancloud:okio-leancloud

与 Android SDK 一样,云引擎 SDK 也会被新的 Java Unified SDK 所取代。

Java Unified SDK

为了降低维护复杂度,统一 Android / Java SE 运行环境同样接口的行为,我们在 2018 年 9 月推出了 Java Unified SDK,希望用一套代码,来支持多个平台,降低内部维护难度的同时,也可以较好地保证不同平台上接口和功能的一致性。

新版 Unified SDK 发布之后,经过了多轮迭代,目前已经稳定并且被发布到了 Maven Central Repository

新的 RxJava 风格 API

老版本 SDK 所有的网络请求都是通过 Callback 方式实现的,在实现多轮前后衔接的业务逻辑时会导致代码嵌套层级过多,影响阅读,同时在 Java 开发环境下这种异步的方式也不太友好。为此,Java Unified SDK 的存储接口完全基于 RxJava 来构建(同时也兼容老的 Callback 方式),通过函数式编程风格的改变,给业务开发带来更多便利。

新 SDK 层次与依赖

Java Unified SDK 主要包含以下几个 library,其层次结构以及平台对应关系如下(完整列表见这里):

  • 基础包(可以在纯 Java 环境下调用)
    • storage-core:包含所有数据存储的功能
    • realtime-core:部分依赖 storage-core library,实现了 LiveQuery 以及即时通讯功能
  • 云引擎使用的包
    • engine-core:是 LeanCloud 云引擎项目需要依赖的包。
  • Android 特有的包
    • storage-android:是 storage-core 在 Android 平台的定制化实现,接口与 storage-core 完全相同。
    • realtime-android:是 realtime-core 在 Android 平台的定制化实现,并且增加 Android 推送相关接口。
    • mixpush-android:是 LeanCloud 混合推送的 library,支持华为、小米、魅族的官方推送。
    • leancloud-fcm:是 Firebase Cloud Messaging 的封装 library,供美国节点的 app 使用推送服务。

如何使用新 SDK

获取 SDK

获取 SDK 有多种方式,较为推荐的方式是通过包依赖管理工具下载最新版本。具体可参考文档:获取 SDK

Android 开发环境 Sample

云引擎 Sample

在公开的云引擎模版项目上,我们新建了一个分支,用来完成 Java Unified SDK 的集成,具体可以参考代码 java-war-getting-started(v5.x 分支)

7 月 15 日起即时通讯和推送 REST API 将开启请求频率限制

尊敬的开发者,

2019 年 7 月 15 日起,我们将对开发版和商用版应用开启直接调用 REST API 进行消息操作(包含即时通讯及推送)的频率限制,以此来提升处理效率和鼓励更合理的设计。客户端通过 LeanCloud SDK 产生的行为不受此限制的约束。商用版应用如有合理的需求希望突破此限制,请联系 support@leancloud.rocks 了解相关的付费方案。

在单位时间内超限的 REST API 请求会被云端拒绝,并返回 429 错误码。因此,请您及时检查应用逻辑,并依据以下列出的最大限制做好相关的适配工作。

限制详情

LeanCloud 云端将所有应用的消息请求放入队列逐一处理。当某一个应用突然大量调用接口发送消息时,该共享队列就会被长时间占用,进而影响其他应用的消息到达速度。为了解决这个问题,我们将对以下请求的频率进行限速。

即时通讯服务

普通消息

1.1 版本:

1.2 版本:

单聊群聊消息接口:

聊天室消息接口:

限制:

商用版 开发版
每应用 1800 次/分钟 每应用 120 次/分钟

所有接口共享以上额度。超过额度限制后一分钟内 LeanCloud 会拒绝请求持续返回 429 错误码,一分钟后会重新处理请求。

订阅消息

1.1 版本:

1.2 版本:

限制:

限制 商用版 开发版
频率限制 每应用 30 次/分钟 每应用 10 次/分钟
总量限制 全天最多 1000 次 全天最多 100 次

所有接口共享以上额度。超过频率限制后 1 分钟内 LeanCloud 会拒绝请求持续返回 429 错误码,一分钟后会重新处理请求;超过总量限制后当天会拒绝之后的所有请求并返回 429 错误码。

广播消息

1.1 版本:

1.2 版本:

限制:

限制 商用版 开发版
频率限制 每应用 10 次/分钟 每应用 1 次/分钟
总量限制 全天最多 30 次 全天最多 10 次

所有接口共享以上额度。超过频率限制后 1 分钟内 LeanCloud 会拒绝请求持续返回 429 错误码,一分钟后会重新处理请求;超过总量限制后当天会拒绝之后的所有请求并返回 429 错误码。

推送服务

限制 商用版 开发版
频率限制 每应用 600 次/分钟 每应用 60 次/分钟
每日推送总量 免费 100 万推送人次/天 免费 1 万推送人次/天

超过频率限制后 1 分钟内 LeanCloud 会拒绝请求持续返回 429 错误码,一分钟后会重新处理请求。

如果您有任何问题,请联系 support@leancloud.rocks。感谢您的配合。

如何能够保证自己应用数据的安全?|四月汇报

产品动态

应用归档自助激活

为了节省后端数据库的存储空间,我们会自动对近期(最近 30 天内)无数据 API 访问的应用进行归档,开发者要再次使用该应用,则需要联系技术支持进行手动激活。现在,我们在应用控制台上线了「自助激活」的功能,以方便大家使用。

如果有应用被归档了,打开控制台,会看到如下新的变化:

开发者可以点击「激活」按钮,并按照提示完成操作。一般而言,恢复一个归档应用大约需要 10-30 分钟,稍作等待之后您就可以正常使用了。

云引擎支持 MySQL 数据库

LeanCloud 云引擎作为一个带运维的托管平台,其实可以完成很多功能。现在我们计划让云引擎支持 MySQL 数据库,在底层数据存储上与 LeanCloud 存储服务解耦合,使之可以适用更多的业务场景,譬如自定义的业务后台、开源的 CMS 系统,等等。

使用方式上,增加一个 MySQL 数据库实例,其操作流程与云缓存类似:

MySQL 数据库的支持会首先在华北节点上线,之后会逐步扩大到其他节点,以后我们还会支持 MongoDB 数据库,敬请期待。

推荐内容

2019 前端框架对比及评测

测评名单中有没有你正在使用的框架,来看看它的成绩吧!

微信小程序 unionid 登录解决方案

如何在小程序中支持 unionid 登录,既能得到 unionid 登录机制的灵活性,又保留一键登录功能的便利性。

如何保护您的服务器免受黑客攻击

虽然我是一名经验丰富的开发人员,但在注册服务器两周后却遭到了黑客入侵。

常见问题

【数据安全】如何能够保证自己应用数据的安全?

最灵活的保护应用数据安全的方式是通过访问控制列表(Access Control List),通常简称为「ACL 机制」。ACL 背后的机制是将每个操作授权给一部分 用户(User)或者 角色(Role),只允许这些用户或角色执行这些操作。对 ACL 机制和数据安全方面更详细的解释可以参考文档:数据和安全

【控制台】控制台创建应用时,有两种应用计费方式:开发版与商用版。我该怎么选择创建何种应用?

开发版是针对开发测试阶段的项目或个人项目的解决方案。由于开发版是免费的,所以不提供数据备份恢复服务,在集群的设计上是不对可用性和数据的可靠性做保证的。

商用版应用底层使用的是高性能、高可用的基础设施,有更好的冗余和 SLA 保证。除了性能和稳定性方面的保证外,商用版用户还将免费得到工单技术支持、域名备案和绑定、自助数据恢复、自定义 SSL 证书、云引擎性能管理等增值服务。

综上,个人开发或者测试阶段可以选择「开发版」应用,商用项目建议选择「商用版」应用。

【绑定域名】文件不绑定自定义域名有什么影响?云引擎服务不绑定自定义域名有什么影响?

如果没绑定自定义域名,使用 LeanCloud 提供的公用域名,由于受到网络法规的管控与限制,我们无法 100% 保证该公用域名随时可用。为确保您的应用体验不会受到影响,请前往控制台 > 存储 >设置 >文件 设置好自定义文件域名。在控制台 > 个人中心 > 账号设置 > 域名绑定 中绑定云引擎域名。

点击查看更多 LeanCloud 用户常见问题解决办法

Swift SDK 即时通讯功能(beta 版)发布|三月月报

产品更新

Swift SDK 即时通讯功能(beta 版)发布

3 月份我们发布了新版本的 Swift SDK(v16.0.0-beta),该版本包含了即时通讯的绝大部分常用功能,已经可以满足多数应用场景的需求,大家可以通过 CocoaPods 安装使用:

# Podfile sample
platform :ios, '10.0'
use_frameworks!

target 'YOUR_APP_TARGET' do # 替换 YOUR_APP_TARGET 为你的应用名称。
    pod 'LeanCloud'
end

下个月我们计划发布正式版,在 beta 版基础上会增加本地缓存、安全签名、黑名单和用户权限管理功能。同时,我们也会同步推出基于新 SDK 开发的全新 ChatKit 应用,新 ChatKit 会支持最新的 iOS 设备以及最近的三个 OS 大版本,它不会再以库的方式集成,而是以开源 Demo 的形式推出,其主要目的是展示如何使用 Swift SDK 来实现各种聊天功能。

除了即时通讯之外,Swift SDK 接下来也会加入 LiveQuery 功能,以及支持 Carthage 和 Swift Package Manager 两种集成方式,敬请期待。

vivo 混合推送(beta 版)发布

这一次我们采用了源码配 demo 的形式来公开这一功能:

vivo 混合推送 SDK 源代码:可参照这里
vivo 混合推送 demo:可参照这里
具体接入的流程可参考文档:vivo 混合推送

欢迎感兴趣的开发者试用,也期待大家给我们更多的反馈。

发票申请变化

从 2019 年 4 月 1 日起,我们将为普通发票申请额在壹万元以下的(含壹万元)用户开具增值税电子普通发票,超过壹万元的开具增值税纸质普通发票,电子发票将默认发送到用户信息中的邮箱。如果您有特殊要求(如必须要纸质发票或者发送到其他指定邮箱),请在申请发票备注栏里写明。

内容推荐

游戏出海技术指南:海外网络实践及优化专场

4 月 20 日,围绕海外市场趋势及网络优化等问题,一起来现场听听他们的实践经验。

 

七款酷炫的 Mac 屏保

你的桌面屏保是什么?

常见问题

【推送】为什么我收不到离线消息推送,该如何排查原因?

消息推送收不到的排查步骤如下:

  • 检查消息是否正常发送到服务器
  • 检查接收者用户是否离线,是否在 _Installation 表中有关联的设备记录
  • 检查是否有设置推送内容
  • 使用控制台推送在线发送工具实际发推送给目标设备查看推送是否出错,比如 iOS 证书不匹配,设备 Token 过期,设备 Token 和推送环境不匹配等

排查问题更具体的细节可以参考文档:为什么我收不到离线消息推送

【在线参数】统计服务下线以后,有办法给我单独开启在线参数功能吗?

作为统计服务的一个附属功能,在线参数已经和统计服务一同下线了。但为了不影响客户的线上业务,我们云端还支持在线参数的读取(4 月底才彻底下线)。

我们建议自行切换到存储服务里面来继续使用在线参数的功能,并且建议应用数特别多的时候将所有应用的在线参数合并到一个应用中,通过不同的名字或属性区分,这样可能最多也只需要开通一个商用版应用了。

如果不能短时间内完成迁移,可以走付费延长「在线参数」这一功能的方案,有此需求的用户可以发邮件至 support@leancloud.rocks 与我们联系,我们会对符合条件的应用重新开放在线参数的访问入口。

点击查看更多常见问题

游戏实时对战及排行榜服务将于 4 月 9 日开通商用方案

LeanCloud 游戏实时对战服务及排行榜服务自上线以来受到了众多开发者的青睐,大家熟知的 Google 小游戏《猜画小歌》就是我们游戏服务的用户之一。鉴于商业用户对于云端服务稳定性的要求,我们将于 4 月 9 日起为这两项服务提供免费和付费两种方案,具体如下:

实时对战

实时对战服务从 CCU 和流量两个维度来统计使用量和计费。

  • CCU:同时在线用户数,以当天最高的同时在线用户数为准进行收费。最高支持 5000 CCU,超过 5000 CCU 需使用企业版。收费单位为每 500 CCU,不足 500 按 500 计算。
  • 流量:通信过程中所使用的流量。数据体积越大,通信频率越高,产生的流量也会越大,按照实际用量进行计费。

华北/华东节点

开发版 商用版
CCU 免费 20 CCU / 天 ¥ 25 / 500 CCU / 天
流量 免费 1 GB / 天 ¥ 0.8 / 1 GB / 天

国际节点

开发版 商用版
CCU 免费 20 CCU / 天 $ 4 / 500 CCU / 天
流量 免费 1 GB / 天 $ 0.1 / 1 GB / 天

您可以前往 LeanCloud 控制台 > 游戏 > 实时对战 > 统计 页面查看应用当前的用量。

注:付费方案仅涉及实时对战通讯云部分,Client Engine 服务将继续免费使用。

排行榜

排行榜服务按照请求数量和存储空间来统计和计费。

  • 请求数量:调用排行榜相关接口的请求总数量。收费单位为 1 万次请求,不足 1 万按 1 万次计算。
  • 存储空间:
    • 按照榜单内的总记录数进行收费,包括当前版本的总记录数,以及可选保留的上一个版本总记录数。例如您有一个排行榜 world,除了当前版本的榜单外,还选择保留一份历史版本数据供客户端查询,当前版本的榜单内有 2 万条数据,上一个历史版本中有 1 万条数据,总记录数为 2 万 + 1 万 =  3 万条数据。
    • 收费单位为 1 万条,不足 1 万按 1 万条记录计算。

华北/华东节点

开发版 商用版
请求数量 免费 1 万次请求 / 天 ¥ 2.5 / 万次请求 / 天
存储空间 免费 1 万条榜单记录数 ¥ 0.05 / 1 万条榜单记录 / 天

国际节点

开发版 商用版
请求数量 免费 1 万次请求 / 天 $ 0.4 / 万次请求 / 天
存储空间 免费 1 万条榜单记录数 $ 0.01 / 1 万条榜单记录 / 天

您可以前往 LeanCloud 控制台 > 统计 > 排行榜 > 统计 页面查看该服务的使用量。

如果您有任何疑问,请发邮件至 support@leancloud.rocks  或提交工单来咨询。

LeanCloud 月刊|国际节点正式独立运行

产品动态

国际节点正式独立运行

我们为了适应用户的需求变化以及产品下一步的发展,让 LeanCloud 正式成为国际化的产品,从 2019 年 1 月 1 日开始国际节点与国内节点完全分离,这将带来以下几方面的变化。

  • 国际节点使用独立的账户体系,并由 LeanCloud 的境外公司作为主体运营。

  • 我们将会逐步完成网站、开发者控制台、文档的国际化,提供英语技术支持,让英文环境的开发者也可以使用 LeanCloud。

  • 充值方式将支持国际信用卡、PayPal、境外银行转账。余额使用美元结算,无需像原来一样进行与人民币的转换。

  • 我们会和其他国外的服务一样按月提供电子发票,您无需再在控制台进行手动申请。

游戏解决方案(Play)在国际节点全部部署上线

首先,告诉大家一个好消息,游戏解决方案在国际节点全部部署上线,使用国际节点开拓海外市场的游戏开发者,可以抢先体验一下。

接下来我们分别说说实时对战和排行榜方面的变化。

实时对战

  • Client Engine:作为服务端控制游戏逻辑的一种扩展机制,我们已经完善了底层架构,完成了使用框架和文档,并发布了一个基于该方式实现的猜拳小游戏,作为 demo 希望给广大游戏开发者带来参考价值。

相关文章:如何在服务端实现游戏逻辑

  • SDK:完成了白鹭引擎(Egret)的匹配。现在我们的游戏解决方案已经支持如下平台:

    • 微信开发者工具,包括微信小游戏和小程序

    • Cocos Creator:包括 Web、微信小游戏、Facebook Instant Game、OSX/iOS、Android

    • LayaAir:微信小游戏

    • Egret:Web 小游戏

排行榜

  • 增强了防作弊的策略,只放行可信环境的数据更新请求,避免被恶意刷榜。

我们在 LeanCloud 成立五周年之际,发布了一款名为《LeanCloud 周年游戏》的微信小游戏。《LeanCloud 周年游戏》玩起来很简单,参与者要在 15 秒内从迅速掉落的蛋糕和炸弹中点中尽可能多的蛋糕来得分,蛋糕有好几种,分值也不一样,而误点到炸弹就要扣分。游戏一结束参与者能在排行榜中看到自己的名次,我们给前 50 名都设置了奖品。上个月,我们工程师从「客户端」、「服务端」和「作弊检测」几个方面,总结了一下开发这个小游戏的经验,感兴趣的朋友可以看看下面这篇文章。

相关文章:使用 LeanCloud Play 开发抢蛋糕小游戏的经验谈(附防作弊机制)

Android SDK 仓库的变化

我们已经将 Android SDK 最新版本(4.7.9)已经发布到了 The Central Repository,同时 Android SDK 的替代品—— Java Unified SDK 也都直接发布到了中央仓库,以后我们也会将两个 SDK 的后续版本都发布到这里,开发者可以不用再增加 LeanCloud 自己的私有仓库作为 maven 源,直接使用 jCenter() 包含的源即可引用 LeanCloud 最新的 Java/Android SDK。

统计服务下线

按照之前公告的计划,从 1 月 17 日开始,统计服务的后端系统正式停止接收各种客户端上报的数据,在 2 月 27 号之后控制台会停止统计指标的展示,今后我们会集中资源将核心服务做的更好更全面。
考虑到个别用户的使用情况,我们也提供了将统计服务私有部署的选项(有一次性的部署费用),如果您需要继续使用我们的统计分析功能,可以通过邮件(support@leancloud.rocks)或工单联系我们。

Share

优秀的命令行工具整理(一)

如果你用命令行,那么这些工具中大概至少有一个能让你的生活更舒心。

优秀的命令行工具整理(二)

本文是「命令行威力提升」系列的第二篇,这一系列展示一些出色的非标准工具,这些工具能让命令行用起来更容易、更享受。

优秀的命令行工具整理(三)

本文是「优秀的命令行工具」系列的第三篇。本文将展示五个命令行工具,这些工具能助你更方便地解决常见问题。

常见问题

【存储】数据存储表的字段是否有数量上限?字段多对性能是否有影响?

我们的存储功能基于 MongoDB,属于文档型数据库,这里的文档类似于 JSON 这样的非结构化数据,与传统的关系型数据库不一样, 所以讨论字段(关系型数据库中称为列)多少是没有意义的。
一个文档大小有 16 M 的限制,但是开发者真正使用时应远小于这个值,保证在几百 KB 之内能有较好的插入、查询、更新速度。
因为字段名是存在每个文档中的,所以字段名越短越节约空间。

【即时通信】安卓客户端怎么获取对话免打扰状态?

对于 Android 来说,不存在免打扰状态的。消息静音是针对 iOS 设备而言的(指不发送离线消息)。

Android 没有离线通知,因为聊天和推送使用的是同一个 WebSocket 长链接,聊天那里不在线,推送也是过不去的。

【控制台】控制台的应用为什么会被归档,被归档的应用怎么重新激活?

近三个月内没有 API 请求的开发版应用会被归档,归档后无法请求应用数据。

被归档的应用如需重新开启,可提供应用信息发邮件至 support@leancloud.rocks 申请激活。

【计费】通过 API 发送实时通信消息收费吗?

使用 API 发送即时通信消息也是收费的。计费标准就是 API 调用费用标准(每万次 1.0 元)。

此项计费在控制台 > 财务 > 消费明细中对应扣费服务项目是:「数据存储(API 请求)」。

【小程序】小程序真机上传数据时,控制台存储中显示的 Class 表名被压缩为单个字母,这个是为什么?

例如新建一个名为「Todo」的表,上传数据成功后进入控制台查看,其表名称显示为像 i、u 这样的单个字母。

这是因为真机上代码会被压缩,解决办法是在创建 Class 后向 SDK 注册该 Class 的名字:AV.Object.register(Todo, ‘Todo’);。

【云引擎】在云引擎部署时,会显示 [ERROR] exit status 128,请问会有什么影响吗?

是命令行工具在上传统计数据的时候的一个错误,不影响后续的部署,升级到最新版本的 lean-cli 就不会有这个提示了。

【CQL】LeanCloud 平台的 CQL 语句,与标准的 SQL 有什么区别。离线数据分析使用的 SQL 语句又有什么不同?

CQL 只是 API 的一点封装,是 SQL 的一个很小的子集,离线分析的 SQL 是 Hive SQL。标准 SQL 里面有很多内置的函数,CQL 里面都不支持。

也就是说标准 SQL 和离线分析的 Hive SQL 支持的内置函数有差异,而 CQL 基本不支持内置函数。

LeanCloud 将逐步下线移动统计服务的通知

移动统计服务和数据存储服务一样是 LeanCloud 最早上线的产品。在大多数人还没有听说过「Backend as a Service」,「Serverless」这个名词还没被发明的时候,很多用户因为移动统计这样熟悉的功能开始了解和使用 LeanCloud,并成为多年的深度用户。

在最近一段时间,我们除了推出 Play 游戏后端服务这样的全新产品,并进一步加强在海外市场的扩展外,也在对现有的后端架构和产品线进行梳理。LeanCloud 的几乎所有服务都专注于帮助用户更快、更好、更可靠地实现产品功能,面向的目标人群都是开发者。而移动统计服务是产品运营的辅助工具,主要目标用户是运营人员,我们曾多次收到用户建议,希望把移动统计的访问权限和其他服务隔离开,这都说明它和其他服务之间的协同性是比较少的。同时无论是在国内还是国外,有不少公司专注于开发统计工具,也有不错的开源方案,可以说用户有很多选择,我们在这方面提供的价值是相对较低的。

每个子产品都需要在开发、运维、技术支持、硬件等各方面投入资源,为了能集中资源以更快的节奏改进我们的核心产品,我们权衡再三,决定在未来的一段时间里将移动统计功能逐步下线。

移动统计服务我们一直免费提供,目前还有很多活跃应用在使用。我们知道对很多用户而言这一改变会带来不便,所以会尽可能减少其影响。我们计划以未来三个月为过渡期,让使用它的产品可以相对平滑地切换到其他方案。

具体的过渡方案如下:

  1. 在 2019 年 1 月 17 号之前,统计服务会正常运行;
  2. 2019 年 1 月 17 号之后,我们会停止接收客户端上报的数据,但是老的统计数据还可以在控制台看到,并且会继续开放 REST API 供开发者获取这些数据;
  3. 在 2019 年 2 月 27 号之后,我们会停止老的数据展示以及 REST API 下载。不过考虑到春节的影响,我们也会为有需要的用户延长保存一段时间,请提前与我们联系;

感谢您一直以来对 LeanCloud 的信任和支持。如果您有我们没考虑到的需求,请随时通过 Email(support@leancloud.rocks)或工单和我们联系。

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 的开发之中,请大家尽早切换使用。