2010-08-27 6 views
7

Essayer de travailler autour de quelques cas de coin pour quand les notifications push sont refusées dans l'application et j'ai deux questions:Notifications Push Permission

1) Est-il possible de réinitialiser si l'utilisateur a vu la demande de notification pop en haut?

2) Est-il possible de déterminer si l'utilisateur a répondu non à la demande de notification?

Répondre

5

1) Non, à moins qu'il ya une API privée qui fait cela, mais ce n'est pas permis par Apple

2) La première fois que votre application est lancée, après avoir appelé registerForRemoteNotificationTypes, vous pouvez vérifier si didRegisterForRemoteNotificationsWithDeviceToken est appelé. Si ce n'est pas le cas, l'utilisateur a répondu "Non merci".

+0

1) Qu'est-ce que je pensais. .. grumble 2) le seul problème avec cela est l'intervalle de temps entre registerForRemoteNotificationTypes et didRegisterForRemoteNotificationsWithDeviceToken est indéfini. Je pourrais le vérifier à la sortie de l'application, mais je ne suis pas sûr que l'utilisateur doive faire un choix avant de quitter. L'utilisateur peut également modifier les autorisations de notification dans les paramètres et je ne peux pas détecter cette modification. –

5

Vous pouvez toujours vérifier l'état des autorisations si l'utilisateur les modifications, vous pouvez les consulter sur applicationDidBecomeActive

- (void)applicationDidBecomeActive:(UIApplication *)application 
{ 
    if ([[UIApplication sharedApplication] respondsToSelector:@selector(isRegisteredForRemoteNotifications)]) { 
     if ([[UIApplication sharedApplication] isRegisteredForRemoteNotifications]){ 
      NSLog(@"Notifications Enabled ios 8"); 
     } else { 
      NSLog(@"Notifications not Enabled ios 8"); 
     } 
    } else { 
     UIRemoteNotificationType types = [[UIApplication sharedApplication] enabledRemoteNotificationTypes]; 
     if (types & UIRemoteNotificationTypeAlert) 
     { 
      NSLog(@"Notifications Enabled"); 
     } 
     else 
     { 
      NSLog(@"Notifications not Enabled"); 
     } 
    } 

} 

mis à jour pour le faire fonctionner sur iOS 8 trop

+0

À partir des documents, il semble que ce serait réglé si vous demandiez l'autorisation d'alerte, même si l'utilisateur avait désactivé les alertes pour votre application. –

+0

Je ne comprends pas ce que vous voulez dire, cela ne règle rien, je vérifie seulement le statut de l'autorisation – jcesarmobile

+0

Je pensais que je ne ferais que rapporter les permissions pour lesquelles vous aviez demandé de vous enregistrer auparavant, mais dans d'autres tests je pense que vous avez raison. il ne rapporte que les permissions accordées par le système. –

Questions connexes