Push-уведомление Firebase не отправляется на второе устройство - PullRequest
0 голосов
/ 29 апреля 2018

Я пытаюсь реализовать push-уведомление с использованием firebase в моем проекте, но не могу этого сделать. Ниже приведен мой файл index.js, у меня очень мало знаний о javascript и nodejs, и поэтому я не могу понять проблема.

     'use strict'

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();


    exports.sendNotification = functions.database.ref('/Notifications/{receiver_id}/{notification_id}').onWrite((data,context) =>
    {
      const receiver_id = context.params.receiver_id;
      const notification_id = context.params.notification_id;
      console.log('We have new notification to send to : ', receiver_id);



        /*if(!context.data.val()){

            return console.log('A notification has been deleted from the databse : ', notification_id);
        }*/

    const deviceToken = admin.database().ref(`Users/${receiver_id}/device_token`).once('value');

    return deviceToken.then(result => {

        const token_id = result.val();

        const payload = {
                notification: {

                    title : "Friend Request",
                    body : "You've received a new Friend Request",
                    icon : "default"
                }
        };

        return admin.messaging().sendToDevice(token_id,payload).then(response => {

            console.log('This was the notification feature');
            return true;

        });


    });

});

Может кто-нибудь объяснить мне этот код и помочь с моей проблемой.

1 Ответ

0 голосов
/ 30 апреля 2018

У каждого устройства свой токен. Кажется, вы храните только один токен для одного пользователя. Вот почему вы можете отправить уведомление только на одно устройство. Если вы хотите отправить его на несколько устройств, вам нужно сохранить несколько токенов устройств и отправить уведомление всем этим устройствам.

...