Send messages with the Firebase console

You can send notification messages using the Notifications composer in the Firebase console. Though this does not provide the same flexibility or scalability as sending messages with the Admin SDK or the HTTP and XMPP protocols, it can be very useful for testing or for highly targeted marketing and user engagement. The Firebase console provides analytics-based A/B testing to help refine and improve marketing messages.

After you have developed logic in your app to receive messages, you can allow non-technical users to send messages with the Notifications composer.


When you send a notification message from the Notifications composer, Google uses the values you enter in the form fields in these ways:

  • Fields like User segment and Expires determine the message target and delivery options.
  • Fields like Notification text and Custom data are sent to the client in a payload comprised of key/value pairs.

These fields map to keys available through the Message object. For example, key/value pairs entered in the Custom data field of the composer are handled as a data payload for the notification. Other fields map directly to keys in the notification object or in the platform specific notification configuration.

Note that some fields in the Notifications composer are not available through the FCM API. For example, you can target user segments based on app version, language, browser type and version, or user properties in ways that are not available using the server API.

The keys that the Firebase console sends to clients are:

Key Console field label Description
notification.title Notification title Indicates notification title.
notification.body Notification text Indicates notification body text.
data Custom data Key/value pairs that you define. These are delivered as a data payload for the app to handle.

Keys that determine message delivery include:

Key Console field label Description
sound Sound

Indicates a sound to play when the device receives a notification.

time_to_live Expires

This parameter specifies how long (in seconds) the message should be kept in FCM storage if the device is offline. For more information, see Setting the lifespan of a message.