Browse Source

【新增】当日视频次数大于最大值后弹出提示

zouyong 5 years ago
parent
commit
a1fea7301b

+ 28 - 2
assets/script/game/data/AdData.ts

@@ -23,6 +23,16 @@ export class AdData {
     /** 视频类型 */
     public ad_subType: AdFun;
 
+
+    private _watchNumToday: number = 0;
+    /** 当天看的视频次数 */
+    public set watchNumToday(v: number) {
+        this._watchNumToday = v;
+    }
+    public get watchNumToday(): number {
+        return this._watchNumToday;
+    }
+
     private datas: any[];
 
 
@@ -30,6 +40,22 @@ export class AdData {
         this.datas = [, gData.reward, gData.reward, gData.reward, gData.turnable, gData.sign, gData.blessingBag];
     }
 
+    /**
+     * 每次视频次数是否已经到达上限
+     * @returns true 已达最大次数 false没有,可以有奖励
+     */
+    public checkAdMax() {
+        this.watchNumToday++;
+        let max = parseInt(gData.gameData.configs.ServerConfig.VideoTimesMax);
+        if(this.watchNumToday > max){
+            mk.tip.pop("今日看广告获得奖励的次数已用完");
+            return true;
+        }
+        else{
+            return false;
+        }
+    }
+
 
     public updateData(placementId, data) {
         mk.console.logSingle("updateADData:" + placementId, data);
@@ -74,8 +100,8 @@ export class AdData {
             "adsource_ecpm": gData.gameData.adShowConfig.average_ecpm,
             "ad_sbuType": this.ad_subType,
         }
-        mk.console.logSingle("updateVideoData:",data);
-        
+        mk.console.logSingle("updateVideoData:", data);
+
         let response = await mk.http.sendData('updateVideo', data);
         if (response.errcode != 0) {
             return;

+ 1 - 0
assets/script/game/data/GameData.ts

@@ -116,6 +116,7 @@ export class GameData {
         this.gameData.userTuCaoInfo = res_data.userTuCaoInfo;
         this.gameData.versioncfg = res_data.versioncfg;
         this.gameData.isFirstRedMoney = res_data.isFirstRedMoney;
+        gData.adData.watchNumToday = res_data.dayVideoTimesForRedMoney == null ? 0 : res_data.dayVideoTimesForRedMoney;
     }
 
     /**

+ 7 - 2
assets/script/mk/system/AdSystem.ts

@@ -90,8 +90,13 @@ export default class AdSystem {
      */
     public wacthAdSuccess(placementId = '') {
         mk.console.log("=== wacthAdSuccess");
-        this.videoAdcallBack(true);
-        this.initLastTimeStamp();
+        //广告过后,渲染会有问题,统一下一帧再处理逻辑
+        mk.ui.scheduleOnce(() => {
+            if (!gData.adData.checkAdMax()) {
+                this.videoAdcallBack(true);
+            }
+            this.initLastTimeStamp();
+        }, 0)
     }
 
     /** 显示原生广告 */