uniapp:3分钟搞定在线推送uni.createPushMessage,uni.onPushMessage

这篇具有很好参考价值的文章主要介绍了uniapp:3分钟搞定在线推送uni.createPushMessage,uni.onPushMessage。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

安卓端 在线推送功能演示:

1、dcloud后台申请开通uniPush

dcloud后台

(1):找到我的应用
uni.createpushmessage,uniapp,uni-app,android,android studio
(2):点进去后,各平台信息,点击新增
uni.createpushmessage,uniapp,uni-app,android,android studio
(3):填写包名,签名等信息
uni.createpushmessage,uniapp,uni-app,android,android studio
包名:就是你原生APP-云打包 时的Android包名
SHA1和SHA256:参考我的另一篇文章,详细介绍了如何生成证书,和获取证书信息链接地址
MD5:上一篇文章中使用JDK获取到SHA1和SHA256,获取不到MD5,找找资料发现说是因为JDK版本过高,降低版本后也无法解决这个问题,后来从官网了解到,获取安装包的签名,每2位中间间隔一个冒号就是md5。
所以这里参考另一篇文章,如何获取APP签名
这里需要注意:你的APP必须安装到手机中之后,在使用这个工具,才能获取到签名
uni.createpushmessage,uniapp,uni-app,android,android studio
获取到的签名每2位字母中间间隔一个 :就可以了。
(4):选择uniPush2.0,选择对应的项目,平台选择安卓,Android包名就是上一步填写的包名信息,会自动生成到下边2个框内
uni.createpushmessage,uniapp,uni-app,android,android studio
(5):添加云服务空间
uni.createpushmessage,uniapp,uni-app,android,android studio
uni.createpushmessage,uniapp,uni-app,android,android studio
uni.createpushmessage,uniapp,uni-app,android,android studio
测试阶段,我们就选免费试用一个月。并确认开通。(完成后需要等待10分钟左右)10分钟后,返回(4)关联云空间,并开通应用。
(6):以上内容全部完成后,消息推送 即可手动推送消息。
uni.createpushmessage,uniapp,uni-app,android,android studio
写到这里 uniPush 的申请开通教程已完成

2、配置manifest.json

该项目仅供测试,所以没有做离线推送(离线推送牵扯到应用上架等内容。等以后做这块内容的再来更新)
uni.createpushmessage,uniapp,uni-app,android,android studio

3、app.vue

(1):首先要保证我们用到的通知管理权限要开启。permission.js

import permision from "@/js_sdk/wa-permission/permission.js"
export default {
	onLaunch: function() {
		var main = plus.android.runtimeMainActivity();
			var pkName = main.getPackageName();
			var uid = main.getApplicationInfo().plusGetAttribute("uid");
			var NotificationManagerCompat = plus.android.importClass(
				"android.support.v4.app.NotificationManagerCompat"
			);
			//android.support.v4升级为androidx
			if (NotificationManagerCompat == null) {
				NotificationManagerCompat = plus.android.importClass(
					"androidx.core.app.NotificationManagerCompat"
				);
			}
			var areNotificationsEnabled = NotificationManagerCompat.from(main).areNotificationsEnabled();
			// 未开通‘允许通知’权限,则弹窗提醒开通,并点击确认后,跳转到系统设置页面进行设置
			if (!areNotificationsEnabled) {
				console.log('请开启权限:通知管理-允许通知')
				uni.showModal({
					title: '权限提示',
					content: '请前往 通知管理 开启权限',
					confirmColor: '#7287EA',
					success: function(res) {
						if (res.confirm) {
							permision.gotoAppPermissionSetting() // 跳转到APP设置,用户手动开启通知权限
						} else if (res.cancel) {
							console.log('用户点击取消');
						}
					}
				});
			}
	}
}

(2):开始创建通知栏uni.createPushMessage
为了能够及时收到用户发来的消息,所以需要在主进程中写一个轮询,查到有新消息就创建系统通知栏

setInterval(() => {
	let session_id = uni.getStorageSync('session_id') ? uni.getStorageSync('session_id') : '';
	// console.log(session_id)
	this.$http.post("/api/Chat/msgNotify", {
		id: session_id,
	}).then(res => {
		if (res.code == 1) {
			if(session_id == data.session_id){
				// 这里为什么要判断:因为当A--B进行会话,我肯定不希望B发送的消息也创建系统通知栏,
				// 进入会话页面要向本地存储session_id,离开会话页面就清除本地的session_id
				// 所以要判断,如果当前的会话id == 接口返回的会话id 则不提醒。
				return
		}else{
				uni.createPushMessage({
					icon:require('./static/logo58.png'),
					title:title,
					content:content,
					payload:{
						// 这里地方你可以随意组合你想要的数据,uni.onPushMessage会监听到你组合的数据。
						session_id:res.data.session_id,
						page:'/pages/index/index?id='+res.data.session_id
					},
					success:(res=>{
						console.log('成功创建')
					}),
				})
			}
		}
	})
}, 4000);

(3):监听通知栏被点击,当通知栏被点击后会打开APP,可以拿到上一步自己组合的数据,进行一些操作

uni.onPushMessage((res) => {
	uni.removeStorageSync('session_id');
	let url = res.data.payload.page;
	console.log('监听推送消息-----' + res)
	setTimeout(() => {
		this.$goBack(2, url)//OK=== 跳转到聊天页面
	}, 1000)
})

以上内容已完成。有什么不理解欢迎给我留言-.-文章来源地址https://www.toymoban.com/news/detail-802059.html

到了这里,关于uniapp:3分钟搞定在线推送uni.createPushMessage,uni.onPushMessage的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • EasyExcel 三分钟搞定导入导出

    前言:本文章教你从零开始,三分钟搞定excel单sheet导出、导入、多sheet导出、导入、excel模板导入单个sheet、多个sheet,废话不多说,直接上代码 1.引入依赖 2.工具类-ExcelHandler 3.工具类-ExcelTemplateEnum 4.工具类-UploadDataListener 5.实体类-ExcelVO 6.业务层-ExcelService 7.实现层-ExcelService

    2024年02月15日
    浏览(25)
  • 教你1分钟搞定2小时字幕

    摘要: 本文将介绍如何使用录音文件识别极速版给无字幕视频自动生成字幕。 本文分享自华为云社区《利用录音文件极速版为视频生成字幕》,作者:戈兀。 越来越多的人们使用抖音、B站等视频app,记录、分享日常生活,随之互联网上产生了大量的长、短视频。字幕是影响

    2024年02月06日
    浏览(77)
  • (五分钟搞定)ElasticSearch windows安装

    简介: Elasticsearch 是位于 Elastic Stack 核心的分布式搜索和分析引擎。Logstash 和 Beats 有助于收集、聚合和丰富您的数据并将其存储在 Elasticsearch 中。Kibana 使您能够以交互方式探索、可视化和分享对数据的见解,并管理和监控堆栈。 Elasticsearch 为所有类型的数据提供近乎实时的

    2024年01月16日
    浏览(29)
  • 5分钟搞定docker安装elasticsearch

    一台安装了docker的服务器 1、拉取es镜像 2、创建es所需的目录 3、编辑es配置文件 配置内容: 5、下载分词插件并解压 6、docker启动es 7、安装es可视化界面 由于es没有自己的可视化界面,所以我们需要用docker安装一下elasticsearch-head来可视化 拉取elasticsearch-head 启动elasticsearch-hea

    2024年02月15日
    浏览(30)
  • IOS - 5分钟搞定一个APP

    URL拦截,我们可以这样改:

    2024年02月11日
    浏览(35)
  • 五分钟搞定Docker安装ElasticSearch

    项目准备上ElasticSearch,为了后期开发不卡壳只能笨鸟先飞,在整个安装过程中遇到以下三个问题。 Docker安装非常慢 ElasticSearch-Head连接出现跨域 ElasticSearch-Head操作报出406错误码 目前咔咔对Docker的理解还只是个皮毛,对于不了解的东西就要多多使用,使用的多了自然而然也就

    2024年02月03日
    浏览(47)
  • 无线路由密码破解:只要五分钟搞定

    迅驰密钥五分钟破解法  1、破解软件简介  WinAirCrackPack工具包是一款无线局域网扫描和密钥破解工具,主要包括airodump和aircrack等工具。它可以监视无线网络中传输的数据,收集数据包,并能计算出WEP/WPA密钥。 2、实验环境系统组成  2.1 硬件环境  选用具有WEP和WPA加密功能的

    2024年02月05日
    浏览(26)
  • ChatGPT + MindShow 三分钟搞定PPT制作

    制作一份“通用性”的PPT需要几步? 三步 接下来,我们借助ChatGPT和MindShow,大概三分钟完成操作,就能制作出来完胜大部分人的PPT文件。具体可看文末效果导示。 解锁更多AIGC(ChatGPT、AI绘画)玩法,学习模型调教方法。加: keeepdance ,备注:chatgpt,拉你进群。 进入chatgp

    2024年02月05日
    浏览(153)
  • 把网站网页直接做成小程序3分钟搞定

    现在百度大力发展移动端,所以百度智能小程序有一定的流量优势,还可以进入信息流和贴吧推广,同时还能获得网站快速收录权限,昨天已封装成功,今天跟大家分享把个人网站封装生成百度小程序的方法。 一、生成小程序的前提条件 1、百度小程序暂不支持个人开发,所

    2024年02月09日
    浏览(22)
  • 如何实现电脑通过手机上网?1分钟搞定!

    【想用电脑看电影,但是附近没有Wi-Fi。朋友说可以说电脑可以通过手机上网,但我们都不知道具体如何操作,有没有小伙伴可以教教我们。】 在没有Wi-Fi或有线网络接入时,你可以使用手机来为电脑提供上网服务。那怎样才能实现 电脑通过手机上网 ?本文将介绍如何快速地

    2024年02月14日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包