请教下,目前我们游戏用户处于不同的时区,我需要在当地时间的12点发送一个推送给用户。(也就是用户无论在那个时区,都会在每天中午12点收到一个推送信息。)

我准备用云函数的定时执行,每一个小时执行一次推送函数,查找出当地时间是12点的用户,向他们发送消息。我看到后台目前_installation里面收集到的timezone字段收集到的数据是“Asia/Shanghai”这种区域信息。

1.想请问下,在云函数中如何方便的通过timezone判断当地时间?以实现我需要的效果。

2.我看到后台消息管理的推送消息里有一个“定时推送”选项,但是没有相关的数据和操作按钮。这个东西是如何使用的?

你好,请看控制台:

1、推送目标里,可以通过 timeZone equals Asia/Shanghai 来推给上海时区的用户。其他同理。

2、推送时间,选择指定时间时,后面会弹出具体时间的按钮。

你好,后台这个操作明白了什么意思。
但是用云函数的话,同一个时区可能有很多城市,所以需要先把这些城市转换成对应的时区,再通过与当前时区对比确定向那个城市的发送推送消息。

你好,其实我想请教的实际问题是:
在使用定时推送功能的时候,我需要自己去处理时区问题吗?
比如我想用户无论在什么时区,都是中午12点收到我发送的定时推送。我在发送推送的时候,是否需要计算服务器时区和用户时区的时间差来对每个时区的用户生成一个定时推送。还是说,leancloud会自己处理时区问题。我只需要定义发送时间为中午12点就可以了?

我们没做转换,跨时区的,需要你自行处理。

因为国内节点和美国节点,都是各自独立的。所以都是在中国时间或者美国时间,这两个大区里推送。

明白了,使用云函数推送,是否对一次性生成多少个定时推送有限制?因为我要针对用户设置的语言和时区分别生成对应的推送时间和内容。

1.我准备这样做,每天服务器时间凌晨的时候开始生成后面一天各个时区的定时推送消息。每个时区可能根据语言不同还会生成多个定时推送消息。这样是否可行?

2.我准备用AV.Push 的cql定义推送条件。如果某个cql语句执行后一个满足条件的用户都没有找到,这条推送是否自动处理不再发送?

你好,
“是否对一次性生成多少个定时推送有限制?”
没有

“我准备这样做,每天服务器时间凌晨的时候开始生成后面一天各个时区的定时推送消息。每个时区可能根据语言不同还会生成多个定时推送消息。这样是否可行?”
可行

"我准备用AV.Push 的cql定义推送条件。如果某个cql语句执行后一个满足条件的用户都没有找到,这条推送是否自动处理不再发送?"
找不到设备时不会发推送,直接标记推送为完成。

感谢回复,已经完成功能需求。不过为什么通过云函数生成推送不能设置定时推送时间那?

通过云函数也是可以设置定时推送时间的啊。用 JS SDK 的 AV.Push ,文档在这里:https://leancloud.cn/api-docs/javascript/symbols/AV.Push.html
其中 push_time 参数就是设置推送时间。