unipush2统一推送uni

uni-push是DCloud推出的、全端的、云端一体的统一推送服务。

push,指服务器主动向客户端发送消息的技术。无需客户端持续轮询服务器,即可获得即时数据。

轮询有很多弊端:1)客户端应用必须实时在线;2)手机端耗电严重;3)服务器负载高且浪费资源

提醒:web浏览器的webnotification其实是一个本地通知栏功能,浏览器厂商没有提供push通道。

当客户端在线时,push通过socket协议实现。当客户端离线时,服务器找不到客户端,开发者无法自己实现推送,只能依托手机操作系统、小程序底层提供的离线消息推送,调用指定的手机厂商或小程序厂商的服务器接口来发送消息。

所以一个push系统需要3部分协作:开发者的业务服务器+专业push服务器+开发者的客户端应用。

其主要流程是:

如果开发者把上述每个平台的客户端和服务器的SDK都对接一遍,还自己处理没有push服务的中小品牌手机,那过于困难了。所以业内有专业的推送服务厂商把各种手机厂商的通道封装成一套统一的API,如个推(属于上市公司每日互动);同时这些三方专业推送厂商还提供了高速socket通道。当应用在线时,也可以直接通过socket下发消息。否则开发者需要写很多判断代码、搭建socket服务器、处理在线时和离线时各种差异。

DCloud与个推(A股上市公司每日互动)深度合作,为uni-app的开发者提供了比传统方案便利甚多的统一推送方案uni-push2,利用云端一体的优势,同时提供基于uniCloud的push服务器和基于uni-app的push客户端,两者高效协同,极大的简化了push的使用。

注:uni-push的服务器稳定性是由阿里云serverless、腾讯云serverless、个推来保障的,都是日活过亿的上市公司,无需顾虑稳定性。

如下图所示:首先开发者的uniCloud应用服务器向uni-push服务器发送push消息,然后

总结下uni-push提供的功能:

注意:app申请创建通知栏消息、web申请弹出通知,均会由操作系统或浏览器自动弹窗询问用户是否同意。小程序下需要手机用户主动发起订阅行为,才能送达消息。

uni-push即降低了开发成本,又提高了push送达率,还支持全平台,并且免费,是当前推送的最佳解决方案。

uni-push本身并不收费,实际使用中需要依赖uniCloud云服务,而uniCloud价格很实惠:

可见价格之低,几乎可以忽略不计。

即:最高(1*0.0133+3*0.015)/10000=0.00000583元/每次(注:给你的应用的所有注册用户群发消息算一次)

有了uni-push,开发者不应该再使用其他push方案了。但我们发现很多开发者有误解,导致还在错误使用其他推送。

按照国家法律要求,所有提供云服务的公司在用户使用云服务时都需要验证手机号。

关联服务空间说明:uni-push2.0需要开发者开通uniCloud。不管您的业务服务器是否使用uniCloud,但专业推送服务器在uniCloud上。

开通完成后,后续仍可以在这里修改以上信息。

开通App的完整流程较多,但开通web和小程序的流程比较简单,即开即用。可以快速将uni-app项目运行到浏览器或小程序体验。

仅APP端支持,当应用被用户关闭,或者运行到后台时,手机厂商为了省电或释放内存,会终止App后台联网。

消息将通过不会离线的手机厂商通道,下发到手机系统推送服务模块;

此时客户端会自动创建通知栏消息,展示在系统消息中心(如图所示)但客户端监听不到消息内容;当用户点击通知栏消息后,会将APP唤醒此时APP才能监听到消息内容。

当应用在线时,不会创建“通知栏消息”,此时客户端会立即监听到消息内容。

如果你希望当应用在线时,也通过“通知栏消息”来提醒用户;可以通过以下两种方式实现:

个推的客户端类型是仅根据使用的sdk类型来判断的,分为两类:

uni.getPushClientId({success(res){console.log(res);},fail(err){console.log(err)}})注意:此时由于运行的标准基座中,不包含uni-push模块,如果运行会报错,不用着急继续往下操作

在manifest.json中配置完之后,需要重新编译项目,即:点击如图重新运行按钮

uni-push在web和小程序端就是个websocket;各家小程序平台,均要求在小程序管理后台配置小程序应用的联网服务器域名,否则无法联网。

根据下表,在小程序管理后台设置socket合法域名。下表的域名均为个推自有域名,并非DCloud所属域名。

示例代码:

APP端真机运行注意:

而uni-push2.0,开发者无需关心证书、签名、服务器端文档,使用简单。云函数通过uni-push服务端sdk,即uni-cloud-push的API即可直接执行uni-push所有操作。

uni-push的服务端sdk的体积不小,没有内置在云函数中。在需要操作uni-push的云函数里,开发者需手动配置uni-cloud-push扩展库。(uniCloud扩展库,是uniCloud自带API中不常用且包体积较大的部分,被独立为扩展库,可以由开发者自行选择是否使用该扩展库)

下面是一个开启了uni-cloud-push扩展库的云函数的package.json示例,注意不可有注释,以下文件内容中的注释仅为说明,如果拷贝此文件,切记去除注释

{"name":"test","version":"1.0.0","description":"","main":"index.js","extensions":{"uni-cloud-push":{}//配置为此云函数开启uni-cloud-push扩展库,值为空对象留作后续追加参数,暂无内容},"author":""}注意:扩展库依赖3张opendb表:opendb-tempdata,opendb-device,uni-id-device。公测版uniCloud,执行扩展库会自动创建。如果你使用的是uniCloud正式版需要自己创建这3张表。

云函数中调用uni-cloud-push扩展库的sendMessage方法,向客户端推送消息

//简单的使用示例'usestrict';constuniPush=uniCloud.getPushManager({appId:"__UNI__XXXXXX"})//注意这里需要传入你的应用appId,用于指定接收消息的客户端exports.main=async(event,context)=>{returnawaituniPush.sendMessage({"push_clientid":"xxx",//填写上一步在uni-app客户端获取到的客户端推送标识push_clientid"title":"通知栏显示的标题","content":"通知栏显示的内容","payload":{"text":"体验一下uni-push2.0"}})};在云函数文件目录右键(或按快捷键ctrl+r)->运行-本地云函数,此时你的客户端将收到推送消息(应用关闭时为通知栏消息,在线时代码监听到推送消息)

如果按步骤操作完毕,此时你运行起来的uni-app客户端就会打印出“收到推送消息:xxxx”。如遇异常,可以重新运行一遍。

上一章,演示了基于“客户端推送标识”的消息推送,仅为方便理解和体验;在业务开发中,通常是指定消息的接收人,而不是某个设备。

注意

以上内置逻辑,在uni-id-pages下,会自动判断是否启用push模块自动执行;但uni-id-pages-x下,需手动在:/uni_modules/uni-id-pages-x/init.uts导入autoReportPushClientId模块。

THE END
1.锁屏推送内容如何取消安卓锁屏前面的推送怎么关闭 1. 第一步,打开手机里的设置; 2. 进入设置后,找到并点击【应用和通知】; 3. 这弹出的界面,点击【应用和通知】选项; 4. 进入通知管理后,就可以看到我们手机里安装的app了,开启了通知的app后面会显示【已开启】,点击软件进去;https://www.wanpo.com.cn/post/g2lxr782k.html
2.微信服务通知怎么关闭1、网络信息知识大总结 2023-11-18 · 贡献了超过1025个回答 关注 我关闭微信服务通知的方法有多种,常见的方式有关闭所有服务通知、关闭特定服务通知、关闭特定公众号通知等。 快来试一试吧。 2、这个的话,把微信服务通知中的「消息通知提醒」关闭即可。打开手机微信,点击搜索图标。在搜索框中,输入服务通知,点击进https://www.yiy2.com/now/5306.html
3.vivo怎么关掉推送引擎vivo怎么关掉推送引擎 vivo手机怎么关闭推送通知 vivo手机怎么关闭推送通知? 1. 在手机主界面找到【设置】选项并打开。 2. 点击【状态栏与通知】选项。 3. 点击【管理通知】。https://www.riahome.cn/s/ero4xzw03.html
4.手机经常收到推送消息通知,如何彻底关闭?教你设置方法通过以上步骤,你就可以彻底关闭手机频繁推送的消息通知了。这样一来,你的手机将变得更加流畅,电池续航也会得到提升。同时,这也有助于减少不必要的干扰,让你更加专注于手机的实际使用。学会了吗?快去操作一下吧!如果你觉得这个教程对你有帮助,别忘了点赞、收藏和分享哦!这样可以让更多的人受益。https://baijiahao.baidu.com/s?id=1804183250991697617&wfr=spider&for=pc
5.手机屏幕上的推荐服务怎么关闭如何关闭手机应用的推送消息手机屏幕上显示的推荐服务通常由操作系统或应用程式提供,其关闭方式可能会根据手机的品牌和型号有所不同。以下是一些通用的关闭步骤: 针对采用安卓操作系统的手机,你可以进入“设定”-“应用程式管理”-“全部应用程式”-“推荐服务”或“推荐插件”等相关选项,之后选择“停用”或“关闭”。 https://www.duote.com/tech/202403/551730.html
6.微信如何关营销推送服务手机软件3.在消费者保护页面里有一个“隐私保护”,在它的上面点击。 4.接下来,在隐私保护界面里下方找到“营销服务设置”,并在上面点击进入。 5.最后,在营销服务设置页面里有一个“营销推送服务”,在它的后面点击开关按钮设置为关闭,微信将不能再以短信等形式来对我们推送营销服务。https://m.php.cn/faq/667624.html
7.狐友隐私政策我们会将以下信息推送到您的手机桌面: (1)您的粉丝、与您互关好友的私信、群聊消息; (2)关注您、@您、转发和评论您的动态的消息提醒; (3)我们的活动消息。 (4)为保障推送消息触达的及时性,我们会接入厂商或者合作方PUSH SDK,在您使用推送服务时,程序将进行链路调节,相互促活被关闭的推送进程,从而保障推送消http://h5-test.sns.sohu.com/hy-super-h5/in/protocol/privacy
8.小米6简单几步:关闭手机里的广告~~今天就以最新发布的 性能怪兽 搭载MIUI8.2.13的 小米6 和大家分享如何关掉MIUI中的广告 在去掉这些广告之后 想必你的小米手机运行起来也会更加清爽~ 1.关闭 msa 广告推送服务 进入设置 → 更多应用→ 在程序列表中找到名为“msa”的程序(图标是 安卓机器人) →将“自定义通知“关闭”(这个程序的通知全部都是广https://web.vip.miui.com/page/info/mio/mio/detail?app_version=dev.20051&postId=3145080
9.10手机电池耗电的最佳原因和解决方案如此之快更改新的稳定无线或蜂窝连接。 如果没有,您可以关闭Wi-Fi搜索选项以修复iPhone电池耗尽。 电子邮件isuue导致iPhone电池快速耗尽 原因2:电子邮件推送通知 设置内置邮件应用程序时,会自动启用电子邮件推送通知。 因此,您将收到每封新电子邮件的提醒。 但是,您的智能手机始终保持接触并使电池受损。 https://www.apeaksoft.com/zh-CN/ios-recovery-mode/iphone-battery-drain.html
10.手机/平板通知栏应用推送无法关闭升级通知无法关闭手机/平板通知栏应用推送无法关闭、升级通知无法关闭 问题现象 手机/平板通知栏应用推送无法关闭、升级通知无法关闭。 解决方案 通知栏左划通知消息,点击设置图标进入通知设置界面(窗口顶部会显示消息来源); 点击更多设置进入通知管理(当前通知的类型会闪烁); 选择关https://www.hihonor.com/cn/support/content/zh-cn00445092/
11.怎么关掉手机上的推送消息提醒1、通过手机系统设置,首先打开手机桌面上的设置选项。 2、接下来在打开的设置页面中,我们找到下面的应用程序选项。 3、在打开的程序列表中,选择你想要关闭消息推送的APP。 4、在打开的应用信息界面中,我们选择下面的通知选项。 5、在通知选项中,我们可以将对应的消息类型后的 √ 去掉。 https://m.qizuang.com/gonglue/dzjxwd/121074.html
12.手机如何卸载推送服务器?Worktile社区所以在卸载之前,请仔细考虑是否真的需要将推送服务器应用程序从手机上移除。 另外,如果你只是想停止接收来自推送服务器的通知和消息,而不是完全卸载它,你可以在手机的设置菜单中找到该应用程序,并关闭它的通知权限。这样,你仍然可以保留该应用程序的功能,而不会收到任何通知。https://worktile.com/kb/ask/1131976.html
13.COCOS2DX实现线程后台运作与推送怎么关闭手机软件推送资源本主题聚焦于如何利用COCOS2DX实现线程后台运作以及推送通知功能,特别是在用户按下HOME键后进入后台模式时。这涉及到iOS的多任务处理和推送服务(例如JGPush)的集成。 让我们深入理解iOS的后台运行模式。iOS设备支持三种主要的后台模式:声音播放、位置更新和后台刷新。对于游戏应用,尤其是COCOS2DX游戏,通常会使用“声音播放https://download.csdn.net/download/kaitiren/7930749
14.小米达人手机资讯太多推送太多?简单几步教你通通关闭【小米达人】手机资讯太多推送太多?简单几步教你通通关闭 不久前,小米迎来了6周岁的生日,MIUI作为小米手机的核心系统,在6年间受到越来越多人的喜爱,用户数量稳步上升,每周的坚持更新让MIUI被称为活的系统,橙色星期五也为大家每周的最后一个工作日增添了色彩。https://www.xiaomi.cn/post/1787834
15.360手机浏览器隐私政策为提升您的小说阅读体验,我们提供书架功能,您可以将网页小说或本地小说添加到书架。其中添加本地小说时需要您授权存储权限,以便读取您的手机文件,方便您选择并添加本地小说。您添加的网络小说或本地小说不会上传数据到360服务器,仅存储在本地。如果您想要关闭存储权限,可以通过“设置-权限管理-存储权限”进行设置。 http://h5.mse.360.cn/browser/yszhc.html
16.如何关闭手机所有广告推送?只需5招,彻底告别广告打扰如果你也想让你的手机看到的广告少一些,或者是完全看不到广告,我们就可以关闭一些应用的广告推送。如果你只关闭一两个地方,是起不到任何作用的。 首先,我们来关闭一下手机设置里面默认开启的一些广告开关,打开手机的设置找到隐私,打开之后可以看到有权限管理,定位服务,隐私空间和广告与隐私等等。 https://www.360doc.cn/article/56057878_1036489015.html
17.手机新闻推送怎么关闭手机新闻声音通知怎么关闭→MAIGOO知识摘要:有不少人会在手机里下载一些新闻类app,用来了解一些时事,但是在使用过程中发现,这类app的推送过于频繁,影响到了正常的使用,于是想知道手机新闻推送怎么关闭或者是手机新闻声音通知怎么关闭。接下来本文将简单介绍这两种情况的关闭方法,还在受其困扰的你赶紧点进来看看吧! https://m.maigoo.com/goomai/276448.html