iOS - Push notification d'alerte n'est pas affichée lorsque l'application est en cours d'exécution
J'ai intégré les notifications push dans mon application. Les utilisateurs recevront une notification push à se joindre à un groupe. Lorsque l'utilisateur clique sur Rejoindre, j'ai manipuler quelque chose dans le code. Et je suis donc à mettre en œuvre:
- (void)application:(UIApplication *)application
didReceiveRemoteNotification:(NSDictionary *)userInfo
Cela fonctionne bien lorsque l'application n'est pas en cours d'exécution.
Lorsque l'application est en cours d'exécution, je ne vois pas de UIAlertView
. Comment rendre mon application afficher la notification d'alerte de sorte que l'utilisateur peut toujours décider d'adhérer ou pas?
- C'est la meilleure solution! stackoverflow.com/questions/14872088/...
Vous devez vous connecter pour publier un commentaire.
J'ai utilisé ce type de code dans mon application délégué pour imiter la notification d'alerte lorsque l'application est active. Vous devriez la mise en place de
UIAlertViewDelegate
protocole de méthode(s) pour gérer ce qui se passe quand l'utilisateur appuie sur un des boutons.Pour n'importe qui pourrait être intéressé, j'ai fini par créer une vue personnalisée qui ressemble le système de push bannière sur le dessus, mais ajoute un bouton de fermeture (petit bleu X) et une option pour appuyez sur le message pour l'action personnalisée. Il prend également en charge le cas de plus d'une notification d'arrivée avant que l'utilisateur a eu le temps de lire/rejeter les anciens (Avec pas de limite à combien peut s'accumulent...)
Lien vers GitHub: AGPushNote
L'utilisation est fondamentalement sur-liner:
Et ça ressemble à ça sur iOS7 (iOS6 ont un iOS6 regarder et se sentir...)
Vous devez afficher l'alerte vous-même si vous le souhaitez. C'est un comportement intentionnel, comme indiqué ici http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/IPhoneOSClientImp/IPhoneOSClientImp.html ci-dessous le Listing 2-6
seulement cette fonction sera appelée et vous devez explicitement montrer l'alerte sur ce cas, aucune notification ne viennent si l'application est en cours d'exécution dans lequel vous devez mettre en œuvre la notification.Mettre le point de rupture de l'il et de gérer l'appel de notification lors de l'appel de fonction et de montrer votre alerte personnalisées là.
Pour montrer l'affichage des alertes lors de l'exécution de l'application, vous devez utiliser
et en accédant à la
userInfo
variableL'application continuera de recevoir de la
-application:didReceiveRemoteNotification
message dans votre Délégué d'Application, mais vous aurez à agir sur le message vous-même (c'est à dire l'alerte n'est pas affiché par défaut).La
userInfo
paramètre contient un objet avec la touchenotificationType
, que vous pouvez utiliser pour identifier le message push.Ici est une version qui soutiennent UIAlertController
}
** Veuillez noter mon application utilise l'auto.navigationController dans Délégué d'Application, il vous suffit de brancher sur n'importe quel ViewController à présent ( montrer ) l'Alerte **