Firebase Cloud Messaging - значки для iOS - PullRequest
0 голосов
/ 29 июня 2019

Я хочу, чтобы моя облачная функция отправляла push-уведомления по определенной теме, которая работает просто отлично.Однако при добавлении поля «значок» возникает следующая ошибка:

Unknown name "badge" at 'message.notification': Cannot find field.

Что мне делать, если я хочу указать номер значка для устройств iOS?Код у меня выглядит следующим образом:

exports.onAddLog = functions.database.ref("/NodesLog/{id}").onCreate((change, context) => {
const payload = {
    "topic": "Channel123",
    "notification": {
      "title": "Test-Title",
      "body": "Test-Body",
      "badge": "1"
    },
    "data": {
        "test": "test",
        "notId": "123"
    }
}

const promise : Promise<any> = admin.messaging().send(payload)
.catch(error => console.error("Error on send: " + error))
.then(sendSuccess => console.log("Notification send "))
.catch(() => console.error("What happened?"))

return promise;
})

Ответы [ 2 ]

1 голос
/ 11 июля 2019

Проблема в том, что значок - это поле iOS, и он должен находиться в другом месте, как сказал Али, в объекте "aps". Но он не сказал, где должны быть апы.

например, это должно быть ваше сообщение

{
  "message":{
     "topic": "Channel123",
      "notification": {
          "title": "Test-Title",
          "body": "Test-Body",
          "badge": "1"
      },
     "data": {
         "test": "test",
         "notId": "123"
     },
     "apns": {
       "payload": {
         "aps": {
           "badge": 5
         }
       }
     }
   }
 }

Я взял пример с здесь

1 голос
/ 10 июля 2019

попробуйте добавить aps узел, содержащий badge свойство с вашей полезной нагрузкой

const payload = {

    ...

    "aps":{  
      "alert":"test alert",
      "badge":5,
      "sound":"default"
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...