使用 Cloud Functions 在指定日期发送 Flutter FCM 通知
Sending Flutter FCM notifications on a specified day with Cloud Functions
我有一个应用程序,在添加新文档时,FCM 通知将发送给用户。我现在想要实现的是让用户 select 一个特定的日期,然后在那个特定的日期,用户应该得到通知。
我已阅读 Scheduled Functions with Cloud Functions 文档,其中显示(使用 cron 时间格式):
exports.scheduledFunctionCrontab = functions.pubsub.schedule('5 11 * * *')
.timeZone('America/New_York')
.onRun((context) => {
console.log('This will be run every day at 11:05 AM Eastern!');
return null;
});
所以,对我来说,我想要这样的东西:
exports.scheduledFunctionCrontab = functions.pubsub.schedule('selected date from flutter
date/time picker ')
.timeZone('America/New_York')
.onRun((context) => {
'SEND OUT FCM notification'
;
return null;
});
那么我如何将 Flutter Date/Time 转换为 -> 2020-05-31 05:41:42 INTO cron 时间格式 -> 5 4 * * sun 以在特定日期发送 FCM 通知
谢谢
首先要清除一些东西:
- 没有API 来创建预定的通知。这意味着您无法一次定义一个通知,它会在另一个时间发送。
- 您无法创建在特定时间从您的客户端执行的预定云函数。这意味着:
exports.scheduledFunctionCrontab = functions.pubsub.schedule('selected date from flutter
date/time picker ')
也不行。
解决您的问题的唯一方法是:
- 创建一个集合,您可以在其中保存要发送的通知以及发送通知的时间。
- 创建一个定期 运行 的计划云函数,例如每 1 小时一次,并检查集合中的通知是否接近当前时间以及是否该发送它们
- 在这种情况下发送通知
如果您的用户在确切的分钟内不需要它,我会建议 运行 每 1 小时安排一次云功能。
我有一个应用程序,在添加新文档时,FCM 通知将发送给用户。我现在想要实现的是让用户 select 一个特定的日期,然后在那个特定的日期,用户应该得到通知。
我已阅读 Scheduled Functions with Cloud Functions 文档,其中显示(使用 cron 时间格式):
exports.scheduledFunctionCrontab = functions.pubsub.schedule('5 11 * * *')
.timeZone('America/New_York')
.onRun((context) => {
console.log('This will be run every day at 11:05 AM Eastern!');
return null;
});
所以,对我来说,我想要这样的东西:
exports.scheduledFunctionCrontab = functions.pubsub.schedule('selected date from flutter
date/time picker ')
.timeZone('America/New_York')
.onRun((context) => {
'SEND OUT FCM notification'
;
return null;
});
那么我如何将 Flutter Date/Time 转换为 -> 2020-05-31 05:41:42 INTO cron 时间格式 -> 5 4 * * sun 以在特定日期发送 FCM 通知
谢谢
首先要清除一些东西:
- 没有API 来创建预定的通知。这意味着您无法一次定义一个通知,它会在另一个时间发送。
- 您无法创建在特定时间从您的客户端执行的预定云函数。这意味着:
exports.scheduledFunctionCrontab = functions.pubsub.schedule('selected date from flutter
date/time picker ')
也不行。
解决您的问题的唯一方法是:
- 创建一个集合,您可以在其中保存要发送的通知以及发送通知的时间。
- 创建一个定期 运行 的计划云函数,例如每 1 小时一次,并检查集合中的通知是否接近当前时间以及是否该发送它们
- 在这种情况下发送通知
如果您的用户在确切的分钟内不需要它,我会建议 运行 每 1 小时安排一次云功能。