Возможны ли Silent Remote Notifications, если пользователь отключил функцию push-уведомлений для приложения?

В моей вкладке настроек:

  1. У меня есть особый переключатель, который можно выключить или включить в зависимости от ответа API.
  2. С сайта только администратор имеет право включать / выключать.
  3. Я могу сделать /user API call каждый раз при нажатии настройки, чтобы проверить текущие настройки для пользователя, но есть несколько недостатков, например, если пользователь уже настроен, он не будет обновлять пользовательский интерфейс, и вызов api каждый раз при настройке нажатия не звучит идеальное решение.

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

Но если пользователь отключил push-уведомление, я все равно получу тихий push-уведомление? Каков рекомендуемый подход к таким ситуациям?

3 ответа

Решение

Краткий ответ да

Новая замечательная возможность для разработчиков приложений для iOS 8 состоит в том, что Apple теперь будет выдавать "тихие" сигналы, даже если пользователь отказался от уведомлений. Кроме того, "тихий толчок" больше не только для приложений Newsstand. Каждое приложение может воспользоваться этой возможностью для обновления содержимого в фоновом режиме, создавая максимально актуальную и отзывчивую работу, возможную в тот момент, когда пользователь открывает приложение.

Хотя...

Пользователи по-прежнему имеют возможность отключить способность вашего приложения обрабатывать "тихий толчок" с помощью элемента управления "Обновление приложения в фоновом режиме". Несмотря на то, что служба push-уведомлений Apple (APN) доставит на телефон push-уведомление с пометкой "доступно", операционная система не разбудит ваше приложение, чтобы получить его, фактически сбросив его на пол. Однако отказ от "фонового обновления приложения" является менее известной возможностью, не связанной напрямую с уведомлениями. У вас нет доступа к этому параметру в настройках уведомлений - он находится в разделе "Основные"> "Обновление фонового приложения".

Помните об этом при создании приложения.

Источник: https://www.urbanairship.com/blog/watch-list-ios-8-opt-in-changes

Эта матрица может помочь. С левой стороны показано, будет ли вызван метод didReceiveRemoteNotification: или нет. Другие два столбца связаны с настройкой приложения. Настройки -> YourApp. Если ваше приложение поддерживает уведомления и фоновое обновление приложения. Посмотрите в матрицу, чтобы проверить, когда ваше приложение получит тихий толчок.

Другие ответы хороши. Но они не являются официальными ответами.

Официальный ответ - в видео " Что нового в уведомлениях WWDC 2015":

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

Для получения дополнительной информации см. Это изображение и этот ответ

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