Уведомление iOS. Как WhatsApp получает уведомления и обрабатывает их даже после принудительного закрытия? - PullRequest
0 голосов
/ 06 февраля 2019

Я создаю приложение для iOS (с использованием Swift), в котором я хочу обрабатывать уведомления, даже если мое приложение было закрыто (принудительно закрыто).

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

  • Однако, когда я проверяю поведение уведомления или WhatsApp - это процесс получения уведомлений, даже если Whatsapp закрывается перед использованием, нажмите на значок уведомления.

  • У меня есть поиск по всем форумам и всем, где когда-либо упоминалось, что ваше уведомление не может быть обработано, если приложение не запущено.(Он может обрабатываться, если приложение находится в фоновом режиме или на переднем плане)

Мой вопрос: если согласно документации Apple, если приложение не может обработать уведомление, если оно не запущено, то как удалось Whatsappсделать это.

Как мне добиться такого же поведения в моем приложении ??Я буду очень признателен за правильное техническое решение, и я верю, что сотни разработчиков могут иметь один и тот же запрос.

Ответы [ 2 ]

0 голосов
/ 06 февраля 2019

Так как WhatsApp является приложением VoIP, он имеет право использовать PushKit :

Уведомления PushKit отличаются от уведомлений, которые вы обрабатываете с помощью инфраструктуры UserNotifications.В частности, уведомления PushKit никогда не отображают оповещения, не отмечают значок вашего приложения и не воспроизводят звуки.Они также имеют следующие преимущества по сравнению с пользовательскими уведомлениями:

  • Устройство активируется только при получении уведомления PushKit, что может увеличить время автономной работы.
  • После получения уведомления PushKit системаавтоматически запускает ваше приложение, если оно не запущено.Напротив, пользовательские уведомления не гарантируют запуск вашего приложения.
  • Система предоставляет время выполнения вашего приложения (возможно, в фоновом режиме) для обработки уведомлений PushKit.
  • Уведомления PushKit могут содержать больше данныхчем пользовательские уведомления.

Обратите внимание на второй пункт маркированного списка.

Если ваше приложение соответствует критериям использования PushKit (приложение VoIP, обновление Watch Complication или обновление поставщика файлов), вы можете использовать его.

0 голосов
/ 06 февраля 2019

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

Для получения полной информации вы можете проверить эту ссылку.https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/pushing_updates_to_your_app_silently

...