Вопрос по iphone, ios – Включить / отключить Apple Push Notification из приложения iPhone?

20

У меня есть еще одно сомнениеAPNS, Это означает, что когда приложение запускается впервые, оно запрашивает разрешение на push-уведомление Apple, если пользователь согласился, он может получать уведомления. Если пользователь отменил это, он не может получать никаких уведомлений. Я чист??

Теперь я сомневаюсь,

At first time if the user cancelled the push notification service from the app (Clicked Cancel button) again after some days if they want receive Apple Push Notification it is possible to enable the Apple Push Notification again for the particular user from the App.

And if the user accept the apple push notification service first and after some days if they don't want to receive the notifications it is possible to disable the APNS in our app? I hope you understand my doubt. Can any one please clarify this doubt?

It is possible to do these above scenarios in our iPhone app?

Пожалуйста, помогите мне. Заранее спасибо.

Ваш Ответ

7   ответов
1

маркер устройства вашего iPhone регистрируется на сервере APN, а затем вы можете получить push-уведомление. Позже вы можете включить / отключить в настройках вашего устройства & # x2192; уведомление & # x2192; ваше приложение.

16

UIRemoteNotificationType enabledTypes = [[UIApplication sharedApplication] enabledRemoteNotificationTypes]; и затем выполнение побитового режима и операции с различными типами, чтобы увидеть, какие из них включены. Вы также можете позвонитьunregisterForRemoteNotifications отключить уведомления. Единственное, что вы не можете сделать, это включить уведомления, хотя вы можете направить пользователя.

4

UISwitch.Чтобыenable push notification from the code используйте это внутри действия кнопки.

[[UIApplication sharedApplication] registerForRemoteNotificationTypes:
   (UIRemoteNotificationTypeBadge |  UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];

Inorder to disable

[[UIApplication sharedApplication] unregisterForRemoteNotifications];
NSLog(@"UnRegistered for pushnotification");
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
0

    if ([[UIApplication sharedApplication] respondsToSelector:@selector(currentUserNotificationSettings)]) {

    UIUserNotificationType types = [[[UIApplication sharedApplication] currentUserNotificationSettings] types];

    if (types == UIUserNotificationTypeNone) {
        // Do something
        NSLog(@"");
    }
} else {

    UIRemoteNotificationType types = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];

    if (types == UIRemoteNotificationTypeNone) {
        // Do something
        NSLog(@"");
    }
}

увидетьКак обновить код с помощью enabledRemoteNotificationTypes, потому что он «не поддерживается в iOS 8»?

1

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

2. это можно сделать из приложения и настроек. Если вы хотите отключить его из своего приложения, вы можете отправить токен устройства (который решит отключить push-уведомление) на свой сервер и сохранить его для ex. как & quot; список уведомлений & quot; и при отправке полезных данных вы игнорируете эти токены, чтобы они не получали уведомление.

3. Я уже отвечаю.

Удачи.

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Gopinath
0

отключить push-уведомления путем регистрации и отмены регистрации push-уведомлений.

Enable Push Notification:

if #available(iOS 10.0, *) {
   // For iOS 10.0 +
   let center  = UNUserNotificationCenter.current()
   center.delegate = self
   center.requestAuthorization(options: [.sound, .alert, .badge]) { (granted, error) in
        if error == nil{
           DispatchQueue.main.async(execute: {
                 UIApplication.shared.registerForRemoteNotifications()
           }) 
        }
   }
}else{
    // Below iOS 10.0

    let settings = UIUserNotificationSettings(types: [.sound, .alert, .badge], categories: nil)
    UIApplication.shared.registerUserNotificationSettings(settings)

    //or
    //UIApplication.shared.registerForRemoteNotifications()
}

Delegate methods

@available(iOS 10.0, *)
func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {

}

@available(iOS 10.0, *)
func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {

}


func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
    // .. Receipt of device token
}


func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) {
    // handle error
}

Disable Push Notification:

UIApplication.shared.unregisterForRemoteNotifications()
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
15

вы не можете включить или отключить Push-уведомления для своего приложения из кода приложения. Диалог с запросом разрешения отображается только один раз. Обычно другие приложения отображают инструкции для пользователя, чтобы включить / отключить push-уведомления, зайдя в Настройки- & gt; Notification- & GT; Имя приложения.

Error: User Rate Limit Exceeded Gopinath
Error: User Rate Limit Exceededif([UIApplication sharedApplication].enabledRemoteNotificationTypes == UIRemoteNotificationTypeNone)

Похожие вопросы