分类目录归档:Uncategorized

新的 LeanCloud 博客

域名事件之后,除了让用户绑定自己的域名,使得用户业务尽可能不依赖 LeanCloud 域名外,我们对于自己的域名也有一系列正在进行中的防御措施,让不同的功能都有专用的顶级域名。今天我们正式启用新的博客域名 leancloudblog.com. 同时我们也把博客变成了静态的网站放到 CDN 上,不再使用 WordPress,相信对很多用户来说访问会更快速和可靠。

老博客在原来的域名仍然可以继续访问,我们会用工具把内容迁移到新博客。

为结构化数据存储、文件和云引擎服务设置自定义域名的通知

近期 leancloud.cn 和 lncld.net 域名被注册商阿里云禁用的问题,给您的业务造成重大影响,我们非常抱歉!现在域名访问已经恢复,对事情的始末以及统一的处理方案我们会稍晚呈送一份报告,目前我们还在同步落实相关的防范措施,确保能长期稳定提供服务。

按照主管部门的指示,对于有 UGC 内容(如结构化数据存储、文件存储和云引擎)的在线服务,出于监管之目的,都需要业务方绑定自有域名。从长远来看,这也是从域名层面做好应用隔离,确保您业务稳定的有效措施。LeanCloud 之前已经提供了绑定文件和云引擎自定义域名的接口,上周末我们快速上线了绑定 API 自定义域名的功能,所以现在请尽快为您账户下的应用绑定自定义域名。在一段时间之后,如果应用没有绑定自定义域名,我们将无法提供存储和云引擎服务。另一方面,对于已经绑了域名的应用,我们仍将尽力保持原有域名和目前的替代域名(avoscloud.com)长期有效,以保证您现有应用中既存的老版本客户端可继续运行。对于备案域名有困难的个人用户,可以使用 LeanCloud 国际版

我们现在已经支持在控制台自助绑定自定义域名,具体路径如下:

由此给您造成的不便,我们深感抱歉,希望您能从业务长期稳定发展的角度出发,协助我们尽快完成这一变更。

再次感谢您的理解和配合!

华北节点支持绑定 API 自定义域名

现在华北节点支持绑定 API 自定义域名。你可以在控制台的「存储 -> 设置 -> 自定义 API 服务域名」中提供一个 已备案 的域名(如需开启 HTTPS 还需提供对应的证书)来自助绑定。

自定义域名目前可用于访问以下 API 服务:

  • 数据存储
  • 短信
  • 推送
  • 云函数

自定义域名不适用以下 API 服务:

  • 即时通讯的 web socket(绑定自定义域名后仍旧使用 avoscloud.com

另外,以下服务使用独立的自定义域名:

  • 云引擎网站托管
  • 文件存储服务

换句话说,如果之前在这两个服务上绑定过自定义域名,现在想绑定 API 自定义域名,那么需要在 API 上绑定另一个域名(包括不同的子域名)。

具体绑定及配置方法见 API 自定义域名绑定指南

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 使用文档

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

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

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

于是,我对自己的日常工作内容进行了一些梳理。

早上七点半起床洗洗刷刷偶尔刮胡子,风驰电掣的穿好鞋,八点出门。挤地铁换乘,一般需要一个半小时到达公司,偶尔遇到特殊情况会在地铁楼梯台阶上改半个小时的代码。上班花费时间约 2 小时。

我每天会开很多会,开发需求跟产品开会、项目方案沟通会、新人转正评审会、出了故障要开总结会、小组周会、部门周会、团队分享会等若干会议。一天中会议一般会占用 3-6 小时。

每天我还需要一些时间在日常沟通上:

「Hi, 可以帮我看看,这个问题是什么情况吗?」

「王 x,现在有时间吗?新功能什么进度了」

「王 x , 约的面试的人到了」

中午,食堂,便利店,还是外卖,纠结吃什么也会花掉一些时间。排队,找座位,边吃边跟同事聊聊最近热门的游戏,1 个小时也就过去了。

为了避免出现加班加点做大量无用功,产品下需求必须要花一些时间了解,遇到疑问还会与产品反复沟通,这部分工作大约也需要 1 小时。

到晚上,花半小时解决下晚饭,没有意外情况的话,一般会在 21 点下班,十点半到家。回家后打开电脑再花半小时写日报跟工作总结。收拾洗个澡,十二点关灯睡觉,除去 7.5 小时的睡眠时间(在没有半夜突发故障的情况下),一天实际花在写代码上的时间大约为 4 个小时。

忘记提,作为一个十分讲究的程序员,以前我还要花半小时在每天穿什么的问题上,格子衫因为被黑太多不敢穿了,优衣库的卡通短袖又不符合我稳重的开发者气质,感觉衣柜里缺了一件不需要思考万能百搭的短袖。

于是家属给我推荐了她厂新款:LeanCloud 10x 程序员 T 恤。

10x 程序员
搭配

纯棉透气,百搭任意色系长短裤型,自此,我每天写代码时间又多出来了半小时。据说新款上架,购买就送 10x 程序员笔记本一本,活动截止至 6 月 10 日。

点击此处直接购买

以上人物时间均为虚构,如有雷同纯属巧合。

微信小程序 unionid 登录支持来啦

第三方登录模块使开发者能快捷灵活的拥有自己的用户系统,是 LeanCloud 最受欢迎的功能之一。随着第三方平台的演化,特别是微信小程序的流行,LeanCloud 第三方登录模块也一直在改进:

  • v2.0*:增加微信小程序一键登录功能。支持开发者不写任何后端代码实现微信小程序用户系统与 LeanCloud 用户系统的关联。
  • v3.6:增加 unionid 登录接口。支持开发者使用 unionid 关联一个微信开发者帐号下的多个应用从而共享一套 LeanCloud 用户系统。

这两个功能各自都非常简单可靠,但是其中重叠的部分需求却是一个难题:「如何在小程序中支持 unionid 登录,既能得到 unionid 登录机制的灵活性,又保留一键登录功能的便利性」。

在最近发布的 JavaScript SDK v3.13 中包含了微信小程序 unionid 登录支持。我们根据不同的需求设计了不同的解决方案,详情请参考 《在微信小程序与小游戏中使用 LeanCloud · 用户系统》。欢迎在我们的 社区 提出反馈和建议。

*这里的版本指开始支持该功能的 JavaScript SDK 版本。

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

点击此处报名

国内对游戏版号的限制,让「出海」成了游戏行业的热门词汇。但一款游戏如果想要平稳出海却不是件容易的事,无论是文化、设备还是推广方式都有着明显的差异。而技术方面,单海外网络一项就让不少游戏开发人员感到头疼。

本期活动,我们邀请了资深媒体人罗斯基、IPIP.NET 创始人高春辉、LeanCloud 运维工程师缪思源以及 UCloud 互动娱乐事业部架构师沈皓,围绕海外市场趋势及网络优化等,分享他们的实践经验。

01 活动流程

13:20 – 14:00 签到开场

14:00 – 14:40 游戏出海那些事(海外市场、渠道、产品以及趋势机会判断)

14:40 – 15:20 网络地理之东南亚篇

15:20 – 15:30 茶歇

15:30 – 16:10 海外网络优化及故障排除实践

16:10 – 16:50 出海游戏那些坑(出海及全球服游戏的技术要求及门槛)

16:50 – 17:10 现场抽奖交流

继续阅读