отправка запроса на добавление в друзья и уведомлений о сообщениях с использованием узлов js и FCM - PullRequest
0 голосов
/ 21 октября 2018

Мне нужна помощь в создании 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.я все еще новичок в этом деле и не очень хороший кодер, так что если кто-то может помочь.Заранее спасибо.

...