具有 firebase-admin 依赖项的 Atlas 功能无法发送推送通知

问题描述 投票:0回答:1

我正在尝试从 Atlas 函数向 iOS 客户端发送推送通知,但我在线上收到错误

Error sending notification: FunctionError: TypeError: Value is not an object: undefined
await admin.messaging().send(message);

功能如下:

async function sendPushNotification(token, title, body) {
  const admin = require('firebase-admin');
  
  const credentials = {
    projectId: '<project id>',
    clientEmail: '<client email>',
    privateKey: '<private key>',
  };

  admin.initializeApp({
   credential: admin.credential.cert(credentials)
 });
 
 const message = {
    notification:{
      body: body,
      title: title
    },
    token: token
  };

  try {
    await admin.messaging().send(message);
    console.log('Notification sent successfully');
  } catch (error) {
    console.error('Error sending notification:', error);
  }
}

知道为什么会发生这种情况吗?

技术堆栈:

  1. 带有 Realm 的 SwiftUI 应用程序。
  2. 客户端代码上的 Firebase Messaging。
  3. firebase-admin
    对 Atlas 函数的依赖。

我尝试过:

  1. 打印
    admin
    admin.messaging()
    admin.messaging.send
    - 它们都很好(并非未定义)。
  2. 打印
    message
    message.notification
    message.token
    - 也很好(不是未定义)。
  3. 将消息的通知对象名称更改为“数据” - 没有帮助。
javascript mongodb firebase-cloud-messaging firebase-admin atlas
1个回答
0
投票

我有同样的错误:

错误日志: 发送通知时出错:FunctionError:TypeError:值不是对象:未定义

你是如何解决这个问题的?

© www.soinside.com 2019 - 2024. All rights reserved.