Ils peuvent être utilisés pour informer l'application d'un nouveau contenu sans que l'utilisateur en soit informé. Au lieu d'afficher une alerte de notification, l'application sera réveillée en arrière-plan (iOS ne lance pas automatiquement votre application si l'utilisateur l'a quittée par la force) et application:didReceiveRemoteNotification:fetchCompletionHandler : sera appelé. Vous avez alors la possibilité de traiter toute information de manière transparente pour l'utilisateur :
- Télécharger du contenu
- Synchroniser certains éléments,
- Informer l'utilisateur directement dans l'application lorsqu'il l'ouvre à nouveau
Notez que votre temps est limité à 30 secondes.
Pour configurer les notifications silencieuses
Pour prendre en charge les notifications à distance silencieuses, ajoutez la valeur remote-notification au tableau UIBackgroundModes dans votre fichier Info.plist. Pour en savoir plus sur ce tableau, voir UIBackgroundModes.
<key>UIBackgroundModes</key>
<array>
<string>remote-notification</string>
</array>
Configuration d'une notification silencieuse
Le dictionnaire aps peut également contenir la propriété content-available. La propriété content-available, avec une valeur de 1, permet à la notification à distance d'agir comme une notification silencieuse. Lorsqu'une notification silencieuse arrive, iOS réveille votre application en arrière-plan afin que vous puissiez obtenir de nouvelles données de votre serveur ou effectuer un traitement des informations en arrière-plan. Les utilisateurs ne sont pas informés des informations nouvelles ou modifiées résultant d'une notification silencieuse, mais ils peuvent les découvrir la prochaine fois qu'ils ouvrent votre application.
Pour une notification silencieuse, veillez à ce qu'il n'y ait pas d'alerte, de son ou de charge utile de badge dans le dictionnaire aps. Si vous ne suivez pas ces conseils, la notification mal configurée risque d'être bloquée et de ne pas être transmise à l'application en arrière-plan, et au lieu d'être silencieuse, elle s'affichera à l'intention de l'utilisateur