Отключить автоматическое push-уведомление ios

Я переопределяю как DidReceiveRemoteNotification, так и ReceivedRemoteNotification и оставляю их пустыми, пытаясь предотвратить автоматическую отправку моих удаленных уведомлений, но, похоже, это не помогает. Потому что каждый раз, когда я отправляю запрос почтальона на уведомление, они все равно появляются. Как я могу предотвратить отправку уведомления до тех пор, пока приложение не выполнит необходимые требования (пользователь не будет подписан)?

Отправьте токен устройства на ваш сервер, когда пользователь входит в систему, иначе не отправляйте его.

manishsharma93 16.07.2019 08:58

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

Junior Jiang 17.07.2019 05:24

@JuniorJiang-MSFT, значит, нет возможности пересечь уведомление до его отправки? в качестве альтернативы, какая функция вызывается после получения удаленного уведомления? (до упомянутого выше)

Steinar 17.07.2019 09:29

@Steinar Да, если пользователь разрешит разрешение на уведомление при первом запуске приложения, уведомление все равно придет. Однако вы можете установить для уведомления беззвучный режим, по крайней мере, похоже, что уведомление не получено.developer.apple.com/documentation/usernotificat‌​ions/…

Junior Jiang 17.07.2019 09:53

@JuniorJiang-MSFT, если для уведомления установлен беззвучный режим, можно ли будет вручную отправить уведомление с помощью функции UNUserNotificationCenter.Current.AddNotificationRequest?

Steinar 17.07.2019 13:30

@Steinar Возможно, вы можете. Одно из них - удаленное уведомление, а другое - локальное уведомление.

Junior Jiang 18.07.2019 04:03
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
6
63
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Когда ваше приложение запускается, зарегистрируйтесь или отмените регистрацию, как только вы узнаете состояние приложения.

Отменить регистрацию:

UIApplication.SharedApplication.UnregisterForRemoteNotifications();

Регистр:

UIApplication.SharedApplication.RegisterForRemoteNotifications();

это не совсем то, что мне нужно, я все еще хочу иметь возможность общаться со своим приложением.

Steinar 16.07.2019 08:59

@Steinar Обновите свой вопрос о том, как именно выглядит ваш вариант использования.

SushiHangover 16.07.2019 09:32

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