产品动态
存储和即时通讯 Flutter SDK 全新发布
二月我们发布了存储服务的 Flutter SDK,本月即时通讯服务的 Flutter SDK(beta 版)也正式与大家见面。为了更好利用 OS 层的能力,新 Flutter SDK 以插件(Plugin)的形式开发,底层依赖原生的 Swift SDK [1] 和 Java Unified SDK [2] ,且大部分接口的名称与 Native SDK 保持了一致。
当前版本已经支持如下功能:
单聊、群聊、富媒体消息、自定义消息类型;
自定义会话属性、会话查询、聊天记录查询;
聊天室、临时会话、系统会话等不同对话类型;
消息的修改与撤回、消息回执、成员提醒、暂态消息、遗愿消息;
消息免打扰、未读消息数更新通知;
多端登录与单设备登录;
登录以及会话的安全签名,等等。
另外,我们也提供了简要的安装使用文档 [3] 以及详细的 API 文档 [4] 供开发者参考。
安卓混合推送全面升级
三月份我们全面升级了混合推送的第三方依赖,以修复底层库的 bug,和支持厂商的新功能与接口。最新版本混合推送的底层依赖如下:
华为:'4.0.2.300'
小米:'3.7.5'
Oppo:'2.0.2'
Vivo:'2.9.0.0'
我们同时也更新了文档和 demo,欢迎大家尽快升级体验。
文档的新变化
上个月我们对文档做了几点改进:
REST API [5] 文档的国际化基本完成,除了常用的存储、云引擎、即时通讯功能之外,我们还加入了搜索和短信的文档内容,相信能给英文环境的开发者带来更便捷的体验;
中文知识库增加了更多常见问题,并且还加入了「产品动态 [6]」这一新章节,以方便开发者更好地了解 LeanCloud 的迭代进展,更快地同步信息;
内容推荐
Multipass 旋风教程
如果你打算尝试或者已经尝试基于容器简化本地项目环境配置,但又嫌弃 docker 用起来还是不够直截了当,那么可以试下 multipass。
常见问题
【数据存储】如何解决数据一致性或事务需求?
LeanCloud 目前并不提供完整的事务功能,但提供了一些保证数据一致性的特性,可以解决大部分的一致性需求:
在单个对象的一次 save 操作中,对多个字段的更新操作是原子地完成的。
使用 increment(原子计数器)可以原子地更新数字字段。
唯一索引 可以保证在一个字段上有同样值的对象只有一个。
有条件更新对象 可以仅在满足某个查询条件时进行更新操作;
在这个特性的基础上,你可以自己实现更加复杂的 两阶段提交。
在云引擎上还可以借助 LeanCache 来实现自定义的排他锁。
关于这个话题我们还录制了一期公开课视频:在 LeanCloud 上解决数据一致性问题 [7],其中有对上面这些特性的详细介绍,和解决常见场景的实例教程(包括实现两阶段提交)。
【即时通信】即时通信如何获取在线用户列表以及用户的在线时长?
我们提供了 客户端上下线 Hook,开发者可以利用这两个 Hook 函数,结合云缓存来完成一组客户端实时状态查询的 endpoint。
_clientOnline
客户端上线,客户端登录成功后调用。
_clientOffline
客户端下线,客户端登出成功或意外下线后调用。
具体实现步骤是通过 Hook 拿到 clientId 的在线状态,将这些状态存储到 LeanCache 中。客户端定期查询云函数来获得用户的在线状态。具体可以参考文档:即时通讯中的在线状态查询 [8]。
【推送】离线推送通知服务里,_Installation 是如何与 _User 里的用户 id 关联的?
用户登录即时通信系统以后,服务器会将用户的 client id 保存在登录设备的 _Installation 表的 channels 字段里,从而完成关联。当用户离线,有离线消息需要推送时,服务端会去 _Installation 表内找到 channels 字段包含目标 client id 的设备来完成推送。
【云引擎】如何访问云引擎预备环境中托管的网站?
需要在控制台手动绑定一个 stg- 开头的域名。stg- 开头的自定义域名(例如 stg-web.example.com)会被自动地绑定到预备环境。
更多详情参考:域名绑定指南 [9]。
资料链接:
[1] Swift SDK:https://url.leanapp.cn/7kIITlp
[2] Java Unified SDK:https://url.leanapp.cn/y4DdFA1
[3] 安装使用文档:https://url.leanapp.cn/DVLLuiN
[4] API 文档:https://url.leanapp.cn/vGbLh7A
[5] REST API:https://url.leanapp.cn/csra0HT
[6] 产品动态:https://url.leanapp.cn/VvuxTFD
[7] 在 LeanCloud 上解决数据一致性问题:https://url.leanapp.cn/Czy2ih0
[8] 即时通讯中的在线状态查询:https://url.leanapp.cn/TTIqHj3
[9] 域名绑定指南:https://url.leanapp.cn/4gu9iUv
end
LeanCloud,领先的 BaaS 提供商,为移动开发提供强有力的后端支持。更多内容请关注「LeanCloud 通讯」