Можете ли вы отключить входящие Push-уведомления со стороны приложения [iOS]
Я делаю приложение, которое использует яблоки Push-уведомления. Я хочу, чтобы у меня был режим "не при исполнении служебных обязанностей", в котором push-уведомление по-прежнему принимается, но при его поступлении звук не воспроизводится. Есть ли способ отключить эти push-уведомления из приложения? Я знаю, что просто не могу отправить звук из сообщения JSON, но было бы проще, если бы я мог сделать это из приложения. Я все еще хочу получать уведомления, поэтому я не хочу отменять регистрацию в push-уведомлениях
2 ответа
Если ваше приложение работает в фоновом режиме, единственный способ отключить звук - это не посылать звук из сообщения JSON.
Когда ваше приложение находится на переднем плане, вы будете получать push by application:didReceiveRemoteNotification:, в этом случае, независимо от того, будет ли ваш звук отправки или нет, приложение будет получать push-уведомления без вывода сообщений.
Вы можете изменить регистрацию, чтобы не включать звук.
Если вы хотите озвучить уведомления, позвоните:
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];
Когда вы хотите отключить уведомления:
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert)];
Это позволит отображать только предупреждение и значок. Звук не будет воспроизводиться.
РЕДАКТИРОВАТЬ:
Я полагаю, что следующая цитата подразумевает, что уведомление не будет фильтроваться, если полезная нагрузка содержит тип, который не включен. Устройство просто не будет отображать / звучать тип, который не включен.
Система не создает значки, не отображает предупреждающие сообщения и не воспроизводит звуковые сигналы оповещения, если какой-либо из этих типов уведомлений не включен для вашего приложения, даже если они указаны в полезной нагрузке уведомления.
Следует также отметить, что любые типы уведомлений, которые ваше приложение выбирает для включения / отключения, пользователи могут отменить это решение вручную:
Пользователи могут изменить разрешенные типы уведомлений в любой момент, используя Настройки в iOS или Системные настройки в OS X.