Так что я использую Firebase для своего проекта.Что делает, так это то, что каждый раз, когда новая запись добавляется в определенную коллекцию в Firestore, моя функция Firebase будет запускаться, таким образом отправляя push-уведомление на устройства пользователей, которые подписываются на определенную тему.
Вот код, который я использовал для функции Firebase:
exports.sendNotifications = functions.firestore
.document('notifications/{sessionId}').onCreate(async event => {
const newValue = event.data();
// Gets data from the new notification record in Firestore.
const topicId = newValue.topicId;
const themeId = newValue.themeId;
const colorId = newValue.colorId;
let lable = newValue.lable;
let header = newValue.header;
// Limit the number of characters for push notifications
if(header.length >= 50){
header = header.substring(0,47) + "...";
} if(lable.length >= 100){
lable = lable.substring(0,97) + "...";
}
// Set the message for the notification.
const payload = {
notification: {
title: header,
body: lable,
}
}
let options = {
priority: 'high'
};
// Sends the notification to the users subscribed to the said topic
return admin.messaging().sendToTopic(topicId, payload, options)
});
Поскольку функция запускает и отправляет push-уведомления всем моим пользователям, подписавшимся на тему одновременно.Возможно ли, чтобы устройство (принимающая сторона) не показывало уведомление, отправленное моей функцией, до наступления определенного времени?
Причина, по которой пользователи моего приложения Ionic должны выбрать, в какое время дня они будутполучение push-уведомлений из облака.
Мне известно, что в консоли Firebase вы можете отправлять уведомления вручную с помощью формы и устанавливать время и дату отправки уведомления, но это не работает наМоя поддержка, поскольку мои пользователи не установили одинаковое время и дату для показа уведомлений.