Push-уведомление от Firestore - PullRequest
0 голосов
/ 18 января 2019

Мне нужно отправить уведомление при изменении данных в моей базе данных Cloud Firestore. У меня есть эти поля enter image description here

Мне нужно получить токены всех пользователей и отправить push-уведомление. У меня есть код, но он дает мне токен, только если я знаю имя пользователя, это мой код:

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

exports.useWildcard = functions.firestore
    .document('notification/{id}')
    .onWrite((change, context) => {

        const payload = {
            notification: {
                title: 'Message from Cloud',
                body: 'This is your body',
                badge: '1',
                sound: 'default'
            }
        };

        admin.firestore().collection('notification').doc('fcm-token').get().then(doc => {
            console.log("Token: " + doc.data().user1.token);
        });

    });

1 Ответ

0 голосов
/ 18 января 2019

Чтобы перебрать всех пользователей в документе:

admin.firestore().collection('notification').doc('fcm-token').get().then(doc => {
  let data = doc.data();
  Object.keys(data).forEach((user) {
    console.log("Token: " + data[user].token);
  });
});

Но, как прокомментировал Дуг: хранение токенов для всех пользователей в одном документе обязательно станет проблемой масштабируемости в какой-то момент.

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