所以我目前正在开发一个 PWA。
我现在正在与推送通知我已经能够使用以下非常简单的 JSON 结构接收后台和前台通知。
{
"message":{
"token":"aValidToken",
"notification": {
"title": "New Content!",
"body": "A new video has been uploaded."
}
}
}
我还能够添加一个包含其他信息的数据成员,并且仍然可以收到通知而不会带来任何不便。
现在的问题是如果我想添加另一位成员到 JSON,例如点击动作,我发布以下内容:
{
"message":{
"token":"aValidToken",
"notification": {
"title": "New Content!",
"body": "A new video has been uploaded.",
"click_action":"https://www.google.com.ar/"
}
}
}
我收到以下错误:
{
"error": {
"code": 400,
"message": "Invalid JSON payload received. Unknown name \"click_action\" at 'message.notification': Cannot find field.",
"status": "INVALID_ARGUMENT",
"details": [
{
"@type": "type.googleapis.com/google.rpc.BadRequest",
"fieldViolations": [
{
"field": "message.notification",
"description": "Invalid JSON payload received. Unknown name \"click_action\" at 'message.notification': Cannot find field."
}
]
}
]
}
}
我和几乎所有其他成员都发生过这种情况,例如:优先级、图标、声音、徽章等。
最后,我尝试过硬编码icon and 点击动作 in the 设置背景消息处理程序(确实被调用)无济于事。没有图标出现,单击通知时没有任何反应。
messaging.setBackgroundMessageHandler( (notif) => {
const notificationTitle = notif.notification.title;
const notificationOptions = {
body : notif.notification.body,
icon : '/assets/icon/icon72x72.png',
click_action : 'https://www.google.com.ar/'
};
return self.registration.showNotification(notificationTitle, notificationOptions);
});
这纯粹是一个离子 PWA项目,旨在在移动浏览器和桌面上运行。我会很感激你给我的每一个建议!谢谢!