计算正常推送流程
2016-08-05 14:10:43 0 举报
计算推送时间流程图
作者其他创作
大纲/内容
当前时间 - App安装时间 推送在安装后的生效时间(当前时间是否未满足推送在安装后的失效时间)?
是
下次在几点显示Notification = 当前遍历的广告时段的开始时间(在当前遍历的广告时段内)?
定义一个是否已经找到合适的广告时段标志位(此时值为false)定义一个最靠近的广告时段的开始时间(此时值为25)
闹钟响起
下次显示Notification时间 = 自身 + 0~10*60*1000随机毫秒(加上这个随机毫秒数主要是为了错开所有用户请求服务器的时间)
下次在几点显示Notification = 一天中最后的广告时间(下次显示Notification的时间应该是第二天的最早那个时间)?
下次在几点显示Notification 当前遍历的广告时段的结束时间(未超过当前遍历的广告时段)?
否如:上次在几点显示Notification=11下次在几点显示Notification=15当前遍历的广告时段=14:00~16:00
否如:当前时间=9:00;上次显示时间=8:11
找不到最靠近的广告时段?
是否已经找到合适的广告时段标志位?
下次显示Notification时间 = 上次显示Notification时间 + 广告展示间隔
把下次显示Notification时间设置为最靠近的广告时段的开始时间下次显示Notification时间 = 最靠近的广告时段的开始时间
?
开始遍历所有的广告时段
开始
否如:当前时间=8:45;App安装时间=9:25
是如:上次显示Notification时间=20下次显示Notification时间=21
否如:下次在几点显示Notification=8:00
是如:当前时间=9:00;上次显示时间=8:45
否如:下次在几点显示Notification=13,当前遍历的广告时段=9:00~12:00
定义一个下次显示Notification时间的变量(此时值为0)获取广告展示间隔
是如:下次在几点显示Notification=13最靠近的广告时段的开始时间=20当前遍历的广告时段=14:00~16:00
前提条件:推送在安装后的生效时间:5分钟广告展示间隔:30分钟推送样式1:时段1(9:00~12:00);时段2(20:00~22:00)推送样式2:时段1(14:00~16:00);时段2(17:00~18:00)
是否遍历完?
下次显示Notification时间 = 当前时间
设置开启推送SDK的闹钟闹钟响起时间 = 安装时间 + 推送在安装后的生效时间闹钟响起时间 = 9:24 + 5分钟 = 9:29
是如:下次在几点显示Notification=23
现在的下次显示Notification时间就已经符合条件是否已经找到合适的广告时段标志位 = true
是如:下次在几点显示Notification=8当前遍历的广告时段=9:00~12:00
结束
是如:上次在几点显示Notification=9下次在几点显示Notification=11当前遍历的广告时段=9:00~12:00
否如:下次显示Notificaiton时间=13
下次显示Notification时间 = 上次显示Notification时间 + 广告展示间隔确保当前的下次显示Notification时间已经满足广告展示间隔规则
否如:下次在几点显示Notification=13最靠近的广告时段的开始时间=14当前遍历的广告时段=17:00~18:00
是如:下次在几点显示Notification=8,当前遍历的广告时段=9:00~12:00
定义一个下次在几点显示Notification的变量(初始值根据这时的下次显示Notification时间取得)定义一个上次在几点显示Notification的变量(值根据上次显示Notification时间取得)
否(代表下次显示Notification时间不在任一广告时段内或者在最后一个广告时段内,但该时段已经展示过广告)
设置下次显示Notification的闹钟闹钟响起时间 = 下次显示Notification的时间
获取:1、App安装时间2、推送在安装后的生效时间
是如:当前时间=9:24;App安装时间=9:25
获取:1、上次显示Notification时间2、当前时间
最靠近的广告时段的开始时间 = 当前遍历的广告时段的开始时间
把下次显示Notification时间设置为第二天的最早的广告时间下次显示Notification的时间 = 明天的9:00
上次显示Notfication时间是否大于0(之前是否显示过Notification)?
当前时间 - 上次显示Notification时间 广告展示时间(当前时间是否未满足广告展示间隔)?
最靠近的广告时段的开始时间 当前遍历的广告时段的开始时间(有更靠近的广告时段)?
是如:下次在几点显示Notification=10,当前遍历的广告时段=9:00~12:00
否
0 条评论
下一页