Могу ли я получить маркер уведомления, как только я не позволил, а затем разрешить его из настроек.(Все без перезапуска приложения) - PullRequest
0 голосов
/ 20 июня 2019

Если у меня нет разрешения на уведомление, когда приложение запрашивает его.Затем я перешел к настройке и вручную разрешил уведомление.

Итак, вопрос в том, как я могу получить маркер уведомления без уничтожения и перезапустить приложение.Есть ли способ получить токен без перезапуска приложения.

Я зарегистрировался для получения уведомления в

  • Приложение завершило работу с методом выбора
  • Так что получил всплывающее окно дляполучить уведомление разрешить или нет.В то время я это отрицал.
  • Теперь я перешел к настройке приложения и включил это уведомление для приложения.Но не перезапустил приложение.
  • В этом случае есть способ получить токен уведомления.(Хотя приложение не перезапускается, когда я вручную изменяю состояние уведомления в iOS 13)

1 Ответ

0 голосов
/ 23 июня 2019

Вам не следует беспокоиться о токене APN в вашем случае.
Apple отправляет токен независимо от того, одобряют уведомления или нет.https://developer.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/HandlingRemoteNotifications.html#//apple_ref/doc/uid/TP40008194-CH6-SW1

В iOS и tvOS вы инициируете регистрацию APN для своего приложения, вызывая метод registerForRemoteNotifications объекта UIApplication.Вызывайте этот метод во время запуска как часть вашей обычной последовательности запуска.Когда приложение вызывает этот метод в первый раз, объект приложения связывается с APN и запрашивает токен устройства для вашего приложения от вашего
имени.

А если маркер изменен, вам не нужно перезапускать приложение,

Если токен устройства изменяется во время работы приложения, объект приложения вызывает приложение: didRegisterForRemoteNotificationsWithDeviceToken: метод делегата снова, чтобы уведомить вас об изменении.

Обновление
Возможно, я не понимаю ваш вопрос.
Но шаг за шагом:
1) Приложение зарегистрировалось для уведомления
2) Пользователь видит системное предупреждение об уведомлении
3) Пользователь Отклонить Уведомления
4) Приложение в любом случае получить токен устройства для APN
5) Приложение Отправить токен на любую службу (Ваш сервер API,Firebase, OneSignal и т. Д.)
6) Ваш сервер в любом случае отправляет уведомления в APN (но пользователь не видит эти уведомления)
7) Пользователь открывает настройки приложения и запускает уведомление
8) Выничего не делал
9) Ваш сервер все равно отправляет уведомления на APN
10) Уведомление просто отображается для пользователей и поступило в приложение

...