我可以将推送通知从Firebase Console Notifications
发送到我的iOS设备,并且它是前台和后台的应用程序。
当我尝试使用Firebase-admin by NodeJS
发送它们时,它仅在应用程序处于前台时才有效,在后台没有任何反应。
我认为 FCM-APN 之间的通信很好,因为它适用于控制台。
这是我的 NodeJS 代码:
function sendFCM(registration_ids, data, collapseKey) {
const options = {
priority: "high",
collapseKey : collapseKey,
contentAvailable : true,
timeToLive: 60 * 60 * 24
};
const payload = {
data: data,
notification: {
title: "My title",
text: "My description",
sound : "default"
}
}
admin.messaging().sendToDevice(registration_ids, payload, options)
.then(function(response) {
console.log("Successfully sent message:", response);
})
.catch(function(error) {
console.log("Error sending message:", error);
});
}
你认为这是怎么回事?您知道记录问题的方法吗?
服务器协议文档指示通知文本的键是 body
,而不是 text
。 查看此更改是否有所不同:
const payload = {
data: data,
notification: {
title: "My title",
body: "My description", // <= CHANGE
sound : "default"
}
}