Hey! These docs are for version 7.0, which is no longer officially supported. Click here for the latest version, 9.0!


When sending notifications with images (large images and icons), each device that receives the push needs to download that image. If your server cannot handle that bandwidth, you should try:

  • Decreasing the Image File size by lowering the quality and/or the image size to [the recommended settings](🔗).

  • Scatter the notifications using our [Intelligent Delivery or Timezone Settings](🔗) or using [Segments](🔗).

Other Common issues for images not showing on all platforms:

## Image URL

Image URLs need a direct link to the image, no redirects allowed. In most cases, a direct link will have a file extension like `.png` or `.jpg`

Example:

  • this will not work: `https://pixabay.com/en/architecture-travel-sky-building-3095716/`

  • But if you right click the image and open in a new tab, this will work: `https://cdn.pixabay.com/photo/2018/01/21/01/46/architecture-3095716_960_720.jpg`

## Image Host

The server hosting the image may have went down or could not handle the amount of downloads. For example, APNS only waits 30 seconds to download an image, if it takes longer it will not show it.

Every single device that receives the notification needs to download it. If the servers cannot handle the traffic, the image will not show.

Try hosting the resource on a dedicated server or use the OneSignal import option to have us host it for you.

It is best to host resources on other servers if possible.

### OneSignal Hosted Images

When you host an image with OneSignal, depending on where you place it, the image will be saved temporarily or for the lifetime of the app.

  1. Images added as icons or pictures to notifications directly will be saved to OneSignal for 7 days before being discarded.

For example, an `/n/`in the URL will last for 7 days: `https://img.onesignal.com/n/579eb854-bcc8-4c98-a9cb-472be5f76dc3.png`

If you duplicate a notification, you will need to re-upload the image or use a new image as this url may not be valid.

  1. Image uploaded to [Templates](🔗) or set as the default icon, then this image will stay for the life of the account.

If you are planning to change and/or re-use icon images, you should use a [Templates](🔗) or add the image with each notification.

## Web Push Images

**Only Chrome supports large images in push notifications on Windows, Android and macOS running Big Sur**.

Firefox, Safari and Edge do not support big images.

On mobile web push, when you get the notification in the android device shade, you will need to [slide down on the notification to see the image](🔗).

If your mobile browser app has many unread push notifications and/or many tabs open, this can cause notifications to now show.




## Mobile Push Images

### iOS

Not seeing [Rich Media](🔗) on iOS notifications generally happens when the Notification Service Extension for your app is not setup. Please double check the setup docs you used for the iOS Notification Service Extension that it was implemented correctly.

  1. Test another device, if the image shows, then the Notification Service Extension is setup correctly. Details on [Troubleshooting the iOS Notification Service Extension](🔗)

  2. Open your attachment URL in a web browser. Make sure it is a direct link to the image/video, it cannot be part of an HTML page. Also **_redirects are not supported_**.

  3. If it takes more than 30 seconds to download the attachment, iOS will cancel the extension service and the notification will be displayed without media. Check to make sure the size of your attachment is appropriate. You can see a [list of supported media (and max file sizes) here](🔗).

  4. Make sure your URL is HTTPS. HTTP urls will not work unless you set `NSAppTransportSecurity` to `NSAllowsArbitraryLoads` in your Xcode .plist.

About App Transport Security

Please do not leave `NSAllowsArbitraryLoads` enabled when releasing your app to the App Store, as this can create a security vulnerability in your app. For more information, please read Apple's [Security Overview](🔗)

  1. There was a networking issue with the device or server where the media is hosted. Try hosting the image on OneSignal or another hosting provider.

  2. Check your OneSignalNotificationServiceExtension's `Deployment Target`, and set it to iOS 10.

### Android

Make sure the big picture image you are sending contains the actual file extension and is a direct link to the image with a full URL. Redirects and URLs without the proper http or https protocol provided and image extension will not work.

When you get the notification in the android device shade, you will need to [slide down on the notification you should see it](🔗)