Можно ли использовать эту структуру данных для отправки 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);
});
Могут ли облачные функции отправлять FCM на устройства с помощью на метод создания со структурой базы данных, как это? Или документ должен содержать только токены и ничего больше?