我需要在用户在2分钟或2分钟后访问特定屏幕时显示广告,然后在6分钟后再次访问10,14,16 ..在x分钟再做一次事情,然后每隔n分钟做一次
我有下面的代码,它工作正常,如果用户在几分钟2,6,10,14等访问屏幕,但它不起作用,如果用户错过了这些纪要。例如,如果广告在第2分钟显示,但用户直到第8分钟才回来,则会丢失第6分钟的广告。
我该如何应对这一点,以便我能够满足这一点,如果用户在这些分钟以外回来,他们的广告仍然会显示出来?
long start = adStartTime;
long now = new Date().getTime();
int minsElapsedSinceLastAd = (int) ((now - start)/1000/60);
showAd = previousRunMin !=minsElapsedSinceLastAd&& minsElapsedSinceLastAd % 4 == 2;
if (showAd) {
showAd();
...
previousRunMin = minsElapsedSinceLastAd;
}
previousRunMin
会有如此,如果用户回来在同一分钟,广告没有显示
例如存储最近的广告时间(例如2分钟)。然后检查用户错过了什么。 – zapl 2014-12-13 02:16:49
我会实现一个fifo堆栈(先入先出)。所以无论何时出现广告时,都要将其放在堆叠上。并且每当用户访问该网站时,应该或应该已经显示的下一个广告将出现... – Ubica 2014-12-13 02:38:05