用于推送通知的Firebase云功能不起作用

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

在我的flutter应用程序中,我已将每个设备令牌保存到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);
    }
});

这是我的数据库结构enter image description here

和令牌集合:enter image description here

我在做什么错?

javascript firebase flutter dart google-cloud-functions
1个回答
0
投票
尝试使用他的:
© www.soinside.com 2019 - 2024. All rights reserved.