При первом запуске моего приложения меня спрашивают, хочу ли я разрешать push-уведомления, поэтому я выбираю «да». Теперь, когда я перехожу к настройкам и отключу все уведомления для своего приложения, я все равно получаю токен устройства от - (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken;
. Я, как разработчик, отвечаю за отслеживание, включено ли у моего приложения? Или это ошибка?Почему iPhone по-прежнему дает мне токен устройства, если push отключен?
2
A
ответ
3
Маркер устройства обычно хранится на сервере где-то. Если пользователь вдруг решит, что хочет нажимать уведомления и снова включает его, токен своего устройства уже создан и хранится на вашем сервере.
Если токен устройства не был сгенерирован, пользователь должен будет убедиться, что приложение было завершено, а затем повторно запущено, чтобы маркер устройства был сгенерирован.
Вы можете определить, если пользователь отключил уведомления толчка с кодом ниже
UIRemoteNotificationType remoteNotificationType = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];
if (remoteNotificationType == UIRemoteNotificationTypeNone) {
... Do not send push
}
Так что это нормально для меня, чтобы продолжать посылать толчок к маркеру устройства? iOS будет игнорировать их? –
Я обновил свой ответ. Вы не должны посылать им толчок. – bbarnhart