Как настроить конфиги облачных функций перенесенного проекта Firebase в Android Studio? - PullRequest
0 голосов
/ 15 января 2019

Я развернул две облачные функции Firebase для проекта (Проект № 1). Проект № 1 был перенесен в другой проект Firebase Console (Проект № 2). Я кодировал облачные функции для отправки уведомлений. В проекте № 1 уведомления работали правильно, но когда я перенес проект, теперь служба уведомлений вообще не работает! Кто-нибудь знает, как изменить конфигурацию, чтобы уведомления работали в Project # 2? Я думаю, что проблема в том, что ключ сервера проекта # 1 уже находится в функции конфигурации облака, но я не уверен, как сделать ключ сервера для этого нового проекта # 2.

Позвольте мне объяснить подробно; Сначала я создал проект, связанный с Firebase, и настроил все облачные функции, и уведомления работали правильно. Затем, когда мне нужно было взаимодействовать с другим проектом Android, мне пришлось перенести свой собственный в другой проект Firebase. Теперь, с теми же облачными функциями и конфигами, которые работали, я не могу заставить работать уведомления. Вы видите, в чем проблема?

Я предоставил вам файл index.js:

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

exports.sendNotificationPending = functions.database.ref('/Appointment/{id}').onCreate((snapshot,context) => {

    const receiverId =snapshot.val().keyUser;
    console.log("receiverId: ", receiverId);
    const payload = {
        notification:{
            title : 'New Appointment',
            body : 'You have a new Pending Appointment',
            sound : 'default'
        }
    };

    return admin.database().ref('/Users/'+receiverId).once('value').then(snap=>{
        const token = snap.child("fcm_token").val();
                    console.log("token: ", token);

        return admin.messaging().sendToDevice(token, payload);
    });
});


exports.sendNotificationCompleted = functions.database.ref('/Appointment/{id}').onUpdate((change,context) => {

    const after=change.after.val();
    const before=change.before.val();
    const receiverId =after.keyUser;
    console.log("receiverId: ", receiverId);
    const payload = {
        notification:{
            title : 'New Completed Appointment',
            body : 'You have a Completed Appointment.You can upload invoice/prescription.',
            sound : 'default'
        }
    };
    if(after.status==='COMPLETED' && before.status!==after.status){

         return admin.database().ref('/Users/'+receiverId).once('value').then(snap=>{
                const token = snap.child("fcm_token").val();
                            console.log("token: ", token);

                return admin.messaging().sendToDevice(token, payload);
            });
    }

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