uni-push推送接入

花了两天时间终于把unipush接通了,记录下来也让大家少走一点弯路。

一、首先是HBuilderx的配置

很简单就勾选两个地方

把这两个权限勾选上就ok了。

二、uniapp开发者后台的配置

登录后台后填入下面的信息

这一步,填写成功后,android和ios在应用已经启动的情况已经能收到推送了,但是app在离线状态还是收不到推送的。

接下来的配置是让,ios和android能在应用进程已经被杀死的情况也能收到推送

ios配置apsn的证书,android配置各厂商的推送信息。

到这一步客户端所有的配置已经完成了。

三、客户端代码

function pushListener() {
	this.clientid = plus.push.getClientInfo().clientid
	if (!this.clientid) { //如果获取的cid为空,说明客户端向推送服务器注册还未完成,可以使用setTimeout延时重试。
		setTimeout(() => {
			this.clientid = plus.push.getClientInfo().clientid
		}, 4000)
	}

	plus.push.addEventListener('click', (message) => {
		this.pushCallBack()
	});

	plus.push.addEventListener('receive', (message) => {
        this.pushCallBack()
	});
}

function pushCallBack() {
	
}

首先是获取cid,cid是每个设备向个推服务器注册以后生成的设备id,获取到cid后要在登录的时候把cid传给服务端和用户绑定起来,就可以实现特定用户的推送。

两个监听click很明显,就是点击时候出触发的。

receive有两种情况会触发

1.ios应用已经打开的情况,这种情况通知栏不会有消息。可以自己写这种情况的处理逻辑,一般会弹出一个弹窗问需不需要跳转,我的方式是用plus.push.createMessage本地创建一条消息。

2.android接收到不符合格式的推送(不符合{title:"xxxx",content:"xxxx",payload:"xxxxx"}),这个是服务端来控制的。

到此推送就算完成了,剩下的就是根据自己的项目来写收到推送的逻辑。

 

特别注意:如果要测试推送需要自定义基座来测试,直接运行的话使用的是hello uniapp的环境。

 

 

  • 6
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 20
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值