Bannière de Notification Push iOS affichée deux fois pour une seule poussée
J'ai remarqué que l'envoi D'une notification Push entraîne le comportement suivant:
Voyez comment la bannière est affichée une deuxième fois, après un court délai?
Au début, je pensais que notre backend envoyait par erreur 2 notifications push, l'une après l'autre.
Cependant, cela semble être un comportement iOS par défaut pour une seule notification Push. La bannière est affichée, puis immédiatement "montrée à nouveau". Il en résulte cette interface utilisateur nerveux montré dans le GIF. La bannière semble avoir été reçue deux fois.
Testé en utilisant iOS 9.0.2.
Je ne me souviens pas avoir vu ce comportement à partir d'autres applications qui m'envoient des Notifications Push. Est-ce que je fais quelque chose de mal qui ferait apparaître la bannière deux fois?
Radar:
L'ingénierie a déterminé que votre rapport de bogue (23133694) est une copie d'un autre problème (23130766) et sera fermé.
8 réponses
Je rencontrais le même problème, mais après d'innombrables heures à essayer de déboguer, j'ai réalisé que j'appelais registerUserNotificationSettings(settings)
deux fois dans didFinishLaunchingWithOptions:
. Vérifiez que vous ne faites pas la même chose
Êtes-vous sûr de bien configurer votre installation?
si vous donnera plus de code, il sera plus facile de trouver le bug. ce n'est certainement pas un bug iOS.
choses de base à vérifier lorsque vous avez des problèmes avec les notifications du serveur:
1. Vérifiez votre profil de provisionnement et nettoyez tous les certificats inutilisés.
2. Assurez-vous que la configuration de votre serveur est correcte. Encore une fois, plus de détails sont nécessaires pour une réponse complète.
Si vous faites cela hors ligne alors habituellement, vous avez manqué quelque chose dans votre code ou votre gestionnaire pour les messages isolés est appelé deux fois.
Utilisez-vous la base de données pour stocker l'ID de périphérique?
Si oui, alors peut être l'id de périphérique de magasin deux fois.si possible, nettoyez db et essayez de l'Envoyer à nouveau
A eu ce problème pour deux appareils que nous utilisions avec les versions ios 9.3.3 et ios 9.2. Mais ce problème ne venait pas pour un appareil exécutant ios 8.2 et un autre fonctionnant pour iOS 10 (testé sur 10.3)
Le problème s'est produit sur les périphériques avec 9.3.3 et 9.2 à chaque nouvelle installation. Mais redémarrer l'appareil semblait résoudre le problème. Bien que ce ne soit pas une solution que nous pouvons proposer aux clients.
Sur les journaux de la console pour le système, nous avons reçu des appels déséquilibrés pour commencer / terminer les transitions d'apparence pour Message SBBannerButtonViewController lorsque cela s'est produit.
Cela semble être un problème avec certains appareils ayant 9.X versions et devrait fonctionner correctement pour les appareils exécutant iOS 10.0 et versions ultérieures.
Je pense que la mauvaise réponse est acceptée ici (S'il s'agit de migrer de L'analyse vers OneSignal). Parce que pour OneSignal, il ne semble pas y avoir de solution appropriée pour cela. Je suis également à la recherche de la solution si quelqu'un a. La seule solution pour cela était de redémarrer le téléphone.
Mais c'est bizarre. Nous ne pouvons pas demander à tous les utilisateurs de redémarrer leur appareil.
Nous étions confrontés au même problème sur IOS 9.3.1
Nous avons utilisé urban airship pour gérer les notifications et c'était notre configuration
let config = UAConfig.default()
UAirship.setLogging(false)
UAirship.takeOff(config)
UAirship.push().userPushNotificationsEnabled = true
UAirship.push().notificationOptions = [.alert, .badge, .sound]
UAirship.push().backgroundPushNotificationsEnabled = false
UAirship.push().pushNotificationDelegate = self
Après de nombreuses tentatives, nous avons simplement supprimé la ligne suivante et cela a fonctionné!
UAirship.push().notificationOptions = [.alert, .badge, .sound]
J'espère que cela aidera quelqu'un.
Je sais que cette réponse est quelques années après le post original, mais au cas où cela aiderait quelqu'un...
Dans mon cas, j'utilisais les notifications CloudKit et j'avais accidentellement créé deux abonnements qui suivaient le même type d'enregistrement!
Selon cette réponse sur une question similaire, ce problème a été signalé comme rdar: / / 23569779 et devrait être corrigé dans la version publique d'iOS 9.3.
Veuillez laisser un commentaire Si vous reproduisez ce problème dans iOS 9.3 +
Soi-disant fixé dans:
IOS 9.2.1 bêta (Build: 13D11)