android华为推送不显示角标,【报Bug】华为手机收不到推送数字角标提示

『/*推送代码

在App.vue中onLaunch中调用这个方法

@param {(payload) => void} handler

*/

export const monitorPush = handler => {

// #ifdef APP-PLUS

const _handlePush = function(message, source) {

const { globalData } = getApp()

if (!globalData || globalData.isBackground == null) {

uni.showModal({

content:

'使用推送,请在App.vue中定义globalData.isBackground,然后在对应的应用生命周期中,改变这个bool值'

})

return

}

if (globalData.isBackground) {

// App处于后台时,iOS收到推送,从消息中心弹出推送,此时还未点击推送消息

// 就自动触发了click事件,从而执行到这里 这个是框架的一个bug

console.log(${source}推送,但app处于后台,为避免触发2次,忽略掉此次触发)

return

}

const isAndroid = message.UUID && /^android/i.test(message.UUID)

console.log(是否是安卓推送:${isAndroid})

let payload = message.payload

if (typeof payload === 'string') {

payload = JSON.parse(decodeURIComponent(payload))

}

console.log(payload: ${payload})

if (payload.local) {

console.log(收到本地推送:${decodeURIComponent(JSON.stringify(message))},直接返回)

return

}

if (handler) {

handler(payload)

}

if (isAndroid) {

// 如果是安卓的话 因为使用透传模板,推送消息不会出现在通知栏中,需要主动创建一个本地消息

plus.push.createMessage(payload.content, JSON.stringify({local: true }))

}

}

plus.push.addEventListener('click', function(message) {

console.log('click message: ', message)

_handlePush(message, 'click')

})

plus.push.addEventListener('receive', function(message) {

console.log('receive message: ', message)

_handlePush(message, 'receive')

})

// #endif

}

//接收代码

plus.push.addEventListener('receive', message => {

console.log('接收到推送', message)

// 接收到消息

if (message.payload) {

try {

const payload = JSON.parse(message.payload)

if (payload && payload._local) return // 本地消息不做处理

} catch (e) {

console.log('推送payload解析对象失败', message.payload)

}

}

// 把消息保存到vuex中

this.updatePushMessage(message)

// ios平台接收到的在线消息(透传消息),要使用本地通知提醒

if (!message.aps && uni.getSystemInfoSync().platform === 'ios') {

console.log('ios平台接收到透传消息,使用本地通知提醒', message)

plus.push.createMessage(message.content, JSON.stringify({ _local: true }))

}

})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值