Мне нужна помощь в создании js-кода для моего чата.Я должен получать уведомление, когда отправляю запрос на добавление в друзья, и уведомление, когда один пользователь отправляет сообщение другому пользователю.В случае обмена сообщениями пользователь должен получать уведомление только тогда, когда приложение не переднего плана, в противном случае нет.
'use strict'
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.sendNotification = functions.database.ref('/notification/request/{user_id}/{notification_id}').onWrite((data, context) => {
const user_id = context.params.user_id;
const notification_id = context.params.notification_id;
console.log('We have a notification to send to : ', user_id);
const deviceToken = admin.database().ref(`/Users/${user_id}/device_token`).once('value');
return deviceToken.then(result=>{
const token_id=result.val();
const payload={
notification:{
title: "Friend Request Received",
body: "You have received a friend request",
icon:"default"}
};
return admin.messaging().sendToDevice(token_id,payload).then(response =>{
console.log('This was notification feature');
return true;});
});
});
, если я могу добавить те же строки выше, но с другим путем, как мой путь выше, у меня естьсоздал базу данных так, чтобы она сохраняла запросы и сообщения в уведомлениях, поэтому, если запрос пришел, этот код будет выполняться, а для сообщений - код с другим путем.
'use strict'
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.sendNotification = functions.database.ref('/notification/message/{user_id}/{notification_id}').onCreate((data, context) => {
const uid = context.params.uid;
const user_id = context.params.user_id;
const push_id = context.params.push_id;
console.log('We have a notification to send to : ', user_id);
const message = admin.database().ref(`/notification/request/${user_id}/${notification_id}/message`).once('value');
const deviceToken = admin.database().ref(`/Users/${user_id}/device_token`).once('value');
return deviceToken.then(result=>{
const token_id=result.val();
const payload={
notification:{
title: "Message Received From:"+user_id,
body: message,
icon:"default"}
};
return admin.messaging().sendToDevice(token_id,payload).then(response =>{
console.log('This was notification feature');
return true;});
});
});
как функция, которую я могу использоватьоба кода в файле index.js.я все еще новичок в этом деле и не очень хороший кодер, так что если кто-то может помочь.Заранее спасибо.