Javascript 推送通知的firebase云功能不工作

Javascript 推送通知的firebase云功能不工作,javascript,firebase,flutter,dart,google-cloud-functions,Javascript,Firebase,Flutter,Dart,Google Cloud Functions,在我的Flatter应用程序中,我已将每个设备令牌保存到firebase数据库中的集合中,并为firebase云函数编写了代码,以便它发送消息(通知)对于订阅了主题并拥有其令牌的每个用户,令牌集合中都有令牌,但当我向订阅的主题添加内容时,它不会发送任何内容,以下是我在索引文件中使用javascrpit的云函数代码: const functions = require('firebase-functions'); const admin = require('firebase-admin');

在我的Flatter应用程序中,我已将每个设备令牌保存到firebase数据库中的集合中,并为firebase云函数编写了代码,以便它发送消息(通知)对于订阅了主题并拥有其令牌的每个用户,令牌集合中都有令牌,但当我向订阅的主题添加内容时,它不会发送任何内容,以下是我在索引文件中使用javascrpit的云函数代码:

const functions = require('firebase-functions');
const admin = require('firebase-admin');

admin.initializeApp(functions.config().functions);

var newData;

exports.myTrigger = functions.firestore.document('messages/{messageId}').onCreate(async (snapshot, context) => {
    //

    if (snapshot.empty) {
        console.log('No Devices');
        return;
    }

    newData = snapshot.data();

    const deviceIdTokens = await admin
        .firestore()
        .collection('messages')
        .get();

    var tokens = [];

    for (var tokened of deviceIdTokens.docs) {
        tokens.push(tokened.data().token);
    }
    var payload = {
        notification: {
            title: 'Push Title',
            body: 'Push Body',
            sound: 'default',
        },
        data: {
            message: newData.message,
            click_action: 'FLUTTER_NOTIFICATION_CLICK',
        },
    };

    try {
        const response = await admin.messaging().sendToDevice(tokens, payload);
        console.log('Notification sent successfully');
    } catch (err) {
        console.log(err);
    }
});

这是我的数据库结构

以及代币集合:

我做错了什么?

试试他的:

我应该写: '''

'''

对于通过数据库发送消息,我应该在字段中写上“message”,因为我将“data”的键命名为“message”:

const deviceIdTokens = await admin
        .firestore()
        .collection('tokens')
        .get()