Lors de l’envoi de notifications push qui incluent des images, le SDK OneSignal essaie d’obtenir les URL d’images externes à partir de la Charge utile OSNotification et de les afficher dans la notification. Peu importe si l’application est fermée pendant ce processus. Le SDK attend que l’image soit téléchargée, mais si cela prend plus de ~25 secondes (imposé par Apple), la notification est affichée sans l’image. Le SDK de OneSignal ne réessaie pas d’obtenir l’image si elle ne parvient pas à se télécharger.
Ce guide couvrira les raisons les plus courantes pour lesquelles les images ne s’affichent pas et comment les corriger. Pour plus de détails sur les spécifications des images, consultez Images et médias riches.
Configuration de l’image
Vérifiez d’abord ces éléments pour vous assurer que l’image est correctement configurée.
Taille de l’image
L’image doit faire moins de 5 Mo. Plus l’image est petite, plus elle se téléchargera rapidement. Plus de détails dans Images et médias riches.
URL de l’image
- Les URL d’images nécessitent un lien direct vers la ressource image. Aucune redirection et aucun lien vers des pages qui affichent l’image mais pas la ressource image réelle.
- Habituellement, cela signifie que l’URL de l’image commence par
https:// et se termine par une extension de fichier comme .png ou .jpg.
Exemple :
- Ceci ne fonctionnera pas :
https://pixabay.com/en/architecture-travel-sky-building-3095716/
- Mais si vous faites un clic droit sur l’image et l’ouvrez dans un nouvel onglet, ceci fonctionnera :
https://cdn.pixabay.com/photo/2018/01/21/01/46/architecture-3095716_960_720.jpg
Hébergement de l’image
Si vous avez téléchargé l’image sur OneSignal, elle sera hébergée sur nos serveurs pendant ~33 jours. Si vous avez besoin de l’image plus longtemps, vous pouvez utiliser des modèles ou stocker l’image sur vos propres serveurs et référencer l’URL de la ressource directement dans le modèle.
Si vous hébergez l’image vous-même, vous devez vous assurer que le serveur est capable de gérer le nombre de téléchargements. Chaque appareil qui reçoit la notification devra télécharger l’image. Environ 30 secondes est le temps dont dispose l’appareil pour télécharger toutes les ressources de notification, y compris les images. Si cela prend plus de temps, elle ne s’affichera pas sur cet appareil.
Configuration de l’appareil
Vérifiez la connexion Internet sur l’appareil. Les connexions réseau instables peuvent empêcher l’image de s’afficher.
- Testez sur différents réseaux WiFi.
- Testez sur différents réseaux cellulaires.
- Testez sur différents appareils.
Consultez les sections ci-dessous en fonction de la plateforme ne recevant pas l’image.
Images push web
- Seul Chrome prend en charge les grandes images dans les notifications push sur Windows et Android.
- Chrome pour macOS ne prend pas en charge les grandes images.
- Firefox, Safari et Edge ne prennent pas en charge les grandes images.
- Sur Android, lorsque vous recevez la notification, vous devrez appuyer sur la notification pour la développer et voir l’image.
Si votre application de navigateur mobile a de nombreuses notifications push non lues et/ou de nombreux onglets ouverts, cela peut empêcher les notifications de s’afficher.
Images push Android
Lorsque vous recevez la notification dans le centre de notifications Android, vous devrez développer la notification pour voir l’image.
Android ne nécessite aucune configuration supplémentaire pour recevoir des images dans les notifications push.
Images push iOS
Les notifications iOS nécessitent que l’extension de service de notification soit configurée correctement. La configuration de l’extension de service de notification est couverte dans nos guides de Configuration du SDK mobile pour la version de notre SDK que vous utilisez.
Si vos URL d’images sont HTTP et que vous insistez pour les héberger vous-même en utilisant une URL HTTP, vous devrez définir NSAppTransportSecurity sur NSAllowsArbitraryLoads dans votre fichier .plist Xcode.
Apple peut rejeter votre application si NSAllowsArbitraryLoads est activé lors de la publication de votre application sur l’App Store, car cela peut créer une vulnérabilité de sécurité. Pour plus d’informations, veuillez lire l’Aperçu de la sécurité d’Apple.
Dépannage technique
Si vous avez vérifié les éléments ci-dessus et que l’image ne s’affiche toujours pas, utilisez la méthode setLogLevel de notre SDK avec la journalisation VERBOSE pour vérifier les erreurs spécifiques liées au téléchargement d’images.
Pour un guide détaillé sur la génération de journaux, consultez notre guide Capture d’un journal de débogage.
Les erreurs courantes incluent :
Could not download image!
Encountered an error while attempting to download file with URL:
OneSignal encountered an exception while downloading file
Dépannage de l’extension de service de notification iOS
Si les images ne s’affichent pas sur iOS, veuillez suivre notre guide Dépannage de l’extension de service de notification iOS.
Ce guide vous aidera à examiner la configuration de votre extension de service de notification et à identifier tout problème.