Вы можете использовать облачную функцию Firebase для запуска уведомления.Вот фрагмент облачных функций, которые я использую для запуска уведомлений:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.pushNotification = functions.database.ref('/Notifications/{pushId}')
.onWrite(( change,context) => {
console.log("Push Notification event triggered");
var request = change.after.val();
var payload = {
data:{
username: request.userName,
}
};
admin.messaging().sendToDevice(request.userTokenId, payload)
.then(function(response){
console.log("Successfully sent message: ",response);
console.log(response.results[0].error);
})
.catch(function(error){
console.log("Error sending message: ", error)
})
})
Ниже я предоставил свою структуру уведомлений, вы можете увидеть ниже. Эта функция будет запускаться, если какие-либо новые данные выдвигаются в уведомлении базы данных.узел.Чтобы увидеть, что вывод / ошибка вы получаете, когда эта функция запускается, перейдите в админ панель firebase> Функции> Журналы.
Вы развернули функциюкод идеально, но вы забыли добавить обновление tokenId в вашу базу данных, как вы можете видеть на картинке выше, я сохраняю userTokenId
в своей базе данных и в функции admin.messaging().sendToDevice(request.userTokenId, payload)
я использую этот tokenId, этот tokenId используется для отправки уведомлений конкретномуустройство, вы можете получить этот tokenId с помощью FirebaseInstanceId.getInstance().getToken()
и сохранить его в вашей структуре fbproject1 > items
базы данных.пожалуйста, отошлите это & это