Я пытаюсь отправить устройство на устройство push-уведомлением через FCM с помощью функции bt, когда я отправляю уведомление через устройство, оно получит только одно значение из БД в реальном времени.
здесь это первое значение 'sem'
final String sem = record;
DatabaseReference anewfeed = ndatabase.push();
anewfeed.child("sem").setValue(sem);
anewfeed.child("body").setValue(desc)
.addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
progressDialog.dismiss();
// Toast.makeText(addnotice.this, desc , Toast.LENGTH_LONG).show();
Toast.makeText(addnotice.this, "Notice Sended Successfully" , Toast.LENGTH_LONG).show();
finish();
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
progressDialog.dismiss();
Toast.makeText(addnotice.this, "Error occurred " , Toast.LENGTH_LONG).show();
}
});
Если я поменяю местами последовательность sem и body, он получит значение body, также, когда я помещаю данные вручную в firebase, функция работает довольно хорошо.
вот мой код функции с триггером onCreate
const functions = require('firebase-functions');
const admin =require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.sendNotice=functions.database.ref('/notice/{u_id}').onCreate((change, context) => {
var notice = change.val();
var topic = notice.sem;
var bd= notice.body;
console.log('sem is:', topic);
console.log('notification is:',bd);
var message = {
notification: {
title: ('Notice for '+topic+' sem'),
body: bd
},
topic: topic
};
admin.messaging().send(message);
} );
в консоли показывает, что тело: undefine