2019-01-07uni-app之推送

写这个之前被推送给弄蒙了,因为之前没接触过。。。。下面说一下我摸索来的大致过程:
我用的是个推(可以打包基座运行,省的老是打包了)
1:首先需要去个推官网申请账号;
2:然后点击manifest在AppSDK配置去填写在个推平台创建的应用的appid、appkey、appsecret属性;
3:在App模块权限配置中勾选push
4:如果ios也需要加推送的话需要用个推官网的那个透传的模板
在app.vue中的代码为

//监听click事件,用户从消息中心点击触发的
plus.push.addEventListener("click", function (msg) {
//根据payload传递过来的数据,打开一个详情
var payload = msg.payload;
if (payload) {
// payload 按照规范是 Object,但实际推送过来有可能是 String,需要多一步处理;
if (typeof payload === 'string') {
payload = JSON.parse(payload);
}
if (typeof payload === 'object') {
if(payload.url){
setTimeout(function(res){
uni.navigateTo({
url:payload.url
})
},1000)
}
}
}
}, false);

//监听receive事件
plus.push.addEventListener("receive", function (msg) {
if (plus.os.name != 'iOS') {
plus.push.createMessage(msg.title,msg.payload);
}
//根据payload传递过来的数据,打开一个详情
var payload;
if (msg.payload) {
//如透传消息不符合格式,则“payload”属性为string类型
//这里的示例以json字符串去解析,实际上也可以做字符串匹配
if (typeof (msg.payload) == "string") {
try {
payload = JSON.parse(msg.payload);
} catch (error) {
console.log(error);
}
} else if (typeof (msg.payload) == "object") {
//iOS应用正处于前台运行时收到推送,也触发receive事件,此时payload为json对象
plus.push.createMessage(msg.title,msg.content);
}
}
}, false);

由于部分安卓手机收不到推送消息,需要在manifest.json中配置

            "android" : {
                "targetSdkVersion" : 26,

你可能感兴趣的:(2019-01-07uni-app之推送)