【问题标题】:Not sending push notifications不发送推送通知
【发布时间】:2018-11-27 01:36:36
【问题描述】:

我对推送通知有疑问。我在 firebase 函数日志中有这个错误:

错误:要发送带有有效负载的消息,订阅必须具有 'auth' 和 'p256dh' 密钥。

 exports.storePostData = functions.https.onRequest(
 (request, response) => {
     cors(request, response, () => {
         admin.database().ref('posts').push({
             id: request.body.id,
             title: request.body.title,
             location: request.body.location,
             image: request.body.image
         }).then(() => {
             webpush.setVapidDetails('mailto: xxxx@gmail.com', 'BLl7xIPAyJNzsMi5vo_aG-4RdXdyZ4Q4ZFpTgnm902qN79MIiSORBk9N-rfFEGiKNPuJu5SJmUX35Wwce9nuH94', 'M8E6hw7jCmu7qNQJ88FV5o02OAiLefEFJK8jyJimk7g')

             return admin.database().ref('subscriptions').once('value');
         }).then(subscriptions => {
             subscriptions.forEach(sub => {
                 var pushConfig = {
                     endpoint: sub.val().endpoint,
                     keys: {
                         auth: sub.val().keys,
                         p256dh: sub.val().p256dh
                     }
                 }
                 webpush.sendNotification(pushConfig, JSON.stringify({
                     title: 'New Post',
                     content: 'New post added',
                     openUrl: '/help'
                 })).catch(err => {
                     console.log(err)
                 })
             })
             response.status(201).json({
                 message: 'Data stored',
                 id: request.body.id
             })
         }).catch(err => {
             response.status(500).json({
                 error: err
             })
         })
     })
 });

这是我用于存储帖子数据的功能,我认为问题出在此处,因为它甚至无法在 serviceWorker 中推送事件(我在那里没有任何日志)。

【问题讨论】:

  • 如果没有看到您的任何代码,我们真的无能为力...
  • 是的,对不起,我编辑了..

标签: javascript firebase web-push pwa


【解决方案1】:

是的,我认为它需要这样:

                     keys: {
                     auth: sub.val().keys.auth,
                     p256dh: sub.val().keys.p256dh
                 }

【讨论】:

    猜你喜欢
    • 2018-10-03
    • 2018-02-17
    • 2017-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多