Обработка push-уведомлений, когда приложение выключено или вообще не открывается - iOS
Я создаю платформу push-уведомлений с помощью Amazon SNS, используя Amazon Cognito и другие инструменты Amazon AWS, и пока работаю безупречно.
Но мое приложение мультиязычное, поэтому я пытаюсь отправить только 1 одно push-сообщение со словарем в полезной нагрузке, этот словарь будет содержать массив со всеми языками, которые я поддерживаю.
Так что я просто не хочу просто обрабатывать сообщение, я собираюсь вообще не показывать push-сообщение перед тем, как выбрать правильный язык, который должен появиться у пользователя... Приложение убито или нет.
Итак, мой вопрос:
Это кажется возможным?
Какой подход вы предлагаете для достижения этой цели?
Спасибо всем большое.
2 ответа
Нет (когда пользователь убивает приложение или когда фоновая загрузка отключена, уведомления не будут поступать в ваше приложение).
Узнайте, как локализовать push-уведомления на веб-сайте Apple для разработчиков. Вы можете получить именно то, что хотите, разрешив системе выполнить локализацию. См. Соответствующие ключи в полезной нагрузке: https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/TheNotificationPayload.html
Есть некоторые ограничения APNS следующим образом:
Делегат didReceiveRemoteNotifications выполняется только в том случае, если приложение находится на переднем или заднем плане.
Если приложение закрывается / приостанавливается пользователем или ОС, тогда уведомление будет отображаться в центре уведомлений, но соответствующий делегат не будет вызван.
Настройте фоновую выборку и удаленные уведомления, включенные в фоновых режимах, из настроек проекта.
Используйте application:didReceiveRemoteNotification:fetchCompletionHandler: делегировать вместо didReceiveRemoteNotifications.
Надеюсь, что это поможет вам.