web-dev-qa-db-fra.com

iOS - Demander d'activer les notifications Push après le refus initial

Je voudrais savoir s'il est possible de forcer le popup "XXXXX voudrait vous envoyer des notifications Push" depuis une application, après une première baisse. Le cas d'utilisation est le suivant:

  • L'utilisateur installe l'application, reçoit l'alerte sur les notifications Push et refuse car il ne connaît pas/ne fait pas encore confiance à l'application.

  • Ils utilisent l'application et demandent de manière proactive au sein de l'application d'être alerté lorsque quelque chose se passe (par exemple, quelque chose qu'ils veulent acheter est épuisé afin qu'ils veulent être alertés lorsqu'il sera de nouveau en stock).

  • Alors maintenant, l'utilisateur a demandé à l'application de les informer de quelque chose de spécifique, mais les notifications Push sont désactivées au niveau du système d'exploitation.

  • Donc, si l'utilisateur demande une alerte, mais je détecte qu'il a refusé les alertes lors de la première exécution, je dois le notifier et lui demander d'activer les notifications Push pour que l'alerte fonctionne.

  • Idéalement, je voudrais forcer le "XXXX voudrait vous envoyer une alerte de notifications Push" à ce stade (une deuxième fois depuis l'installation de l'application).

  • Je suppose que le plan b serait de leur montrer mon propre message leur disant qu'ils doivent entrer dans leurs paramètres système et le réactiver manuellement afin de recevoir l'alerte qu'ils souhaitent. C'est loin d'être idéal.

Toute aide serait appréciée. Merci.

38
Joel

Vous ne pouvez pas faire à nouveau afficher l'alerte par iOS. Voici une meilleure approche:

  1. Gardez un indicateur dans votre NSUserDefaults indiquant si vous devez vous inscrire aux notifications Push au lancement. Par défaut, le drapeau est faux.
  2. Lorsque vous lancez, vérifiez le drapeau. Si c'est vrai, inscrivez-vous immédiatement. Sinon, ne vous inscrivez pas.
  3. La première fois que l'utilisateur fait quelque chose qui provoquerait une notification Push, enregistrez-vous pour les notifications Push et définissez l'indicateur dans NSUserDefaults.

De cette façon, lorsque l'utilisateur reçoit l'alerte de notifications Push, il a une idée de la raison pour laquelle il l'obtient et peut en fait dire oui.

52
rob mayoff

Je suis également confronté à un problème similaire. Après tant de recherches, j'ai décidé de faire ce que vous appelez le plan B. Autrement dit, montrez à l'utilisateur ma propre alerte en disant que Push doit être activé pour une meilleure expérience, ou quelque chose comme ça.

Pour vérifier que les types de push requis sont activés, utilisez cette méthode:

- (UIRemoteNotificationType)enabledRemoteNotificationTypes

référence UIApplication

Je pense que c'est la solution propre. Considérons un cas où, après avoir accepté la demande dans un premier temps, l'utilisateur désactive Push, cette chose fonctionnera même dans ce scénario.

4
Sailesh

La meilleure façon de le faire serait de leur poser une question préemptive (si vous créez un jeu) (par exemple, voulez-vous que nous vous informions quand vos récoltes sont prêtes à être récoltées? répondez "oui", puis lancez la popup native iOS Push. vous pouvez ensuite superposer plusieurs questions le long de l'entonnoir des utilisateurs, et vous finirez par toutes les attraper.

3
Jeremy