推送通知在安卓上不弹出



我正在使用FCM创建用于发送推送通知的flutter应用程序。我正在通过向设备发送JSON,从网站发送带有云功能的通知。然而,这在iOS上运行得很好(通知弹出(,在Android上我会收到声音,通知只显示在状态栏中。关于如何让它弹出有什么建议吗?

这是我正在发送的JSON:

{
"message":{
"token" : result,
"notification" : {
"body" : body,
"title" : title,
},
"data": {
"body": body,
"title": title
},
"apns": {
"headers": {
'apns-priority': '10',
},
"payload": {
"aps": {
"sound": 'default',
}
},
},
"android": {
"priority": 'high',
"notification": {
"sound": 'default',
}
},
}
}

您正在正确设置"优先级":"高";,但我认为这可能是FCM降低优先级的情况。这来自FCM文档:

高优先级消息通常会导致用户与您的应用程序或其通知进行交互。如果FCM检测到他们没有检测到的模式,您的消息可能会被取消优先级。

如果您的应用程序在前台,如果您将NotificationChannel优先级以及NotificationBuilder中的通知优先级设置为高优先级,则可以实现所需的行为。如果应用程序在前台,则通知由您的扩展FirebaseMessagingService创建,并且可以设置优先级。

但如果应用程序处于后台或关闭状态,则系统会通过通知托盘创建通知。

这适用于同时发送notificationdata对象的情况。

可能的解决方案是只发送data对象(不发送notification对象(。与此类似,通知始终由FirebaseMessagingService创建。无论应用程序是在前台、后台还是关闭。见此表此表

将此行添加到通知生成器通道:

channel.setShowBadge(true);

相关内容

  • 没有找到相关文章

最新更新