uni.onPushMessage((res) => {
console.log('收到推送消息:', res) //监听推送消息
uni.createPushMessage(res.data)
if(res.type=='click'){
console.log('点击了推送',res) //离线推送点击后,这里不会被执行
}
})
plus.push.addEventListener("click", function(msg) {
console.log("点击了推送消息:",msg) //离线推送点击后,这里不会被执行
})
- 发布:2024-03-21 17:40
- 更新:2024-03-22 08:19
- 阅读:193
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: Windows 10 专业版 22H2
HBuilderX类型: 正式
HBuilderX版本号: 3.99
手机系统: Android
手机系统版本号: Android 12
手机厂商: google
手机机型: pixel 2XL
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
点击离线通知
点击离线通知
预期结果:
点击离线通知后,能够监听到点击事件
点击离线通知后,能够监听到点击事件
实际结果:
点击离线通知后,无法监听到点击事件
点击离线通知后,无法监听到点击事件
bug描述:
离线通知能够接收到,点击后会打开应用首页,但是点击事件无法被监听到,无论是plus.push.addEventListener("click",function(){},false),还是在uni.onPushMessage中监听res.type=='click' 都无法监听到离线推送的点击事件。在线推送可以正常监听到点击事件
1***@163.com (作者)
我解决了,是因为我在onLaunch中有几个await的异步请求放在了uni.onPushMessage的前面,导致onPushMessage执行的时候,App已经启动了几秒甚至十几秒了,onPushMessage已经监听不到click事件了,把onPushMessage放在await请求前面就可以了。
2024-03-22 17:24