Я пытаюсь реализовать pushNotifications с помощью облачных функций и FCM для iOS, но я постоянно получаю эту ошибку:
2018-05-21T13: 04: 00.087ZI sendPushNotifications: Ошибка отправки сообщения: {Ошибка: запрос содержит недопустимый аргумент.в FirebaseMessagingError.Error (родной) в FirebaseMessagingError.FirebaseError [как конструктор] (/user_code/node_modules/firebase-admin/lib/utils/error.js:39:28) в FirebaseMessagingError.Prefix_deror_set_setup_setup_setup_setup_setup_setup_setup_set_set_setup/firebase-admin/lib/utils/error.js:85:28) в новом FirebaseMessagingError (/user_code/node_modules/firebase-admin/lib/utils/error.js:241:16) в Function.FirebaseMessagingError.fromServerRuser_code / node_modules / firebase-admin / lib / utils / error.js: 271: 16) в /user_code/node_modules/firebase-admin/lib/messaging/messaging-api-request.js:149:50 at process._tickDomainCallback (internal / process / next_tick.js: 135: 7) errorInfo: {code: 'message / invalid-аргумент', сообщение: 'Запрос содержит недопустимый аргумент.'}, codePrefix: 'message'}
Моя реализация в облачных функциях выглядит следующим образом:
exports.sendPushNotifications = functions.database.ref('/conversations/{userUid}/').onWrite((snap, context) => {
const userUid = context.params.userUid
console.log("Triggered user ", userUid)
return admin.database().ref('/fcmToken/' + userUid).once('value', snapshot => {
const values = snapshot.val()
const fcmToken = values.fcmToken
var message = {
"token": fcmToken,
"notification": {
"body": "New message"
},
"apns": {
"headers": {
"apns-priority": "5"
},
"payload": {
"aps": {
"alert": {
"body": "New message"
},
"badge": "1",
"sound": "default"
}
}
}
};
return admin.messaging().send(message)
.then((response) => {
return console.log('Successfully sent message:', response);
})
.catch((error) => {
return console.log('Error sending message:', error);
});
})
})
Разочаровывает то, что когда я удаляю весь узел "apns"
,код на самом деле работает, т.е. я могу получать push-уведомления.Я полагаю, это означает, что все мои настройки выполнены правильно.Как только я включил "apns"
, он начинает выдавать вышеуказанную ошибку.Я также ссылаюсь на эти три поста: , этот , , этот и , этот , и убедился, что я тщательно следовал коду и инструкциям.По некоторым причинам я не могу заставить его работать.
Я также попытался удалить узел "notification"
, так как в документах упоминалось, что при нацеливании на все платформы используются только общие ключи.Поскольку сейчас я нацеливаюсь только на iOS, я полагаю, мне следует удалить ключ "notification"
.Но, опять же, выдает ту же ошибку.