我需要在用戶在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