Есть ли альтернатива ttl "time to live" для iOS в облачных сообщениях Firebase? - PullRequest
0 голосов
/ 02 мая 2018

Я отправляю уведомления используя admin sdk.

Это моя полезная нагрузка. Мне удалось установить ttl (время жизни) для Android, но я не уверен, как это сделать для iOS.

Обычно, если уведомление не отправляется, я вообще не хочу его отправлять.

         const payload = {
             notification: {
                title: 'New Appointments!',
                body: '',
              },
             data: {},
             android: {
               ttl: 1000, 
             },
             apns: {
               payload: {
                 aps: {
                   badge: 1,
                  "sound":"default"
                 },
               },
             },
            };
admin.messaging().send(payload).then((response) => {})

Ответы [ 2 ]

0 голосов
/ 14 мая 2018

У меня была проблема с неверным форматом, потому что я читал неправильную документацию.

https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages#ApnsConfig.

 "apns":{
      headers:{
        "apns-expiration":"1604750400"
      }
    }
0 голосов
/ 03 мая 2018

Я думаю, что вы ищете apns-expiration:

Дата эпохи UNIX, выраженная в секундах (UTC). В этом заголовке указывается дата, когда уведомление больше не действует и может быть отклонено.

Если это значение отлично от нуля, APN сохраняет уведомление и пытается доставить его хотя бы один раз, повторяя попытку по мере необходимости, если не удается доставить уведомление в первый раз. Если значение равно 0, APN рассматривают уведомление так, как будто оно истекает немедленно, и не сохраняет уведомление и не пытается его повторно доставить.

Пример этого можно увидеть в документах FCM для ttl :

{
  "message":{
    "token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
    "data":{
      "Nick" : "Mario",
      "body" : "great match!",
      "Room" : "PortugalVSDenmark"
    },
    "apns":{
      "headers":{
        "apns-expiration":"1604750400"
      }
    },
    "android":{
      "ttl":"4500s"
    },
    "webpush":{
      "headers":{
        "TTL":"4500"
      }
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...