Я видел все вопросы в этой теме на 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);
}
});