The Firebase Cloud Messaging quickstart demonstrates how to:
index.html
file replace <YOUR_PUBLIC_VAPID_KEY_HERE>
with your key.npm install -g firebase-tools
and then configure it with firebase login
.firebase use --add
and select the Firebase project you have created.firebase serve -p 8081
using the Firebase CLI tool to launch a local server.YOUR-SERVER-KEY
and YOUR-IID-TOKEN
.NOTE: If your payload has a notification
object, setBackgroundMessageHandler
will not trigger. Read here for more information.
POST /fcm/send HTTP/1.1
Host: fcm.googleapis.com
Authorization: key=YOUR-SERVER-KEY
Content-Type: application/json
{
"notification": {
"title": "Portugal vs. Denmark",
"body": "5 to 1",
"icon": "firebase-logo.png",
"click_action": "http://localhost:8081"
},
"to": "YOUR-IID-TOKEN"
}
var key = 'YOUR-SERVER-KEY';
var to = 'YOUR-IID-TOKEN';
var notification = {
'title': 'Portugal vs. Denmark',
'body': '5 to 1',
'icon': 'firebase-logo.png',
'click_action': 'http://localhost:8081'
};
fetch('https://fcm.googleapis.com/fcm/send', {
'method': 'POST',
'headers': {
'Authorization': 'key=' + key,
'Content-Type': 'application/json'
},
'body': JSON.stringify({
'notification': notification,
'to': to
})
}).then(function(response) {
console.log(response);
}).catch(function(error) {
console.error(error);
})
curl -X POST -H "Authorization: key=YOUR-SERVER-KEY" -H "Content-Type: application/json" -d '{
"notification": {
"title": "Portugal vs. Denmark",
"body": "5 to 1",
"icon": "firebase-logo.png",
"click_action": "http://localhost:8081"
},
"to": "YOUR-IID-TOKEN"
}' "https://fcm.googleapis.com/fcm/send"
When the app has the browser focus, the received message is handled through
the onMessage
callback in index.html
. When the app does not have browser
focus then the setBackgroundMessageHandler
callback in firebase-messaging-sw.js
is where the received message is handled.
The browser gives your app focus when both:
© Google, 2016. Licensed under an Apache-2 license.