Я развернул функцию JS для триггеров базы данных Firebase в реальном времени.В своих операциях он должен отправлять push-уведомление только при обновлении значения в базе данных, что очень просто:
{
"rollo" : "yes"
}
Если значение меняется на yes, оно должно вызывать уведомление.Если он идет "нет", то он ничего не должен делать.Вот функция JS:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
exports.sendNewPostNotif = functions.database.ref('/rollo').onUpdate((change, context) => {
console.log('Push notification event triggered');
const beforeData = change.before.val();
const payload = {
notification: {
title: 'Push triggered!',
body: "Push text",
sound: "default"
}
};
const options = {
priority: "high",
timeToLive: 60 * 10 * 1
};
return admin.messaging().sendToTopic("notifications", payload, options);
});
Также, несмотря на то, что я установил TTL, каждое изменение значения отправляет другое push-уведомление.
Есть идеи?