Firebase云功能未执行Flutter



在我的索引中有以下函数。ts文件:

import * as functions from 'firebase-functions';
import * as admin from 'firebase-admin';
admin.initializeApp(functions.config().firebase);
const db = admin.firestore();
const fcm = admin.messaging();

export const sendToDevice = functions.firestore
.document('orders/{orderId}')
.onCreate(async snapshot => {
print("aa")
console.log("osakosak");
const order = snapshot.data();

const querySnapshot = await db
.collection('users')
.doc(order.ustaID)
.collection('tokens')
.get();

const tokens = querySnapshot.docs.map(snap => snap.id);

const payload: admin.messaging.MessagingPayload = {
notification: {
title: 'New Order!',
body: `you sold a ${order.day} for ${order.time}`,
click_action: 'FLUTTER_NOTIFICATION_CLICK'
}
};

return fcm.sendToDevice(tokens, payload);
});

但是,当新文档被添加到订单集合中时,这不会被触发。甚至print和console.log都不起作用。我试着把打印和控制台日志放在导出之前,它仍然没有启动。

根据您的评论("这取决于pubspec.yaml中的cloud_firestore"),您似乎没有正确部署您的云功能。

事实上,Cloud Functions完全独立于您的Flutter应用程序(您的前端)。它是一个后端服务. 您应该使用Firebase CLI部署它,请参阅文档。请注意,代码应在Firebase项目中,而不是在您的Flutter项目中。

相关内容

  • 没有找到相关文章

最新更新