簡體   English   中英

為什么我的 javascript firebase 雲消息 function 出現錯誤?

[英]Why im getting an error in my javascript firebase cloud messaging function?

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 次。 日志不為空,並給出正確的 output。 令牌不為空。

它不適用於 android 和 iOS。 但是當通過 firebase 向 android 或 iOS 發送通知時,它可以工作。 並檢索到通知。

希望真的有人有想法。 我還嘗試通過令牌從 firebase 發送通知。 這也有效。 正如我所說,我檢查了每個 output 它應該可以工作,但不能。

如果您認為我在項目的配置中做錯了什么,請告訴我您認為可能是什么。

經過5天的努力,添加了這個聲明

令牌:令牌

進入有效載荷,但在所有其他語句之外,解決了這個問題。 希望這會幫助某人。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM