我已经设置了与Firebase Admin NodeJS SDK集成的NodeJS服务器端应用程序。客户端(Javascript)可以在执行以下步骤后接收推送通知:
requestPermission()
然后getToken()
,然后将其发送到服务器端现在,重启服务器端(forever restart bin/www
等...)
我已阅读official documentation的许多页面,但基本不知道如何解决这个问题。
我在第1步的代码:
const self = this;
if ('serviceWorker' in navigator) {
if (!firebase.apps.length)
firebase.initializeApp({
apiKey: "AIzaSyDu888R1nyP_W_xFX7aATSB0U5irf79lrM",
authDomain: "hungphongbk-1812.firebaseapp.com",
databaseURL: "https://hungphongbk-1812.firebaseio.com",
projectId: "hungphongbk-1812",
storageBucket: "hungphongbk-1812.appspot.com",
messagingSenderId: "1926697148"
});
const messaging = firebase.messaging();
messaging.onMessage(function (payload) {
console.log("Message received. ", payload);
const {notification} = payload;
new Notification(notification.title, {
body: notification.body
});
});
// window.addEventListener('load', async () => {
(async function () {
try {
const registration = await navigator.serviceWorker.register('/sw.js')
messaging.useServiceWorker(registration);
await messaging.requestPermission();
const token = await messaging.getToken();
console.log(token);
self.token = token;
await post('/noti/register', {token});
} catch (e) {
alert(e.message);
}
})()
}