董董是我啊
董董是我啊
  • 发布:2018-12-25 16:41
  • 更新:2021-06-01 10:02
  • 阅读:10499

uni-app之推送

分类:uni-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);
3 关注 分享
7***@qq.com 1***@qq.com zipe

要回复文章请先登录注册

jonychen1

jonychen1

文章很棒,要想简单一点试试uniapp的第三方websocket推送插件GoEasy,有免费版的
2021-06-01 10:02
1***@qq.com

1***@qq.com

点击推送消息后
uni.navigateTo{
url: 'xxx'
}
IOS能唤起APP,安卓不行是为什么?
2020-07-29 18:09
s***@163.com

s***@163.com

大佬 ! 后台发送消息会在通知栏中显示,但是不会自动触发receive , 需要点击消息才会触发receive。应该怎么解决呢。。
2019-12-27 11:02
x***@126.com

x***@126.com

在多部手机上测试,个推服务都起不来,被系统限制了。消息收不到的。
2019-10-10 04:09
l***@163.com

l***@163.com

亲测报错,不知道为什么先跳到pages/main
navigateTo:fail page "pages/main/ pages/package/packageDetail/packageDetail?orderId=4501427248" is not found
2019-09-12 10:20
1***@qq.com

1***@qq.com

那个appid和appkey是在哪配置的呀
2019-08-28 18:44
小源很6

小源很6

这个是在线推送还是app离线推送?个推官方是这个吗https://dev.getui.com/#/login
2019-06-12 17:35
独揽月下萤火

独揽月下萤火

大佬 你这个在App.vue的 哪个应用生命周期函数里面写的
2019-05-21 16:12
董董是我啊

董董是我啊 (作者)

回复 云里梦里 :
个推平台注册只需要你注册就行啊,注册后个推后台会有相关的参数配置,你配置到你的项目中就可以了
2019-04-12 09:21
云里梦里

云里梦里

向个推平台注册用户的操作是集成在打包文件里了吗? 我云打包安装后发现特推平台并没有注册的用户数据
2019-04-11 19:17