Как отобразить кнопки действий в уведомлении Android, когда приложение закрыто? - PullRequest
1 голос
/ 14 января 2020

У меня есть приложение android. С уведомлениями мы должны отобразить некоторые кнопки действий. Когда приложение открыто, мы можем создать уведомление и отобразить кнопки действий.

Но когда приложение закрыто, уведомление появляется в области уведомлений в android. Где разработчик приложения не может управлять пользовательским интерфейсом и кнопками действий. как мы можем показать кнопки сейчас? Как данные форматируются со стороны сервера, чтобы при получении в приложении мы могли видеть кнопки действий

1 Ответ

3 голосов
/ 14 января 2020

Исходя из моего опыта, это происходит потому, что вы отправляете Уведомление . Как объясняет Google, здесь ясно:

Уведомительные сообщения доставляются в панель уведомлений, когда приложение находится в фоновом режиме. Для приложений на переднем плане сообщения обрабатываются функцией обратного вызова.

Теперь, если вы хотите отправить свое уведомление с помощью Firebase Cloud Messaging и хотите всегда отображать полученные уведомления вашим собственным способом, вы можете использовать Сообщения с данными FCM , которые не содержат notification часть, например:

{
  "message":{
    "token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
    "priority":"high",
    "data":{
      "title" : "Custom notif",
      "body" : "This is a custom data notification!",
      "action" : "A|B|C"
    }
  }
}

После получения этого уведомления Firebase не будет отображать его на панели задач, вместо этого доставит его в ваше приложение (либо ваше приложение находится на переднем плане или в background). Затем вы можете использовать поля в разделе data для создания и отображения пользовательских уведомлений с пользовательскими действиями.

Также вы можете поместить любое поле в раздел data и такие поля, как title являются лишь примерами.

Дополнительные детали реализации в клиенте:

Для обработки сообщений данных в android (собственный и / или реагирующий собственный) вы можете использовать удаленный сообщения (но разными способами).

React native: Только для уведомлений о данных процесса в реагировать native можно использовать этот пример . * 103 6 *

Собственный android: В нативном android вы можете использовать onMessageReceived(RemoteMessage remoteMessage) метод вашего сервиса (который реализует FirebaseMessagingService). А затем используйте данные полезной нагрузки с помощью remoteMessage.getData (), как описано здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...