产品与优势 #
多平台 #
支持主流操作系统,Android、IOS、Windows、MacOS、Linux
支持跨平台开发框架,Uniapp、Electron、Qt
支持主流CPU架构,x86、arm、mips的32位/64位
支持所有浏览器(依赖websocket)
其他物联网设备、工控设备,可编译支持
兼容苹果、华为、小米、OPPO、VIVO、魅族、谷歌(FCM)厂商级推送
不只是简单的支持而已:
- 接口一致性:不同平台的接口高度一致,在不同平台开发时不会增加额外的学习成本。
- 数据格式一致性:无论是那个平台接收到推送消息数据格式相同的,最复杂的移动端和移动端厂商推送也是如此,也就是说无论是什么平台,什么开发语言处理消息的实现是一致的。例如:华为厂商通道推送的通知栏消息,点击通知栏触发的回调中的数据格式,和PC端或WEB端穿透收到消息推送的数据格式是一致的。
- 消息ID一致性:业务系统向推送系统发起推送请求时,业务系统会产生一个消息ID,推送系统也会产生一个消息ID,这就势必会有一个对应关系,增加了业务和消息之间的耦合度。UPush在接收业务系统的推送请求时,可由业务系统传递消息ID参数,这个消息ID在业务系统保持唯一性即可,客户端收到消息ID可直接进行业务操作,如果业务系统不传消息ID参数,UPush也同样会分配一个消息ID。
- 消息同步性:相同用户在不同平台的客户端消息保持同步。 用户在使用系统时,可在能有时登录网页端,PC端,有时登录手机端,无论是同时都在线,还是离线后再上线,不同平台的消息都是同步的。
网络通信 #
根据多年网络通信开发经验,自主研发的网络通讯协议,每个数据包动态密钥加密,可在一个端口上同时支持TCP、UDP、WS、WSS,在不同网络环境为推送提供安全可靠的数据传输,同时也降低了网络安全的维护成本。
在不同平台的客户端,实现了离线检测,断线重连,离线消息ActiveSync,保证了消息的实时性,完整性。
业务场景 #
业务场景全覆盖,无论是企业级应用OA、ERP、CRM等各种管理系统,还是互联网应用服务,IM即时通信服务都可以胜任。
应用于审批时,可以把流程ID当做订阅项,每走到一个节点把节点下的用户也订阅到流程ID,使用群组接口推送审批状态,在流程里的人都会收到通知,流程结束时删除流程ID的订阅项。
创建部门时,可以同步创建部门群组,用户无感知的加入到组织会话中。
系统中对用户有标签分类时,可以把标签ID作为订阅项,标签下的用户都订阅此标签ID,可对标签下的用户直接群发消息。
IM系统中好友关系,群组关系等社交元素相对于企业级应用中的组织架构,流程控制,权限管理等实现起来还是比较简单的,而且互联网应用对社交关系的设计根据自身产品定位又会有很大差异,所以把这部分交给客户去实现,把最复杂即时通信部分交给UPush,这样可以快速灵活的搭建出满足产品需求的IM系统。
用于IM服务时,可以设置用户之间,用户与群组的通知类型,设置联系人的别名,群成员别名,联系人和群组的用户画像,在调用推送接口时无需再关注这些元素,UPush通过自动装载技术把它们推送给客户端。
超级大群,群成员无上限,支持大规模的订阅发布,可用于各级政府部门,大型集团公司的组织群、通知、公告等。
扫码登录,在客户端二维码中包含pushToken,扫码成功后给登录服务器发请求,校验成功,根据pushToken把登录结果推送给客户端。(扫码支付也是同样的方式)
UPush的接口设计是团队在多年项目开发中的经验总结和积累实践出来的,实际的应用场景远不止这些,开发者可以在实际项目中去探索、实践、应用。
UniPush深度整合 #
UniPush是Uniapp中默认的推送模块,UPush的Uniapp插件不是对原生SDK简单的再封装,而是针对Uniapp开发的痛点进行重新开发的。
UPush开发阶段,无需自定义基座,即可使用正式包名测试推送,通知栏点击动作。
集成UPush原生扩展插件,在UniPush后台配置厂商推送,不需要额外的接口调用,不需再次对UPush配置厂商推送参数,云打包后即可接收厂商推送。
(不再单独维护Uniapp插件,可使用原生版本,也可以使用js sdk配合厂商推送)
通知栏自动装载 #
不同厂商手机系统推送通道的参数各不相同,又大同小异,而是市场上的已有的推送框架为了兼容各个厂商,又生怕遗漏某个细小的特性,推送复杂度有增无减。根据我们大量的项目经验,总结出客户关注的通知栏要素,UPush把这些参数化繁为简,但这还不够,我们设计是让开发人员连这些必要的参数都不需要关注,要让给手机推送和给其他平台推送做到无差异化,而且还保证了在面对客户特殊需求时的灵活性,真正的做到跨平台推送,是的这就是通知栏自动装载。详细内容请参考最佳实践。