应用程序处于后台时,onMessageReceived中未接收Firebase通知



我在我的应用程序中使用FCM发送通知,所有功能都很好,但当我的应用处于后台时,通知由android系统通知托盘处理

我想处理我自己的通知我正在发送这个有效载荷来发送通知

$fields = array(
'notification' => $notification,
'to'  => '/topics/updates'
);

当我的应用程序处于forground时,它将调用我的onMessageReceived,但当我的程序处于后台时,它不会调用我的onMessageReceived,请求由系统本身处理

当我的应用程序处于background时,我想呼叫我的onMessageReceived

我也尝试删除notification key,只发送像这个一样的data key

$fields = array(
'data' => $notification,
'to'  => '/topics/updates'
);

但是当我从上面的字段发送请求时,onMessageReceivedforground and background中的两个条件下都没有被调用

我在我的xiaomi redmi note 4 (oreo)redmi 4x(android 10)android emulator(marshmello)中尝试这个

我遵循这个ans来解决我的问题,但不为我工作如何在Firebase 后台处理应用程序通知

我的FCM版本是17.3.4我的安卓工作室版本是3.5.3

如果没有接收到数据消息,则负载可能是错误的。下面是我的有效负载示例(.js,但结构应该基本相同(:

const  payload = {
data: {
title: finalTitle,
body: message,
icon: icon
},
topic: channel
};
admin.messaging().send(payload)
.then((response) => {
return
})

很抱歉发布这个愚蠢的问题,当我们只发布数据密钥而不是通知密钥时,FCM在后台工作

我的错误是,我用这个包装了我的通知生成器

if (remoteMessage.getNotification() != null) {
// other code
}

相关内容

  • 没有找到相关文章