JavaScript SDK v3 的 API 与其他平台,一加将在一加5及以上机型中支持统一推送服务

摘要即时通讯云服务商环信宣布举办首届编程大赛,口号是“让世界感受中国程序员的力量”,参赛时间为2016年3月7日至4月15日。前言环信联合国内专业的技术测评平台猿圈共同推出“首届环信编程大赛”,让世界感受到中国程序员的力量。本次环信编程大赛由线上初赛、决赛、颁奖典礼三个环节组成。其中初赛环节,通过猿圈网站在线测评平台进行编程挑战。决赛环节基于环信sdk开发一款移动端app,比赛结果将以初赛及决赛的综合评分决定。大赛奖品一等奖8000元,二等奖5000元,三等奖2000元决赛前10可获得限量版瑞士军刀背包一个3.前五十可获得定制版精美T-shirt或卫衣还有更多神秘礼品等着大家,比如文件袋,多功能便携工具卡,环信CEO签名编程书籍等。日程安排参赛对象:全国程序员(不限年龄,职业等)比赛时间:3月7日-4月15日初赛方式初赛题目:在猿圈平台上进行在线答题(Android/ios)参赛步骤:在
应用

摘要即时通讯云 LeanCloud 下一代 JavaScript 即时通讯 SDK 的 3.0 beta
版本发布了!以下为来自即时通讯云 LeanCloud官方的消息:今天我们高兴地宣布
LeanCloud 下一代 JavaScript 实时通讯 SDK 的 3.0 beta
版本发布了!我们不仅为这一新版本(以下简称
v3)带来了性能提升,还加入了很多令人激动的新功能和改进,包括单点登录、未读消息通知、按条件查询对话、自动更新的对话和消息状态、自定义消息类型、更好的断线重连机制,以及重新设计的
API 等等。重新设计的 API在 v3 中我们改进的重点是 SDK
的易用性,为此我们设计了全新的
API。除了一些细小的命名与特性的区别,JavaScript SDK v3 的 API 与其他平台
SDK 的 API
已经统一。随着平台差异性的减少,开发者在为各平台应用设计与实现阶段所投入的工作量也会降低。相较于
v2,v3 API
对易用性的改进体现在以下几个方面:自动更新的对话和消息状态Promise
与异常处理新的事件模型可扩展的消息类型系统自动更新的状态v2
中封装了各种操作指令与事件,但是在真实的项目中,你仍然需要额外维护一些状态,这些状态包括了:对话:成员列表、未读消息数、最后消息时间、最后消息(如果有)消息:发送状态v3
中这些状态都会由 SDK
自动更新。这将大大简化业务逻辑的代码,比如当你使用类 MV*
框架时,你可以直接将这些实例与 View 层绑定,就像下面这个使用 Angular
展示消息列表的例子一样:<ul class=”list-group”> <li
class=”list-group-item” ng-repeat=”conversation in conversations”>
<span class=”badge”>{{conversation.unreadMessagesCount}}Live
demo:
与异常处理所有的异步 API 将返回 Promise 实例。相比于 v2
中回调的方式,Promise 将会避免回调嵌套过深的问题,同时解决了 v2
异步操作异常被 SDK 隐藏的问题。// 使用 Promise
以链式方法登录、创建会话、发送消息realtime
.createIMClient(‘three-bodies’) .then(tom => tom.createConversation({
member: [‘the-earth’] })) .then(conversation =>
conversation.send(new TextMessage(‘不要回答!’)) .then(message => {
/* 成功 */ }) .catch(error => { /* 处理异常 */ });新的事件模型v3
中的事件 API 使用的依然是 Node.js 中EventEmitter的设计。与 v2
中所有事件都在RealtimeObject上派发不同,v3
中不同类型的事件会在不同的层面派发:网络状态相关的事件在Realtime实例上派发。某个客户端相关的事件在该IMClient实例上派发。某个对话相关的事件在该Conversation实例上派发,同时也会在其隶属的IMClient实例上派发。详细的事件列表与描述,请参阅API
文档的 Events
部分。可扩展的消息类型系统自定义一个消息类型从来没有像现在这么简单:@AV.messageType(3)@AV.messageField(‘foo’)class
CustomMessage extends AV.TypedMessage { constructor(foo) { super();
this.foo = foo; }}Live
demo:
TypeScript 或者 Babel 才能运行。这里还有个ES5 的例子。同时,基于
LeanCloud 存储服务,SDK
还提供了常见的富媒体消息类型(文件、图片、视频、音频、位置)。为了避免实时通讯
SDK 与存储 SDK 的耦合,这些富媒体消息类型是一个独立发布的
package,关于富媒体消息的详细内容请参阅《JavaScript 实时通信开发指南 –
富媒体消息》。新增功能JavaScript 的 API 与其他平台 SDK 的 API
的统一意味着以下功能已得到支持:单点登录「未读消息通知」模式对话条件查询构造器(ConversationQuery)断线重连机制SDK
的连接层也被重新设计,断线重连机制变得更加可靠,存在于 v2 中的 crash
与漏报已被消除。除了disconnect与reconnect,v3
中增加了两个新事件schedule与retry,通过它们你就可以了解到 SDK
在断线重连的过程中正在做什么,进而向用户给出更友好的提示。关于断线重连机制的细节请参阅《JavaScript
实时通信开发指南 – 网络状态响应》。性能提升v3
还包含了一些底层上的改进:二进制协议 ProtoBuf
的引入使传输消息时的流量消耗减少了 70%。多个 Client
实例共享一个长连接的措施减少了 SDK 消耗的资源。从 v2 升级v3 API 不兼容
v2。对于正在使用 v2 的用户,尽管 v2 中所有的 API 在 v3
中有对应的实现(参见《JavaScript 实时通信 SDK v3
迁移指南》),我们仍然需要提醒,迁移到 v3
意味着一定的迁移成本。此外,必须指出的是,v3 去掉了对 IE10
及以前版本的支持,如果需要兼容这部分运行环境,请继续使用 v2。在 v3
正式发布后,v2 依然会得到至少 6
个月的安全更新。LeanCloud官网

摘要据统一推送联盟消息,近日,华为、OPPO、一加、荣耀、realme五个品牌的手机已完成统一推送服务开发。以下资讯来自统一推送联盟官方消息:近日,统一推送联盟已收到华为技术有限公司、广东欧珀移动通信有限公司、深圳市万普拉斯科技有限公司、深圳市锐尔觅移动通信有限公司四家公司的的进度确认。目前,四家公司均已经按照联盟标准《T-UPA0002-2019统一推送接口层规范》最新版本完成了开发工作。这意味着,符合联盟标准的统一推送服务将覆盖华为、OPPO、一加、荣耀、realme五个品牌的手机。华为、荣耀将首先在EMUI
10.0的正式版本中支持统一推送。这意味着华为新发布机型将全部支持统一推送,未来存量机型也将随着系统更新逐步支持;OPPO将在ColorOS
3.0以上版本支持统一推送,服务上线后可覆盖全机型的88%,并将持续适配更多机型,预计在2019年12月31日可覆盖全机型的93%;一加将在一加5及以上机型中支持统一推送服务;realme将覆盖全部机型。根据联盟前期组织的相关摸底测试,相比于App自建通道,统一推送服务将大幅降低手机待机功耗30%-45%(4G网络、手机息屏状态),大幅减少系统内存占用。后续联盟将持续跟踪并公布厂商统一推送服务上线情况及具体接入方案,并对统一推送的实网性能开展测试。按照联盟公布时间表,联盟计划于2019年底前推动国内主流厂商支持统一推送标准。这将极大提升我国消费者的手机使用下的使用体验,减少开发者对于推送服务接入成本。未来,联盟将持续聚焦移动互联网生态下的用户体验和开发者痛点。一方面,联盟将推动推送消息中的不良内容和消息打扰的治理,基于行业自律为用户创造更好的移动互联网环境和氛围。另一方面,联盟将推动“推必达”能力的演进和普及,打造我国自主基础创新技术和全新应用生态。