如何将VAPID添加到FCM JS WEB API?

时间:2019-07-04 19:50:49

标签: javascript push-notification firebase-cloud-messaging vapid

如何将FCM API与Vapid一起用于WEB?

我在firebase管理员中生成了一对密钥,并根据示例进行了添加,但是getToken()函数仅返回Token和PushSet。 在调试过程中,我发现应该使用什么。 FCM Api使用它们作为POST请求的参数进行订阅:

endpoint: "https://fcm.googleapis.com/fcm/send/dNsz6VXXXEI:APXXXXXXXXXXXXXXXXXXXXXX2si3lEF5R3ZaB9OK3cUJr9S1mDHT8-_Jjh2XwFWXd7dm3m5kFGAXtSeOv0JDDiOR74oQqvfaBPb1th-OKT7BUO1yM0mvPkHDLcSh15nw4EbCKMkGTxYJ"
p256dh: "BJ3PLlpDVhXXXXXXXXXXXXXXXXXXXXHJXNe3ecKk-MkSunibqJKAM5_2ORcUwLBCT4WMvabdDicxyBH-uwIb2Eg"
auth: "1SI3LgXXXXXXGPWNK5Dhwg"
vapidKey: "BDOU99-hXXXXXXXXXXXXXXXXXXXXXXyNNu3RzoMj8TM4W88jITfq7ZmPvIM1Iv-4_lcYwhqby2xGpWwzjfAnG4"

我试图发送包含此数据和Vapi​​d private的推送消息。我收到响应201,但没有显示通知给我。

订户注册:

var firebaseConfig = {
        apiKey: "API-KEY",
        messagingSenderId: "SENDER_ID",
        authDomain: "PROJECT-ID.firebaseapp.com",
        databaseURL: "https://PROJECT-ID.firebaseio.com",
        storageBucket: "PROJECT-ID.appspot.com",
    };

firebase.initializeApp(firebaseConfig);
const messaging = firebase.messaging();

messaging.usePublicVapidKey("VAPID-PUBLIC");

 ...

messaging.getToken().then(function (currentToken) {
                    if (currentToken) {
                        sendTokenToServer(currentToken);
                    }

我已经多次尝试使用各种注册,chrome和Firefox,但仍然看不到该通知。我使用正确的数据吗? 是否可以从javascript API FCM下载这些数据p256dh,auth,endpoint?

0 个答案:

没有答案