是否可以根据用户的时区在 Firebase 中触发云功能?



在我的Android应用程序中,我有一个Firebase云功能,每天上午12:00触发。

这是代码:

exports.dailyReset = functions.pubsub.schedule('0 0 * * *').onRun((context) => {
return null;
});

是否可以根据用户的时区触发该功能?默认情况下,它是根据美国/洛杉矶时间触发的。这也意味着云功能将在不同的时间触发,因为使用该应用程序的多个用户可能在不同的时区。

正如编写计划函数的文档所示,您可以使用指定时区

Unix Crontab和AppEngine语法都受Google Cloud Scheduler支持。例如,要使用Crontab来选择运行计划函数的特定时区,请执行以下操作:

exports.scheduledFunctionCrontab = functions.pubsub.schedule('5 11 * * *')
.timeZone('America/New_York') // Users can choose timezone - default is America/Los_Angeles
.onRun((context) => {
console.log('This will be run every day at 11:05 AM Eastern!');
return null;
});

timeZone的值必须是tz数据库中的时区名称。有关支持的属性的详细信息,请参阅Cloud Scheduler参考。

此处无法安排应用程序特定用户的时间,因为云功能无法知道每个用户在部署时间的时区(即设置时间表的时间(。

最新更新