📖 Scenario: You are building a mobile app that receives notifications from Firebase Cloud Messaging (FCM). You want to handle notifications properly when the app is open (in the foreground) so users see alerts immediately.
🎯 Goal: Set up Firebase Cloud Messaging in your app and write code to handle incoming notifications while the app is in the foreground.
📋 What You'll Learn
Initialize Firebase messaging in the app
Create a listener for foreground messages
Display notification data when a message arrives in the foreground
💡 Why This Matters
🌍 Real World
Apps often need to show notifications immediately when users are active. Handling foreground notifications improves user engagement and awareness.
💼 Career
Knowing how to handle Firebase notifications in the foreground is essential for mobile developers working with real-time messaging and user alerts.
Progress0 / 4 steps
1
Initialize Firebase messaging
Create a variable called messaging and assign it the Firebase messaging instance using firebase.messaging().
Firebase
Hint
Use firebase.messaging() to get the messaging instance.
2
Set up foreground message listener
Add a listener using messaging.onMessage that takes a callback function with a parameter payload.
Firebase
Hint
Use messaging.onMessage to listen for messages when the app is open.
3
Log notification data from payload
Inside the messaging.onMessage callback, access payload.notification.title and payload.notification.body and assign them to variables title and body respectively.
Firebase
Hint
Use payload.notification.title and payload.notification.body to get notification details.
4
Display alert with notification title and body
Inside the messaging.onMessage callback, add a line to show an alert with the message: Notification: ${title} - ${body} using a template string.
Firebase
Hint
Use alert with a template string to show the notification.
Practice
(1/5)
1. What does the onMessage method do in Firebase Cloud Messaging when the app is in the foreground?
easy
A. It stores messages for later delivery.
B. It listens for incoming messages and allows the app to handle them immediately.
C. It disables notifications while the app is open.
D. It sends messages to other devices.
Solution
Step 1: Understand the purpose of onMessage
The onMessage method is designed to listen for messages when the app is active (in the foreground).
Step 2: Identify what happens when a message arrives
When a message arrives, onMessage lets the app immediately respond, such as showing a custom notification or updating the UI.
Final Answer:
It listens for incoming messages and allows the app to handle them immediately. -> Option B
Quick Check:
onMessage listens in foreground = D [OK]
Hint: Remember: onMessage handles messages only when app is open [OK]
Common Mistakes:
Confusing onMessage with sending messages
Thinking onMessage disables notifications
Assuming messages are stored for later automatically
2. Which of the following is the correct syntax to set up a listener for foreground messages using Firebase Cloud Messaging in JavaScript?
easy
A. firebase.messaging().onMessage(payload => { console.log(payload); });
B. firebase.messaging.onMessage(payload => { console.log(payload); });
C. firebase.messaging().onmessage(payload => { console.log(payload); });
D. firebase.messaging().onMessage = function(payload) { console.log(payload); };
Solution
Step 1: Identify correct method call syntax
The correct method is onMessage called on the messaging instance returned by firebase.messaging().
Step 2: Check arrow function usage
The listener uses an arrow function to receive the payload and handle it, which matches firebase.messaging().onMessage(payload => { console.log(payload); });.
Final Answer:
firebase.messaging().onMessage(payload => { console.log(payload); }); -> Option A
Quick Check:
Correct method call with parentheses and camelCase = C [OK]
Hint: Use parentheses after messaging and exact camelCase onMessage [OK]
Common Mistakes:
Missing parentheses after messaging()
Using lowercase onmessage instead of onMessage
Assigning onMessage instead of calling it
3. Given this code snippet, what will be logged when a message arrives while the app is in the foreground?
You must call firebase.messaging() to get the messaging instance before calling onMessage.
Final Answer:
You forgot to call the messaging function with parentheses. -> Option C
Quick Check:
messaging() must be called before onMessage = A [OK]
Hint: Always use parentheses after messaging to get the instance [OK]
Common Mistakes:
Missing parentheses after messaging
Thinking onMessage works only in background
Believing alert is unsupported in Firebase
5. You want to show a custom notification banner in your app when a message arrives in the foreground. Which approach correctly uses Firebase Cloud Messaging to achieve this?
hard
A. Rely on Firebase to automatically show system notifications in the foreground without extra code.
B. Disable onMessage and only use server-side notifications.
C. Use onBackgroundMessage to handle foreground messages and show notifications.
D. Use onMessage to listen for messages and then display a custom UI element with the message data.
Solution
Step 1: Understand foreground message handling
Firebase does not automatically show system notifications when the app is open; you must handle them yourself.
Step 2: Use onMessage to listen and show custom UI
By using onMessage, you get the message data and can display a custom banner or alert inside your app.
Final Answer:
Use onMessage to listen for messages and then display a custom UI element with the message data. -> Option D
Quick Check:
Custom UI on foreground message = B [OK]
Hint: Handle foreground messages yourself with onMessage for custom display [OK]
Common Mistakes:
Expecting automatic system notifications in foreground
Using onBackgroundMessage for foreground events
Disabling onMessage and missing notifications
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.