Как запустить облачную функцию при отправке сообщения об облачной базе Firebase? - PullRequest
0 голосов
/ 27 марта 2019

Я пытаюсь запустить функции облачной базы Firebase, как только пользователь создает новое сообщение облачной базы Firebase (FCM).

Эта страница документации точно описывает, что делать.

Вот мой код на стороне сервера:

Примечание: subscribeToTopic может принимать один токен или массив токенов.

admin.messaging().subscribeToTopic(fcmToken, "/topics/news")
.then(res => {
    console.log('res: ', res);
})
.catch(error =>{
    console.log('error: ', error);
});

Предположим, что fcmToken являетсядействительный токен, созданный на моем устройстве (на стороне клиента), я дважды проверил его.

Теперь, чтобы проверить, работает ли он: я создаю новое уведомление с помощью веб-консоли уведомлений, предоставленной firebase, и после выбора заголовкаи тело, я могу выбрать тему, как на картинке.choosing a topic for the message

Проблема в том, что функция облака вообще не запускается.

1 Ответ

2 голосов
/ 27 марта 2019

Согласно документации (https://firebase.google.com/docs/functions/) нет фонового триггера облачной функции для Firebase Cloud Messaging (FCM).

Что вы могли бы сделать, это записать в базу данных Firebase (Firestore или Realtime Database) параллельно с отправкой сообщения, а затем использовать триггер onCreate() для этой базы данных.

Здесь вы найдете документацию для триггеров Cloud Firestore https://firebase.google.com/docs/functions/firestore-events и для базы данных реального времени здесь https://firebase.google.com/docs/functions/database-events

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