应用程序终止时未调用Firebase消息后台处理程序(Flutter)



当收到应用程序终止时的推送通知时,我正在尝试更新我的应用程序的徽章计数。

如果应用程序在后台,Firebase消息后台处理程序可以正常工作,但在应用程序终止时不工作。

我已经阅读了文档:

在iOS上,如果用户从应用Switcher中刷走应用程序,则必须再次手动重新打开应用程序,以便后台消息重新开始工作。

这是否意味着在iOS上无法使用firebase后台处理程序更新徽章计数(当然,根据您在处理程序中实现的逻辑,只需要调用处理程序(?

现在任何应用程序都会这样做,所以我想知道为什么Firebase Messaging无法做到这一点。

我实际上已经找到了一个解决方案,通过在swift中使用服务扩展,并将数据作为有效负载服务器端,在python中使用content-available: true

以下是我为实现通知服务器端而遵循的文档。

此外,关于这个案例,还有一个关于flutter和Firebase的bug/功能请求正在进行中。

我为我的案例找到了解决方案。我使用Node.js发送通知

来自苹果官方文档

你应该使用

{
"aps" : {
"content-available" : 1
},
}

在我的例子中,从节点JS Admin设置"content available":1就成功了。此处为代码示例。

参考:https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/pushing_background_updates_to_your_app#2980040

const message = {
apns: {
payload: {
aps: {
'content-available': 1
}
}
},
data: {foo:'foo'},
notification:{
title: title,
body: text
},
token: pushToken,

};

相关内容

  • 没有找到相关文章

最新更新