Унифицированные действия уведомления через Firebase - PullRequest
0 голосов
/ 08 мая 2019

Я пытаюсь реализовать действия по уведомлению на iOS и Android, однако сталкиваюсь с проблемами, когда речь идет о типах уведомлений.Уведомления могут быть либо тип данных , либо тип уведомления .

Что касается Android, сообщения, содержащие как уведомления, так и полезные данные, обрабатываются как сообщения уведомлений и уведомления не обрабатываются Firebase SDK, то есть я не могу прикрепить к ним какие-либо действия.

И, как объяснено в Документация Firebase , ключ click_action в полезной нагрузке уведомлениятребуется для уведомлений iOS с действием для работы.

В настоящее время моя полезная нагрузка выглядит следующим образом:

{    
  "to" : "<token>",
  "notification" {
    "title": "Hello",
    "body": "world 1555491614 in notification",
    "click_action": "pusher",
    "sound": "default",
    "volume": "1"
  },
  "data": {
    "title": "Hello",
    "body": "world 1555491614 in data",
    "volume": "1",
    "type": "trip_generated"
    "tripId": 12345
  },
  "android": {
    "priority": "high",
  },
  "apns": {
    "headers": {
      "apns-priority": "10"
    }
  }
}

Таким образом, уведомления с действиями могут быть реализованы только для устройств iOS.Если я удаляю клавишу notification, уведомления будут обрабатываться как сообщения данных , а на устройствах Android можно прикреплять кнопки действий.

Можно ли создать универсальную полезную нагрузку, которая бы обслуживала обаiOS и Android?

Раздел уведомлений для платформы документации Firebase, кажется, предполагает, что это возможно, однако я не смог выяснить, как это реализовать, например:следующее доставляет пустое уведомление, category не добавляется:

"apns": {
    "payload": {
      "aps": {
        "alert": {
          "body": "world 1555491614 in notification",
          "title": "Hello"
        }
        "category": "pusher"
      }
    }
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...