как импортировать интерфейс из Firebase Messaging из Admin SDK?

# #typescript #firebase #firebase-cloud-messaging #firebase-admin

Вопрос:

извините, я новичок в машинописном тексте и узле.

при отправке сообщения FCM в машинописном виде с помощью Admin SDK мы можем использовать этот метод

 sendToDevice(registrationToken: string | string[], payload: MessagingPayload, options?: MessagingOptions): Promise<MessagingDevicesResponse>;
 

этот код взят index.d.ts у администратора firebase

когда я хочу использовать этот метод, я хочу ограничить переменную, которую я создаю, следующим образом

 const myPayload : MessagingPayload = {
    data: notification.toObject(),
    notification: {
        title: notification.title,
        body: notification.body,
        image: notification.imagePath,
    },
};

await admin.messaging().sendToDevice(tokens, myPayload, options);
 

но сначала мне нужно импортировать MessagingPayload .

введите описание изображения здесь

но теперь я не понимаю, как получить / импортировать этот MessagingPayload интерфейс

Я пытаюсь импортировать, используя этот код ниже, но это ошибка:

 import { MessagingPayload } from "firebase-admin";
 

Ответ №1:

Типы каждого продукта имеют пространство имен в разделе «Основной экспорт». Вы можете написать это так:

 import * as admin from 'firebase-admin'
const myPayload : admin.messaging.MessagingPayload = { ... }
 

Или, если вы хотите сократить его самостоятельно или полностью изменить:

 type MessagingPayload = admin.messaging.MessagingPayload
const myPayload : MessagingPayload = { ... }