我已经为这个我坚持了一周的问题进行了很多搜索。我有一个 Ionic PWA 项目,它接收来自 firebase 的一些通知,我可以毫无问题地接收通知,并且可以在前台获取有效负载(应用程序已打开),但是当应用程序关闭时我无法获取有效负载并且我没有搞清楚是怎么回事,所以特地来请高手帮帮我。
messaging.setBackgroundMessageHandler(function(payload) {
var notificationTitle = 'Teste';
var notificationOptions = {
body: 'Background Message body.',
tag: 'campanhas',
data: payload.data,
icon: 'https://firebasestorage.googleapis.com/v0/b/hemotomobile-edeb9.appspot.com/o/logo.png?alt=media&token=4a9fc487-b8cf-4d3c-875c-774454ff6f50'
};
return self.registration.showNotification(notificationTitle,
notificationOptions);
});
self.addEventListener('notificationclick', function(event) {
event.notification.close();
event.waitUntil(clients.matchAll({
type: "window"
}).then(function(clientList) {
for (var i = 0; i < clientList.length; i++) {
var client = clientList[i];
if (client.url == '/' && 'focus' in client)
return client.focus();
}
if (clients.openWindow)
return clients.openWindow('/');
}));
});
在我的通知提供商上,我使用以下代码:
public receiveMessage() {
console.log('notification')
this.messaging.onMessage((payload) => {
console.log('payload',payload)
});
}
我在我的标签页上调用此提供程序:
ionViewDidLoad(){
this.notification.receiveMessage()
}
那么,任何人都可以在 PWA 关闭时帮助我获取有效负载吗?