<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/creating-visual-notifications-with-firebase-cloud-messaging-yzhyfupaf" -->

---
title: Creating visual notifications with Firebase Cloud Messaging
description: Firebase Cloud Messaging now supports adding images to push notifications on both iOS and Android, and introduces 12 new Android notification parameters for...
canonical: https://daily.dev/posts/creating-visual-notifications-with-firebase-cloud-messaging-yzhyfupaf
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Creating visual notifications with Firebase Cloud Messaging | daily.dev
og:description: Firebase Cloud Messaging now supports adding images to push notifications on both iOS and Android, and introduces 12 new Android notification parameters for...
og:url: https://daily.dev/posts/creating-visual-notifications-with-firebase-cloud-messaging-yzhyfupaf
og:image: https://api.daily.dev/og/posts/YzhYFuPAf.png
og:image:alt: Creating visual notifications with Firebase Cloud Messaging
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Creating visual notifications with Firebase Cloud Messaging

**[Firebase](https://daily.dev/sources/firebase-blog)** · 9 min read · 0 upvotes · 0 comments

## Summary

Firebase Cloud Messaging now supports adding images to push notifications on both iOS and Android, and introduces 12 new Android notification parameters for finer control over sound, vibration, lock-screen visibility, priority, event timing, and notification count. The post walks through drafting a notification with an image URL, downloading the latest Messaging SDKs, and implementing the iOS Notification Service Extension with the FIRMessaging ExtensionHelper API to fetch and attach media. It also explains new Android JSON parameters like event_time, vibrate_timings, light_settings, notification_priority, visibility, and notification_count with usage examples.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://firebase.blog/posts/2019/09/fcm-image-notification>

## Questions this post answers

### How do I add an image to a Firebase Cloud Messaging notification on iOS?

Provide a public image URL in the notification, either via the Firebase console composer or the image field in the HTTP v1 API JSON body, then add a Notification Service Extension target (iOS 10+) to your app. In didReceiveNotificationRequest:withContentHandler:, call [FIRMessaging extensionHelper] populateNotificationContent:withContentHandler: instead of calling the content handler directly, letting the Messaging SDK download and attach the image, gif, or video.

_Developers wiring up rich push notifications can track FCM SDK changes like this on daily.dev._

### What new Android notification parameters did Firebase Cloud Messaging add for controlling notification behavior?

Firebase Cloud Messaging added 12 new Android parameters including ticker, event_time, sticky, local_only, notification_priority, vibrate_timings, visibility, light_settings, defaultSound, defaultVibrateTimings, and notification_count. These let developers set custom event timestamps, control lock-screen visibility, brand notifications with vibration and LED light patterns, set importance level, and override the notification badge count, all via the HTTP Send API.

_Teams tuning push notification UX on Android can follow FCM parameter updates on daily.dev._

### What is the difference between notification_priority and AndroidMessagePriority in Firebase Cloud Messaging?

notification_priority controls the UI behavior of the notification on the device, such as how prominently and interruptively it displays, while AndroidMessagePriority is an FCM concept that controls when the message itself is delivered to the device. They are separate settings that should not be confused when configuring notification importance versus delivery timing.

_Developers debugging notification delivery timing versus display can keep up with FCM specifics via daily.dev._

## Similar posts on daily.dev

- [When Notifications Became Data Trucks: A Real-World Crash Story from Firebase FCM](https://daily.dev/posts/when-notifications-became-data-trucks-a-real-world-crash-story-from-firebase-fcm-nh9ixqylv) · ProAndroidDev · 1 upvotes · 0 comments

---

Tags: [#mobile](https://daily.dev/tags/mobile), [#android](https://daily.dev/tags/android), [#ios](https://daily.dev/tags/ios)

[View this post on daily.dev](https://daily.dev/posts/creating-visual-notifications-with-firebase-cloud-messaging-yzhyfupaf)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Creating visual notifications with Firebase Cloud Messaging","url":"https://daily.dev/posts/creating-visual-notifications-with-firebase-cloud-messaging-yzhyfupaf","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/creating-visual-notifications-with-firebase-cloud-messaging-yzhyfupaf"},"datePublished":"2026-08-23T12:18:17.510Z","dateModified":"2026-08-23T12:24:24.360Z","description":"Firebase Cloud Messaging now supports adding images to push notifications on both iOS and Android, and introduces 12 new Android notification parameters for...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/7ed721de96163685d26ab7e314be3ebc?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/7ed721de96163685d26ab7e314be3ebc?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Firebase","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Firebase","logo":"https://media.daily.dev/image/upload/s--i395oqZH--/f_auto,q_auto/v1787487448/logos/firebase-blog?_a=BAMAMicg0","url":"https://daily.dev/sources/firebase-blog"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/creating-visual-notifications-with-firebase-cloud-messaging-yzhyfupaf","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"mobile,android,ios","timeRequired":"PT9M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Firebase","item":"https://daily.dev/sources/firebase-blog"},{"@type":"ListItem","position":3,"name":"Creating visual notifications with Firebase Cloud Messaging"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/creating-visual-notifications-with-firebase-cloud-messaging-yzhyfupaf#faq","mainEntity":[{"@type":"Question","name":"How do I add an image to a Firebase Cloud Messaging notification on iOS?","acceptedAnswer":{"@type":"Answer","text":"Provide a public image URL in the notification, either via the Firebase console composer or the image field in the HTTP v1 API JSON body, then add a Notification Service Extension target (iOS 10+) to your app. In didReceiveNotificationRequest:withContentHandler:, call [FIRMessaging extensionHelper] populateNotificationContent:withContentHandler: instead of calling the content handler directly, letting the Messaging SDK download and attach the image, gif, or video. Developers wiring up rich push notifications can track FCM SDK changes like this on daily.dev."}},{"@type":"Question","name":"What new Android notification parameters did Firebase Cloud Messaging add for controlling notification behavior?","acceptedAnswer":{"@type":"Answer","text":"Firebase Cloud Messaging added 12 new Android parameters including ticker, event_time, sticky, local_only, notification_priority, vibrate_timings, visibility, light_settings, defaultSound, defaultVibrateTimings, and notification_count. These let developers set custom event timestamps, control lock-screen visibility, brand notifications with vibration and LED light patterns, set importance level, and override the notification badge count, all via the HTTP Send API. Teams tuning push notification UX on Android can follow FCM parameter updates on daily.dev."}},{"@type":"Question","name":"What is the difference between notification_priority and AndroidMessagePriority in Firebase Cloud Messaging?","acceptedAnswer":{"@type":"Answer","text":"notification_priority controls the UI behavior of the notification on the device, such as how prominently and interruptively it displays, while AndroidMessagePriority is an FCM concept that controls when the message itself is delivered to the device. They are separate settings that should not be confused when configuring notification importance versus delivery timing. Developers debugging notification delivery timing versus display can keep up with FCM specifics via daily.dev."}}]}
```

