【uni-app】uni-app之APP推送uniPush篇(七)

❤ 写在前面

如果觉得对你有帮助的话,点个小❤❤ 吧,你的支持是对我最大的鼓励~
欢迎关注我的公众号【有更多的前端教程】 或者来看 我的个人网站
【uni-app】uni-app之APP推送uniPush篇(七)_第1张图片


文章目录

  • ❤ 写在前面
  • ❤前言
    • ❤第一步
    • ❤ 第二步
    • ❤ 第三步
    • ❤第四步
    • ❤ 第五步


❤前言

APP推送使用的是uniPush


❤第一步

前往开发者中心进行厂商配置
【uni-app】uni-app之APP推送uniPush篇(七)_第2张图片

❤ 第二步

修改应用信息
如何使用公用证书,应用签名直接使用下发框框里面的(温馨提示:需要在打包的情况测试)
【uni-app】uni-app之APP推送uniPush篇(七)_第3张图片

❤ 第三步

Hbuilder里面需要在manifest.json的App模块配置,勾选上Push
【uni-app】uni-app之APP推送uniPush篇(七)_第4张图片

❤第四步

登录的时候登录uniPush

uniPush() {
	//#ifdef APP-PLUS  
	this.isOpenAuthority() //监测是否开启了通知权限
	var info = plus.push.getClientInfo();
	console.log('这是用户信息', info);//info里面包含了cid,后面测试可以用到
	this.bindAliasAndTag()
	/* 5+  push 消息推送 ps:使用:H5+的方式监听,实现推送*/
	plus.push.addEventListener("click", function(msg) {
		//这里可以写跳转业务代码
		//点击通知时触发
		//比如跳转/提示
	}, false);
	// 监听在线消息事件    
	plus.push.addEventListener("receive", function(msg) {
		//这里可以写跳转业务代码
	}, false);
	//#endif  
},
//是否打开了通知权限
isOpenAuthority() {
	if(plus.os.name=='Android'){
		var main = plus.android.runtimeMainActivity();
		var pkName = main.getPackageName();
		var NotificationManagerCompat = plus.android.importClass(
			"android.support.v4.app.NotificationManagerCompat");
		var packageNames = NotificationManagerCompat.from(main);
		console.log(JSON.stringify(packageNames));
		if (packageNames.areNotificationsEnabled()) {
			console.log('已开启通知权限');
		} else {
			uni.showModal({
				title: '温馨提示',
				content: '请先打开APP通知权限,否则无法收到推送信息',
				showCancel: true,
				success: function(res) {
					if (res.confirm) {
						var Intent = plus.android.importClass('android.content.Intent');
						var intent = new Intent(
						'android.settings.APP_NOTIFICATION_SETTINGS'); //可设置表中所有Action字段  
						intent.putExtra('android.provider.extra.APP_PACKAGE', pkName);
						main.startActivity(intent);
					}
				}
			});
		}
	}
}

❤ 第五步

测试通知
前往Dcloud后台,使用cid进行指定发送,cid在登录的时候,可以获取得到
【uni-app】uni-app之APP推送uniPush篇(七)_第5张图片
至此,就可以收到推送了,确保通知权限打开了~
谢谢,如果有什么不懂的,欢迎提问~

你可能感兴趣的:(uni-app,前端,javascript,css)