0

Comme je peux le voir dans la documentation APNS, les notifications silencieuses sont traitées dans didreceiveremotenotification si l'application n'est pas en cours d'exécution, mais elles ont une faible priorité. Donc parfois mon application iOS ne reçoit pas de notifications silencieuses.APNS: Recevoir des notifications non silencieuses si l'application n'est pas en cours d'exécution?

Est-ce que iOS affiche des notifications non silencieuses, si l'application n'est pas en cours d'exécution (pas au premier plan, pas en arrière-plan)? Et une notification non silencieuse déclenchera-t-elle le didreceiveremotenotification?

Répondre

2

Pour les notifications non silencieuses,

didreceiveremotenotification sera déclenchée si l'application est en active ou inactive état. Pas lorsque terminated ou suspended état. Dans le cas de terminated ou suspended état lorsque l'utilisateur appuie sur l'application de notification sera lancé en appelant didFinishLaunchingWithOptions et launchingOptions aura la charge utile comme Dictionary.

Si vous fournissez UNNotificationServiceExtension, iOS appellera le didReceive(_:withContentHandler:) à la réception de la notification et vous pourrez l'utiliser pour personnaliser le contenu d'une notification à distance avant qu'elle ne soit remise à l'utilisateur. lire: https://developer.apple.com/documentation/usernotifications/unnotificationserviceextension

Si vous fournir UNNotificationContentExtension alors iOS appellera la didReceive sur réception de la notification et vous pouvez l'utiliser le contenu de notification de charge personnalisée.

Lire: https://developer.apple.com/documentation/usernotificationsui/unnotificationcontentextension

P.S:

notifications normales ne peuvent pas être utilisés comme une alternative/travail autour d'une notification silencieuse juste parce que vous ne pouvez pas utiliser une notification silencieuse dans l'état terminé app.

Les notifications silencieuses sont destinées à synchroniser l'application cliente avec le contenu mis à jour disponible sur le serveur. Comme cela peut être fait sans l'interaction explicite de l'utilisateur, une notification silencieuse peut être utilisée.

Les notifications silencieuses doivent contenir la clé content-available et ne doivent pas contenir de clé d'alerte, de son ou de badge. Où comme dans le cas d'une notification normale, il n'y a aucun moyen de cacher la bannière de notification/alerte/son à moins que le réglage de l'utilisateur sur le téléphone le dise.

+0

Les notifications normales s'afficheront toujours, même si l'application est en état suspendu ou interrompu? – xyqw

+0

Oui mon pote :) L'état de l'application ne modifiera que la façon dont la notification est transmise à votre application, comme expliqué ci-dessus. Notification s'affichera toujours en fonction du paramètre de l'appareil de l'utilisateur pour la notification (comme l'alerte ou la bannière) Pas moyen d'empêcher l'utilisateur d'apparaître par programme –

+0

merci;) ... – xyqw