unipush app离线 在线 厂商推送消息

fm:app没有运行时 离线 也要有收到推送消息 然后 就得用到厂商推送 一般的话 需要去配置 对应厂商的 appid
在这里插入图片描述

然后选择UNIPush 透传
在这里插入图片描述
在这里插入图片描述

intent:#Intent;action=android.intent.action.oppopush;launchFlags=0x14000000;component=应用包名/io.dcloud.PandoraEntry;S.UP-OL-SU=true;S.title=测试标题;S.content=测试内容;S.payload=test;end

以上是安卓 离线时做法

ios 离线收到推送 payload 的格式跟在线发的数据的格式一样

{"title":"title","body":"body","click_type":"url","url":"/pages/schedule/index"}

在这里插入图片描述
在这里插入图片描述

离线的时候 收到的是系统消息 所以更多的是监听click事件
所以离线的时候 简单的操作就是跳转 直接跳转

	plus.push.addEventListener("click", function(msg) {
				console.log(msg)
				uni.switchTab({
					url: "/pages/msg/index"
				})
			}, false);

在线的时候 收到的是本地创建的消息 所以是监听receive事件
在线还要判断是ios 还是安卓 如果是安卓直接本地创建 如果是ios 的话 msg会返回一个aps 和一个type 这个只要在ios环境下才会返回 所以不腰惊讶为什么安卓手机调试 type没有打印出来

      //收到透传消息  
        //只有APP在线时,才会触发receive事件,透传消息不会触发系统消息,需要创建本地消息  
        plus.push.addEventListener("receive", function(msg) {  
            console.log("(receive):" + JSON.stringify(msg));  
            if (app.isIOS()) { //如果是IOS  
                var payload = msg.payload;  
                //【APP离线】收到消息,但没有提醒(发生在一次收到多个离线消息时,只有一个有提醒,但其他的没有提醒)  
                //【APP在线】收到消息,不会触发系统消息,需要创建本地消息,但不能重复创建。必须加msg.type验证去除死循环                
                if (msg.aps == null && msg.type == "receive") {   
                    var messageTitle = payload.messageTitle;  
                    var messageContent = payload.messageContent;  
                    //创建本地消息,发送的本地消息也会被receive方法接收到,但没有type属性,且aps是null  
                    plus.push.createMessage(messageContent, JSON.stringify(payload), {title: messageTitle});  
                }  
            }  
            if (app.isAndroid()) { //如果是Android,当APP在线时,收到透传消息不会进入系统消息,需要发送本地提醒。  
                var payload = JSON.parse(msg.payload);  
                var messageTitle = payload.messageTitle;  
                var messageContent = payload.messageContent;  
                plus.push.createMessage(messageContent, msg.payload, {title: messageTitle});  
            }  
        }, false);  

附上相关链接 https://ask.dcloud.net.cn/article/36622?notification_id-760228__item_id-32878

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张帅涛_666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值