我正在尝试将通知从 Node.js 服务器发送到 ios 应用程序。如果我从 Firebase 控制台发送通知,它似乎可以工作,但如果使用 firebase-admin sdk 从我的 node.js 服务器尝试,则不起作用。
我按照教程https://firebase.google.com/docs/cloud-messaging/admin/send-messages https://firebase.google.com/docs/cloud-messaging/admin/send-messages.
我不明白的一件事是发送通知后的响应似乎有效。我得到以下回应。
{
"results": [
{
"messageId": "0:1511109840587284%a63b4c28f9fd7ecd"
}
],
"canonicalRegistrationTokenCount": 0,
"failureCount": 0,
"successCount": 1,
"multicastId": 7436388871122493000
}
有谁知道我做错了什么?
-- Edit
这是发送通知的代码。admin是 firebase-admin 实例。
router.post('/notify', (req, res) => {
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "<database>.firebaseio.com"
});
var registrationTokens = [
'tokenFromIosApp'
];
var payload = {
data : {
body : 'TEST'
}
};
admin.messaging().sendToDevice(registrationTokens, payload)
.then((response) => {
console.log('Sent successfully.\n');
console.log(response);
res.status(statusCodes.Ok);
res.json(response);
})
.catch((error) => {
console.log('Sent failed.\n');
console.log(error);
res.status(statusCodes.InternalServerError);
res.json(error);
});
});