Установите другое звуковое уведомление

#firebase #firebase-cloud-messaging #firebase-notifications

#firebase #firebase-облако-обмен сообщениями #firebase-уведомления

Вопрос:

У меня есть пул токенов устройств (iOS и Android), и в документах я нахожу только один параметр sound для обеих платформ, и, очевидно, у меня есть 2 разных звука уведомления, один для Android и один для iOS.

Должен ли я разделять токены устройства по типу устройства для отправки на 2 отдельных типа устройств? Или я просто что-то пропустил?

Спасибо.

Комментарии:

1. Интересно. Собираетесь ли вы получать это уведомление на переднем плане? Если да, рассматривали ли вы возможность использования data полезной нагрузки и установки пользовательской пары ключ-значение, указав звук , который вы хотите использовать для каждого типа устройства? например "android_sound":"sound1", "ios_sound":"sound2"

2. спасибо за советы, но, к сожалению, это уведомление будет получено в фоновом режиме и на переднем плане

3. можете ли вы назвать два звуковых файла с одинаковыми именами на обеих платформах?

Ответ №1:

Решение 1

Вы могли бы назвать оба аудиофайла одинаково, например ‘your_app.mp3’.

Одно и то же имя, но разные музыкальные файлы в каждом приложении. Это не позволяет пользователю выбирать звук уведомления, но, по крайней мере, позволяет каждому приложению иметь другой звук.

Решение 2

Переход на новый API Firebase HTTP v1, который позволяет настраивать уведомления на разных платформах

Личный опыт

Решение, предложенное @daniel-raouf для отправки сообщений данных, отличное; но, по моему опыту, некоторые сообщения данных не могут быть доставлены вашим пользователям, когда:

  1. На телефоне пользователя установлен режим энергосбережения (по умолчанию на Huawei, Xiaomi, One Plus …)

  2. Когда пользователи iOS очищают ваше приложение от последних приложений (многозадачность).

Итак, на мой взгляд, сообщения с данными не являются надежным решением для уведомлений.

Комментарии:

1. да, я использую новый API (забыл ответить) Решение 2 работает для меня

Ответ №2:

Вы что-то пропустили,

A — Если вы хотите разрешить пользователю выбирать предпочитаемый звук уведомления на любом устройстве, чтобы

  1. не отправлять уведомление
  2. отправляйте только данные, чтобы принудительно передавать полученное содержимое по событию onReceive
  3. При получении добавьте звук, значок и данные, которые вы хотите, в конструктор уведомлений.

B- Если вы хотите, чтобы приложение использовало звук по умолчанию

итак, в теле уведомления установите звук: «по умолчанию», и он будет работать для всех типов устройств