зарегистрировать устройство для push-уведомлений при первом запуске - PullRequest
4 голосов
/ 22 мая 2011

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

проблема здесь в том, что didRegisterForRemoteNotificationsWithDeviceToken вызывается до того, как пользователь принял решение, поэтому enabledRemoteNotificationTypes все отключены, прежде чем пользователь нажмет кнопку.

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

при следующем запуске эта информация обновляется, но пока пользователь не перезапускает приложение (что может занять много времени во время многозадачности), я не могу отправить этому человеку push-сообщение.

у кого-нибудь есть совет для меня? Есть ли лучшее место, чтобы обновить мой сервер с настройками пользователя. вероятно, есть обратный вызов из всплывающего окна, которое появляется в первый раз?

спасибо за все подсказки!

1 Ответ

2 голосов
/ 22 мая 2011

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

Проблема заключается в том, что пользователь может (повторно) включить любые типы уведомлений для вашего приложения, пока оно не запущено, чтобы у вашего сервера не было возможности заметить изменения, и вы не будете доставлять уведомления, даже если пользователь ожидает их.

...