Облачная функция Firebase не публикуется - PullRequest
0 голосов
/ 09 марта 2020

Я пытаюсь написать облачную функцию, которая выполняется каждый раз, когда создается показание датчика в коллекции «показания датчика»:

const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);


      exports.createNotification = functions.firestore
          .document('sensor-readings/{sensorId}')
          .onCreate((snap, context) => {

            const payload = {
              notification: {
                title: 'New news',
                body: "Body Test"
                }
            };

            // perform desired operations ...
          return  admin.messaging().sendToTopic("topic",payload);
          });

Облачная функция выполняется каждый раз, когда создается показание датчика но когда я пытаюсь использовать gcloud pubsub subscriptions pull --auto-ack MySub для проверки результата функции, в topi c.

не публикуется никаких сообщений. Есть идеи? Спасибо

1 Ответ

1 голос
/ 09 марта 2020

Этот код работает с продуктом под названием Firebase Cloud Messaging, который предназначен для отправки сообщений в веб и мобильные приложения:

admin.messaging().sendToTopic("topic",payload);

Но ваша командная строка работает с Google Cloud Pubsub, который является совершенно другой продукт:

gcloud pubsub subscriptions pull --auto-ack MySub

Нельзя использовать FCM для отправки сообщений в pubsub topi c. Опять они совершенно разные. И вы не можете использовать gcloud, чтобы увидеть, что происходит с сообщениями FCM. Это необходимо сделать в веб-приложении или мобильном приложении.

Если вы хотите отправлять сообщения в pubsub topi c, вам следует использовать Google Cloud SDK , это не Firebase Admin SDK.

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