z***@163.com
z***@163.com
  • 发布:2023-07-05 15:26
  • 更新:2023-07-05 15:29
  • 阅读:194

【报Bug】uniapp 使用云函数uniPush,安卓收到通知,点击通知栏没法唤起app进程

分类:uniCloud

产品分类: uniCloud/App

示例代码:

----uniCloud-aliyun/cloudfunctions/uniPush/index.js-----
'use strict';
const uniPush = uniCloud.getPushManager({appId:"xxxxxxx"}) //注意这里需要传入你的应用appId

exports.main = async (event, context) => {
console.log('event',event)
const { body } = event || {}
console.log('body',body)
let obj = {}
if(typeof body == "string" && body){
obj = JSON.parse(body)
}else if(typeof body == 'object' && body){
obj = body
}
let { push_clientid,title,content,url,platform } = obj
console.log('sendParams',obj)
return await uniPush.sendMessage({
"push_clientid":push_clientid,
"title":title,
"content":content,
"platform":platform,
"force_notification":true,
"payload": {
"url":url
},
"badge":1
})
};
----App.vue----
onLaunch: function (options) {
// #ifdef APP-PLUS
addListenMessagePush() //监听推送消息
// #endif
},

/**

  • 监听app消息推送处理
    */
    const addListenMessagePush = () => {
    try {
    uni.onPushMessage((res) => {
    console.log('AppPushRes', res)
    const { payload: { url } } = res.data
    console.log('url',url)
    plus.runtime.setBadgeNumber(0)
    if (url) {
    setTimeout(() => {
    navigateToH5(url)
    }, 1000)
    }
    })

    } catch (e) {

    }
    }

操作步骤:

1.通过apifox调用 云函数uniPush
2.安卓客户端通知栏收到通知
3.点击通知栏消息,没有反应

预期结果:

安卓也能和ios一样,可以自己唤起进程

实际结果:

安卓点击通知栏没有反应

bug描述:

通过云函数 uniPush向 设备客户端发送 通知时,ios这方面都正常,
安卓能在通知栏收到通知,如果没有开启“后台弹窗”权限,如图1,
点击如图2,消息栏没有反应。
看了下官方说,请检查是否开启弹窗权限,
但是安装app时都不会默认开启这个权限,如果为了推送去引导这个体验很差。
如果不开启这个权限,就是一个bug。
希望官方能够早点解决这个问题

2023-07-05 15:26 负责人:无 分享
已邀请:
5***@qq.com

5***@qq.com

目前这个好像没法解决啊。我也遇到了这个问题

要回复问题请先登录注册