Облачная функция Не можете ничего записать? - PullRequest
0 голосов
/ 18 июня 2019

Я видел все вопросы в этой теме на StackOverflow, но не решил проблему,

поэтому я пишу функцию для отправки уведомления на определенное устройство, я получил токен FCM и записываю их вручную в своей функции в качестве переменной. Идея этой функции - запуск БД в реальном времени, если я создаю заказ , Я пошлю простое уведомление и войду в него, но я ничего не увидел в Firebase Console «Журналы», хотя порядок сохранен в БД, так в чем проблема?

вот моя функция:

const admin = require('firebase-admin');
const functions = require('firebase-functions');
// const serviceAccount = require('./service_account.json');
const serviceAccount = {
    "type": "service_account",
    "project_id": "kapp-42657",
    "private_key_id": ".................",
    "private_key": "-----BEGIN PRIVATE KEY----------END PRIVATE KEY-----\n",
    "client_email": ".........",
    "client_id": ".....",
    "auth_uri": "...............",
    "token_uri": "............",
    "auth_provider_x509_cert_url": "............": "....."
}

var registrationTokens = "d4QgBGV6HDM:APA91bE77aQBv9XsW5x2arnBYkk9LNZ8jrbn81Al00Z-HFXnJkgWc5dH3AyhWWvPGw7Y2ef4euo9iZPaHUSsviSaFWaQdnOT7XRRDsBzux53gboWkscxIO7DYbOp-wzjQ6Sq1wag3aQj";
// const registrationTokens = AsynStorage.getItem('deviceToken');

admin.initializeApp({
    credential: admin.credential.cert(serviceAccount),
    databaseURL: "https://kapp-42657.firebaseio.com"
});

// admin.initializeApp(functions.config().firebase);
// Notification details.
const payload = {
    notification: {
        title: 'Hey Provider One',
        body: `You have Got new notity.`
    }
};

exports.onOrderCreateOrder = functions.database.ref('request/{providerId}/{userId}/order')
    .onCreate(async (snapshot, context) => {
        const providerId = context.params.providerId;
        const userId = context.params.userId;
        console.log(`New Order from ${userId} to ${providerId}`);
        //New Order from UID to PID
        const orderData = snapshot.val();
        console.log("@orderData", orderData);
        //@orderData { OrderID: { name: 'hey', price: 500, providerService: 'Plumber' } }
        try {
            const response = await admin.messaging().sendToDevice(registrationTokens, payload);
            console.log('Successfully sent message:', response);
        }
        catch (error) {
            console.log('Error sending message:', error);
        }

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