Функция Firebase не запускается при записи базы данных в - PullRequest
0 голосов
/ 09 апреля 2020

Моя база данных структурирована следующим образом Коллекция («Сообщение»). Документ («сообщение»)

Но на самом деле я хочу, чтобы любые изменения в основной коллекции базы данных отслеживались при добавлении документа , Я добавил документ сообщения, потому что подумал, что, возможно, функция не вызывается, поскольку мои документы создаются автоматически. Однако проблема сохраняется ...

Просто для фона я являюсь iOS разработчиком, поэтому, возможно, я здесь что-то не так делаю:

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

admin.initializeApp();

exports.sendPushNotifications = functions.database.ref('/Messages/{message}').onCreate((snapshot,context) => {

    console.log(snapshot);
    console.log(context);

    var topic = "/topics/sentMessages";

    var payload = {
        data: {
            message : 'You recieved a new message!'
        }
    }

    return  admin.messaging().sendToTopic(topic,payload).then((response) => {

        return response;
    })
})

Для дополнительной информации: приложение получает pu sh Уведомления в порядке при использовании консоли, будь то непосредственно к устройству тестирования или с использованием тем. Эта проблема строго при записи в Firebase Firestore ...

1 Ответ

1 голос
/ 09 апреля 2020

Когда вы сказали "Сбор (" Сообщение "). Документ (" сообщение ")", который подсказал мне, что вы используете Firestore в качестве своей базы данных. Тем не менее, ваша функция нацелена на изменения в базе данных реального времени, что совершенно другое. functions.database строит функцию для базы данных в реальном времени. functions.firestore строит функции для Firestore. Вам нужно прочитать документацию о триггерах Firetore , чтобы узнать, как их написать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...