我可以将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);
});
}
你觉得它发生了什么?你知道一些记录问题的方法吗?
答案 0 :(得分:3)
Server Protocol documentation表示通知文字的关键字为body
,而不是text
。看看这种变化是否有所不同:
const payload = {
data: data,
notification: {
title: "My title",
body: "My description", // <= CHANGE
sound : "default"
}
}