2014-06-18 1 views
1

J'essaie d'implémenter des notifications push à l'aide du plugin de téléphone PushWoosh. Tous les exemples ont l'événement registerDevice sur deviceReady. Cependant, je veux que les utilisateurs ne soient pas avertis tout de suite; donc, je retarde les inscriptions.PushWoosh Enregistrer les rappels avant que l'utilisateur ne choisisse

Mon problème est que les rappels pour registerDevice se produisent AVANT que l'utilisateur choisisse réellement d'autoriser les notifications ou non. Donc, je reçois un statut qui montre que le push est désactivé quand l'utilisateur n'a jamais vraiment fait de choix.

Comment puis-je empêcher mon rappel de se déclencher tant qu'APRÈS que l'utilisateur a choisi d'autoriser ou non les notifications push.

pushNotification.registerDevice(
    function(status) { 
    // THIS CALLBACK IS CALLED INSTANTLY 
    console.log("Register device status callback!"); 
    console.log(status); 

    }, 
    function(status) { 
    console.log("Register device fail callback!"); 
    console.log(status); 

    } 
); 

Répondre

1

Malheureusement c'est le comportement d'iOS. Il envoie le rappel même avant que l'utilisateur ne soit d'accord ou pas. Cependant, vous pouvez obtenir le statut des notifications (activé/désactivé).

Appelez la fonction getRemoteNotificationStatus dans le plugin. Si vous ne disposez pas de "pushAlert", considérez les notifications push désactivées (l'utilisateur ne verra jamais l'alerte).

C'est exactement ce que fait Skype par exemple.

+0

Merci pour l'info. Je n'avais pas réalisé que c'était le cas. Genre de moche en fait. Il est logique de ne PAS vouloir faire quoi que ce soit jusqu'à ce que vous sachiez quel était le choix de l'utilisateur. Eh bien, merci d'avoir répondu. – Justin

+0

Cela m'a toujours surpris aussi. – shader

+0

@shader, pouvez-vous donner un exemple détaillé comment appeler correctement getRemoteNotificationStatus()? Si c'est aussi simple que d'inspecter le type de retour d'appeler pushNotification.getRemoteNotificationStatus(), je reçois toujours undefined. – nokturnal

Questions connexes