炫意html5
最早CSS3和HTML5移动技术网站之一

大白话+图解uni-push

什么是push
一种服务端向在线或者离线的客户端, 实时通信的技术。

push现状
ios系统的苹果手机可以直接将push消息从开发者服务器发给苹果服务器,完美送达苹果手机。
而由于Google的Push服务FCM被墙,国内的应用不能通过FCM及时向用户发送营销消息。而第三方推送仅能在APP在线时完成推送,APP一旦被关闭(用户自己手动关闭,或手机的节电设置自动关闭了应用)就收不到消息了。
另一方面安卓手机的厂商多,国内就有5大手机厂商:华为、小米、vivo、oppo、魅族。这些厂家也推出了能在应用处于离线状态也能收到push消息的服务。而对应APP开发者来说每个手机厂家的服务都得集成开发一遍,这么多平台,工作量会非常巨大,管理维护也很麻烦。

什么是uni-push
3.1 技术上:DCloud再uni(统一)了一下,推出uni-push,开发者只需要开发一次。系统会自动在不同手机上选择最可靠的推送通道发送push消息,保障送达率。
3.2 价格上:uni-push的底层是“个推”(A股上市公司),个推的产品vip版是收费的;而个推是DCloud的股东,之间达成战略:将原本收费的个推vip版推送服务,完全免费地开放给DCloud旗下产品开发者使用。
这比市面上同类产品有了根本上绝对的优势,也成为了开发者们选择uni-app的一个理由。

push消息类型
首先消息分在线和离线。在线分透传和非透传,离线只能接收非透传消息。
前者好理解,什么是透传呢?以微信聊天为例,当你打开微信聊天界面时,你收到了好友给你发送消息。而在你的手机消息通知栏没有通知。这就是一种透传的表现。当你把应用切到后台(无论这个时候APP进程是否被杀死)如果你收到push消息,你的手机系统消息通知栏就会出现一条消息通知。你点击它一般就会唤醒app,或打开每个网页。这就是非透传消息通知。
那么透传消息能否也手机消息中心创建通知呢?答案是肯定的,你可以在收到透传消息的时候根据自己的业务设计选择创建。

如何在uni-app下合理地使用push
如图
uni-push流程图

unicloud版uni-push插件
支持:unicloud或传统(PHP、java、python、c等)语言开发为后台的APP。
插件包含前后端代码,前后端用都是js写法的一个APP PUSH消息中心管理系统。
如果你的系统之前非unicloud写的可以将本插件url化为api进行调用访问,转url教程:https://uniapp.dcloud.io/uniCloud/http
如果您使用unicloud为后台,只需要改个config配置就能直接使用了。
链接:https://ext.dcloud.net.cn/plugin?id=1680

回答

炫意HTML5 » 大白话+图解uni-push

Java基础教程Android基础教程