【问题标题】:Why im getting this error invalid Payload? [closed]为什么我得到这个错误无效的有效载荷? [关闭]
【发布时间】:2021-11-17 11:07:13
【问题描述】:
import admin from "firebase-admin";

async function notifyUser(message ,title, photoURL,token , uid , notificationsOn ) {

  const messages = [];

  const payload = {
    notification: {
      title: title,
      body: message,
    },
    data: {
      uid,
    },
    android: {
      notification: {
        image: photoURL,
      },
    },
    apns: {
      payload: {
        aps: {
          "mutable-content": 1,
        },
      },
      fcm_options: {
        image: photoURL,
      },
    },
  };

  try {
 if (token) {
     

   
  messages.push({ token: token, ...payload });
  console.log("yes");
}
    

    if (messages.length && notificationsOn==true) {
      await admin.messaging().sendAll(messages);
      console.log("Token for user, send notification.");
    }
  } catch (error) {
    const functions = require("firebase-functions");

    functions.logger.log("Hello from info. Here's an object:", error);
   

    console.log(photoURL);
  console.log(notificationsOn);
      console.log(token);
      console.log(message);
      console.log(uid);
      console.log(title)
    console.log("No token for user, can not send notification.");
   
    return {error:error.code};
  }

  return;
};

export {notifyUser} ;

我得到的错误

169行就是这一行

 await admin.messaging().sendAll(messages);

它总是在记录“用户没有令牌无法发送通知”。我不知道为什么。我检查了大约 30 次。日志不为空并给出正确的输出。令牌不为空。

它不适用于 Android 和 iOS。但是当通过 firebase 向 android 或 iOS 发送通知时,它可以工作。并检索到通知。

希望真的有人有想法。我还尝试通过令牌从 Firebase 发送通知。这也有效。正如我所说,我检查了每个输出它应该可以工作但没有。

如果您认为我在项目的配置中做错了什么,请告诉我您认为可能是什么。

【问题讨论】:

  • 我建议您在致电 admin.messaging().sendAll(messages) 之前使用 console.log(JSON.stringify(messages)) 记录消息。
  • 是的,我通过将其添加到有效负载令牌中来修复它:令牌。现在它正在发送消息,但问题是它发送相同的消息 100 次认为是因为我的前端代码。也许你可以看看。

标签: javascript firebase google-cloud-functions firebase-cloud-messaging


【解决方案1】:

出来加这个语句

token:这样的token

  const payload = {
    notification: {
      title: title,
      body: message,
    },
    token: token,
    data: {
      uid,
    },
    android: {
      notification: {
        image: photoURL,
      },
    },
    apns: {
      payload: {
        aps: {
          "mutable-content": 1,
        },
      },
      fcm_options: {
        image: photoURL,
      },
    },
  };

进入有效负载,但在所有其他语句之外解决了该问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-12
    • 2021-05-02
    • 1970-01-01
    • 2014-11-10
    • 2019-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多