У меня есть странная функция, которую я хочу добавить в iOS, и не уверен, возможно ли это.

Я хочу отправлять push-уведомления всем пользователям через третье лицо, и клиент решает, показывать его или нет, в зависимости от некоторых функций. Я читал, что могу изменить уведомление до того, как оно достигнет приложения, и надеялся, что я смогу получить уведомление, выполнить некоторую логику и, если критерии соблюдены, изменить уведомление, чтобы оно было беззвучным. Но я не уверен, возможно ли это.

Кто-нибудь смог это сделать?

1
LivingRobot 23 Окт 2018 в 23:20

2 ответа

Лучший ответ

Насколько мне известно, скрыть уведомление после его отправки невозможно. Вы можете изменить полезную нагрузку с помощью служебного расширения, но я уверен, что вы не можете скрыть это от пользователя.

Чтобы решить на клиенте, отображается ли уведомление или нет, вам нужно будет сначала отправить уведомление как беззвучное, а затем инициировать локальное уведомление. Проблемы с этим:

  • Тихие уведомления отключены, если пользователь отключил фоновую активность.
  • Тихие уведомления имеют более низкий приоритет и через некоторое время могут быть отключены.

Целью тихих нажатий является информирование приложения о новом содержимом для выполнения фоновой выборки.

Я рекомендую использовать любую логику на стороне сервера перед отправкой уведомления.

3
Yariv Nissim 23 Окт 2018 в 20:32

Для Android вы можете решить, показывать уведомление или нет.

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

0
Razvan Emil 23 Окт 2018 в 22:41
52957284