Обработка push-уведомлений, когда приложение выключено или вообще не открывается - iOS

Я создаю платформу push-уведомлений с помощью Amazon SNS, используя Amazon Cognito и другие инструменты Amazon AWS, и пока работаю безупречно.

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

Так что я просто не хочу просто обрабатывать сообщение, я собираюсь вообще не показывать push-сообщение перед тем, как выбрать правильный язык, который должен появиться у пользователя... Приложение убито или нет.

Итак, мой вопрос:

  1. Это кажется возможным?

  2. Какой подход вы предлагаете для достижения этой цели?

Спасибо всем большое.

2 ответа

Решение
  1. Нет (когда пользователь убивает приложение или когда фоновая загрузка отключена, уведомления не будут поступать в ваше приложение).

  2. Узнайте, как локализовать push-уведомления на веб-сайте Apple для разработчиков. Вы можете получить именно то, что хотите, разрешив системе выполнить локализацию. См. Соответствующие ключи в полезной нагрузке: https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/TheNotificationPayload.html

Есть некоторые ограничения APNS следующим образом:

  1. Делегат didReceiveRemoteNotifications выполняется только в том случае, если приложение находится на переднем или заднем плане.

  2. Если приложение закрывается / приостанавливается пользователем или ОС, тогда уведомление будет отображаться в центре уведомлений, но соответствующий делегат не будет вызван.

  3. Настройте фоновую выборку и удаленные уведомления, включенные в фоновых режимах, из настроек проекта.

  4. Используйте application:didReceiveRemoteNotification:fetchCompletionHandler: делегировать вместо didReceiveRemoteNotifications.

Надеюсь, что это поможет вам.

Другие вопросы по тегам