0
0
FirebaseHow-ToBeginner · 4 min read

How to Send Notification to Device in Firebase

To send a notification to a device in Firebase, use Firebase Cloud Messaging (FCM) by sending a message with the device's registration token. You can do this via the Firebase Admin SDK or HTTP API by specifying the target device token and notification details.
📐

Syntax

The basic syntax to send a notification using Firebase Admin SDK involves creating a message object with the device token and notification content, then calling the send() method.

  • token: The device's registration token to target.
  • notification: The title and body of the notification.
  • send(): Sends the message to the device.
javascript
const message = {
  token: '<DEVICE_REGISTRATION_TOKEN>',
  notification: {
    title: 'Hello',
    body: 'This is a Firebase notification!'
  }
};

admin.messaging().send(message)
  .then(response => {
    console.log('Successfully sent message:', response);
  })
  .catch(error => {
    console.log('Error sending message:', error);
  });
💻

Example

This example shows how to send a notification to a device using Firebase Admin SDK in Node.js. Replace <DEVICE_REGISTRATION_TOKEN> with your device's token.

javascript
const admin = require('firebase-admin');

// Initialize Firebase Admin SDK with your service account
admin.initializeApp({
  credential: admin.credential.applicationDefault()
});

const message = {
  token: '<DEVICE_REGISTRATION_TOKEN>',
  notification: {
    title: 'Greetings',
    body: 'You have a new message from Firebase!'
  }
};

admin.messaging().send(message)
  .then(response => {
    console.log('Successfully sent message:', response);
  })
  .catch(error => {
    console.error('Error sending message:', error);
  });
Output
Successfully sent message: projects/<project-id>/messages/<message-id>
⚠️

Common Pitfalls

Common mistakes when sending notifications include:

  • Using an invalid or expired device token.
  • Not initializing Firebase Admin SDK properly.
  • Missing notification fields like title or body.
  • Not handling promise rejections which can hide errors.

Always verify the device token and initialize Firebase with correct credentials.

javascript
/* Wrong: Missing token field */
const wrongMessage = {
  notification: {
    title: 'Hi',
    body: 'Missing token causes failure'
  }
};

/* Right: Include token */
const rightMessage = {
  token: '<DEVICE_REGISTRATION_TOKEN>',
  notification: {
    title: 'Hi',
    body: 'Token included'
  }
};
📊

Quick Reference

Tips for sending Firebase notifications:

  • Use Firebase Admin SDK for server-side sending.
  • Always get the latest device token from the client app.
  • Include both title and body in notifications for better user experience.
  • Handle errors to debug issues quickly.

Key Takeaways

Use Firebase Admin SDK with the device token to send notifications.
Always include notification title and body for clear messages.
Initialize Firebase Admin SDK with proper credentials before sending.
Validate device tokens to avoid sending failures.
Handle errors to identify and fix notification issues quickly.