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

产品动态


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


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


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


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


云引擎定时任务功能升级


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


  • 新的定时任务将不再有个数限制。

  • 新的定时任务可以向云函数传递自定义的参数(JSON 形式),可以配置在超时情况下的行为(重试或放弃)。

  • 新的定时任务在控制台界面上会显示上次运行结果和下次运行时间。

  • 新的定时任务被触发时会在云引擎日志中打印日志(包括执行结果)。


「云队列」功能预告


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


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


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


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


Android 推送 SDK(精简版)发布


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


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


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


Android 推送 SDK(精简版)发布|五月汇报_第1张图片


推荐内容


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


Android 推送 SDK(精简版)发布|五月汇报_第2张图片


常见问题


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


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


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


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


对于 Android 非混合推送设备,当返回的记录成功数为 1 时,表示一定收到了 SDK 确认收到该消息的回应。即此条推送消息一定是到达了设备。


建议检查推送是否使用了自定义 Receiver 功能(消息中是否有 action 字段),消息到达后 SDK 会直接将消息转交给自定义 Receiver,由自定义 Receiver 完成推送提醒。这种情况需要检查自定义 Receiver 实现逻辑排查消息到达后为什么没有弹出提醒。


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


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


接入文档请参考:LeanDB MySQL 使用文(https://url.leanapp.cn/5Krulfg)。


更多内容请点击左下角「阅读原文」。


end


LeanCloud,领先的 BaaS 提供商,为移动开发提供强有力的后端支持。更多内容请关注「 LeanCloud 通讯」

Android 推送 SDK(精简版)发布|五月汇报_第3张图片

你可能感兴趣的:(Android 推送 SDK(精简版)发布|五月汇报)