Машинная облачная функция FCM для устройств - PullRequest
1 голос
/ 26 марта 2020

Можно ли использовать эту структуру данных для отправки FCM на устройства? Когда документ создан, функция запускается, но я получаю ошибку «токен должен быть непустой строкой или массивом». Можно ли исправить мой код или я пытаюсь сделать это невозможным?

import * as functions from 'firebase-functions';
import * as admin from 'firebase-admin';
admin.initializeApp();

const db = admin.firestore();
const fcm = admin.messaging();


export const sendToDevice = functions.firestore
  .document('messages/{userid}')
  .onCreate(async snapshot => {


    const querySnapshot = await db
      .collection('messages')
      .doc('userid')
      .collection('tokens')

      .get();

    const token = querySnapshot.docs.map(token => token.id);

    const payload: admin.messaging.MessagingPayload = {
      notification: {
        title: 'Emergency',
        body: `Alert`,
      //  icon: 'your-icon-url',
        click_action: 'FLUTTER_NOTIFICATION_CLICK'
      }
    };

    return fcm.sendToDevice(token, payload);
  });

db structure

Могут ли облачные функции отправлять FCM на устройства с помощью на метод создания со структурой базы данных, как это? Или документ должен содержать только токены и ничего больше?

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