不同时区,可以设定用户固定时间收到吗

jpush
标签: #<Tag:0x00007fb83ce8a160>

(alan) #1

我们的APP是面向全球用户,
我们要求,用户在特定的时间才收到消息,比如19点,然后不同时区的用户,时间就不一样了.
当我们发推送的时候,所有的用户是同时收到的吗?
还是可以让所有的用户,在他们手机时间为19点时才收到,极光能不能做到这点?


#3

你可以使用定时推送,在app里判断用户所在的时区后为app设置标签或者别名。
然后换算一下不同时区的时间,对不同时区(标签)的用户设置不同时间的定时消息。
推送时间以你当前所在时区 调用API 的时间为准


JPush分国家推送消息
(alan) #4

就是说,我在登录时,给这个用户设置某个时区的标签,然后在发送消息时,假设现在我所在的时区时间是12点,我需要所有用户都在他们的手机显示为15点时收到,那么我需要自己计算,时区比我小的用户,需要延迟4小时的时间,时区比我早一个小时的用户,需要延迟2小时的时间,然后在发送定时推送时,分别发送通知,假设我有全球用户,那我需要计算24次的时间,然后发送24条消息,是吗


#5

是的,如果你需要精确的话。


(alan) #6

那极光后台管理那边的定时推送,发送了一个定时推送后,是所有用户手机上都同时收到吗


#7

我只能跟你保证,我们处理消息是同时的,但是你的用户是不是同时收到无法保证,因为收取这个动作依赖于连接状态。

iOS:通知消息,我们发给Apple服务器,由他发给你的用户,一般来说,如果手机没有断网(没有与Apple的服务器断开),就收的到;不过如果app处于前台,收到消息后是不展示的(iOS10除外)。
自定义消息,需要用户打开了app,网络正常,才能收到推送

Android:
两种消息都取决于长连接是否连着。
而断开或者没有及时收到消息的情况 根据系统对app的限制不同也会有不同: 常见问题 - JPush 合集(持续更新)


(alan) #8

现在不讨论断网,关机那些条件,所有的手机都是可以正常连接的,就是极光那边的定时推送,能否做到所有时区的用户都在特定时间收到推送消息,不用我自己计算的那种


#9

需要你自己计算的额,我们是不分时区的,需要你自己分时区,之前不是已经讨论过了?

譬如,如果你自己不做区分,直接广播,你现在16:00即时的发一条消息,那么不同时区的就当前这一时刻,就收到了,不会说等到那边的时间显示的也是16:00的时候,才收到。


(alan) #10

明白了!!还好全球只有24个时区,不然发送的消息太多了都很难查


(alan) #11

服务的的API,Go语言的版本,没看到有定时的相关参数啊


#12

额,好像我们没有Go语言的官方SDK,你可以参考文档自己写。

https://docs.jiguang.cn/jpush/server/push/rest_api_push_schedule/