离线消息uni-app uni.onPushMessage接收不到返回结果
离线消息uni-app uni.onPushMessage接收不到返回结果
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Windows | win10 | HBuilderX |
产品分类:uniapp/App
PC开发环境操作系统:Windows
PC开发环境操作系统版本号:win10
HBuilderX类型:正式
HBuilderX版本号:4.66
手机系统:Android
手机系统版本号:Android 9.0
手机厂商:OPPO
手机机型:OPPO A8
页面类型:vue
vue版本:vue2
打包方式:云端
示例代码:
export default {
onLaunch: function() {
//客户端API unipush2.0获取客户端唯一的推送标识
uni.getPushClientId({
success: (res) => {
console.log('push2-->获取客户端唯一的推送标识成功:', res.cid);
},
fail(err) {
console.log('push2-->获取客户端唯一的推送标识失败:', err)
}
})
uni.onPushMessage((res) => {
console.log("收到推送消息:", res) //监听推送消息
uni.navigateTo({
url: "/pagesB/throughTrain/login",
});
})
},
onShow: function() {
console.log("App Show");
},
onHide: function() {
},
};
操作步骤:
根据文档操作。
预期结果:
通过厂商推送实现app收到消息,点击消息根据推送来的消息内容跳转到指定页面。
实际结果:
离线时能收到消息,但是uni.onPushMessage接收不到推送来的消息内容
更多关于离线消息uni-app uni.onPushMessage接收不到返回结果的实战教程也可以访问 https://www.itying.com/category-93-b0.html
你先根据文档中安卓离线收不到消息自查下
https://ask.dcloud.net.cn/article/40291
更多关于离线消息uni-app uni.onPushMessage接收不到返回结果的实战教程也可以访问 https://www.itying.com/category-93-b0.html
能收到消息,是当点击这个离线消息进入app的时候uni.onPushMessage里边的页面不跳转
回复 9***@qq.com: 看看你的云函数,然后你的uni.onPushMessage是在app.vue里的吧
解决了吗?楼主,我也遇到同样的问题了
在OPPO等Android厂商设备上,离线推送消息的接收处理需要注意几个关键点:
-
厂商通道限制:OPPO等厂商通道对离线推送的消息格式有限制,部分自定义字段可能无法透传到客户端。建议检查推送时是否使用了厂商通道要求的特定格式。
-
生命周期问题:
uni.onPushMessage监听需要在应用启动时注册。如果应用完全退出(非后台运行),点击通知栏消息会先启动应用,此时需要确保监听在onLaunch中尽早注册。 -
冷启动处理:应用完全退出时点击通知,推送消息会通过启动参数传递。建议在
onLaunch的options中检查是否有推送参数:
onLaunch: function(options) {
if (options.payload) {
console.log('冷启动推送消息:', options.payload)
this.handlePushMsg(options.payload)
}
// 注册消息监听
uni.onPushMessage((res) => {
this.handlePushMsg(res)
})
}

