1

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

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

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

[UAirship push].allowUnregisteringUserNotificationTypes = YES; 
[UAirship push].userPushNotificationsEnabled = NO; 
[UAirship push].backgroundPushNotificationsEnabled = NO; 
[[UAirship push] setUserNotificationTypes:(UIUserNotificationTypeNone)]; 
[[UAirship push] updateRegistration]; 

Любой знает, что это на самом деле это вообще возможно, или я должен удалить по-разному?

+0

вы используете рамки третьей стороны, чтобы остановить уведомления ..whats является 'UAirship'? – vaibhav

+0

@vaibhav Я использую стороннюю структуру под названием Urban Airship, которая обрабатывает push-уведомления вместо серверов APNS от Apple. Поэтому я настроил Urban Airship, чтобы отправлять push-уведомления в мое приложение через их серверы. Но я не могу отключить его, хотя приведенный выше код указывает, что это должно быть возможно. – ClockWise

+0

@ClookWise мое замешательство здесь заражает все сторонние pushnotification, такие как «GCM» или «UAirship» syncd с APN, поэтому вы пытались отключить уведомление из обычного пути (APN) .. – vaibhav

ответ

0

Чтобы отключить уведомления пользователей, вам также необходимо установить requireSettingsAppToDisableUserNotifications.

Мы должны были защитить от отключения уведомлений из-за ошибки, появившейся в iOS 8, если при отключении уведомлений они не могут быть активированы снова без перезагрузки (радар № 17878212). Вместо этого мы рекомендуем разрешить включение уведомлений в приложении, а затем предоставить link to the settings, чтобы ваши пользователи могли легко их отключить. Это не идеально, но это позволяет избежать ошибки.

Похоже, что он окончательно зафиксирован в iOS 10, поэтому наш SDK 8.0.0 для поддержки iOS 10 позволит отключать типы без каких-либо дополнительных флагов или проблем.

0

просто используйте код ниже:

// use this for start recieving notification (enable) 


[[UIApplication sharedApplication] registerForRemoteNotifications]; 

// use this for stop recieving notification (disable) 

[[UIApplication sharedApplication] unregisterForRemoteNotifications];