我正在尝试在我正在使用的Cordova应用程序中使用推送通知。它们可以在Android应用程序中完美运行,而在iOS应用程序处于前台时则可以完美运行,但是当应用程序在后台或终止时,我不会收到任何通知。
我启用了“推送通知”和“背景模式-远程通知”功能:
我100%确定服务器具有设备令牌(因为推送通知在前台工作,并且我可以在数据库中看到它)。
这是我使用firebase-admin node module发送推送通知的方式:
await firebase.messaging().send({
token: userDeviceToken,
data: {foo: 'bar'},
notification: {
title: 'This is a notification title',
body: 'This is a notification body',
},
});
我想念什么?
编辑:
如果我在收到通知后启动了应用程序或将其置于前台,则它的行为就好像收到了应用程序内通知。即使我在发送通知后等待了几分钟才启动应用程序,也会发生这种情况。
答案 0 :(得分:0)
应用终止后,您将无法收到远程通知。您可能想显示一个本地通知,告诉用户该应用终止时他不再能够接收通知。
答案 1 :(得分:0)
检查前景中在应用程序中收到的有效负载结构。通常,它与Android不同。 iOS有效负载结构应为:
{
"aps" : {
"alert" : {
"body" : "great match!",
"title" : "Portugal vs. Denmark",
},
"badge" : 1,
},
"Custom_Data" : "Game level name"
}