|
|
@@ -262,19 +262,26 @@ export class AdData {
|
|
|
* @type 1:弹出全屏插屏广告 2:延时弹出大插屏 3:先弹出插屏,再弹出大插屏 4:互推红包
|
|
|
*/
|
|
|
checkShowFullInter(type, des = null) {
|
|
|
- let per = this.getPerByEcpm();
|
|
|
- let pop = Math.random() < per;
|
|
|
- if (!pop) {
|
|
|
- return;
|
|
|
- }
|
|
|
+ let per = 0;
|
|
|
+ let pop = true;
|
|
|
switch (type) {
|
|
|
case 1:
|
|
|
+ per = this.getPerByEcpm(RateConfig.RC_fullScreen);
|
|
|
+ pop = Math.random() < per;
|
|
|
+ if (!pop) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
if (this.FullScreenAdArr.indexOf(this.ecpmLevel.toString()) == -1) {
|
|
|
return;
|
|
|
}
|
|
|
mk.ad.showInterAd(1, des);
|
|
|
break;
|
|
|
case 2:
|
|
|
+ per = this.getPerByEcpm(RateConfig.RC_tableScreen);
|
|
|
+ pop = Math.random() < per;
|
|
|
+ if (!pop) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
let delayArr = gData.gameData.configs.ServerConfig.AdDelay.split(',');
|
|
|
let min = parseFloat(delayArr[0]);
|
|
|
let max = parseFloat(delayArr[1]);
|
|
|
@@ -284,6 +291,12 @@ export class AdData {
|
|
|
}, delay);
|
|
|
break;
|
|
|
case 3:
|
|
|
+
|
|
|
+ per = this.getPerByEcpm(RateConfig.RC_tableScreen);
|
|
|
+ pop = Math.random() < per;
|
|
|
+ if (!pop) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
let delayArr1 = gData.gameData.configs.ServerConfig.AdDelay.split(',');
|
|
|
let min1 = parseFloat(delayArr1[0]);
|
|
|
let max1 = parseFloat(delayArr1[1]);
|
|
|
@@ -297,6 +310,12 @@ export class AdData {
|
|
|
}, delay1);
|
|
|
break;
|
|
|
case 4:
|
|
|
+ per = this.getPerByEcpm(RateConfig.RC_moreGameRedBag);
|
|
|
+ pop = Math.random() < per;
|
|
|
+ if (!pop) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
gData.moreGame.popNewOpenRedBag();
|
|
|
break;
|
|
|
}
|
|
|
@@ -394,16 +413,56 @@ export class AdData {
|
|
|
|
|
|
|
|
|
|
|
|
- getPerByEcpm() {
|
|
|
+ getPerByEcpm(type: RateConfig = RateConfig.RC_fullScreen) {
|
|
|
// //test
|
|
|
// return 0.26;
|
|
|
let forceAd = gData.gameData.configs.ForceAd;
|
|
|
let len = forceAd.length;
|
|
|
let per = 0;
|
|
|
for (var i = 0; i < len; i++) {
|
|
|
- if (gData.gameData.adShowConfig.average_ecpm <= parseInt(forceAd[i].ecpmMax)) {
|
|
|
- per = parseFloat(forceAd[i].percent);
|
|
|
- break;
|
|
|
+ switch (type) {
|
|
|
+ case RateConfig.RC_fullScreen:
|
|
|
+ if (gData.gameData.adShowConfig.average_ecpm <= parseInt(forceAd[i].ecpmMax)) {
|
|
|
+ per = parseFloat(forceAd[i].percent);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case RateConfig.RC_tableScreen:
|
|
|
+ if (gData.gameData.adShowConfig.average_ecpm <= parseInt(forceAd[i].ecpmMax)) {
|
|
|
+ per = parseFloat(forceAd[i].percent);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case RateConfig.RC_banner:
|
|
|
+ if (gData.gameData.adShowConfig.average_ecpm <= parseInt(forceAd[i].ecpmMax)) {
|
|
|
+ per = parseFloat(forceAd[i].percent);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case RateConfig.RC_infrormationFlow:
|
|
|
+ if (gData.gameData.adShowConfig.average_ecpm <= parseInt(forceAd[i].ecpmMax)) {
|
|
|
+ per = parseFloat(forceAd[i].percent);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case RateConfig.RC_splash:
|
|
|
+ if (gData.gameData.adShowConfig.average_ecpm <= parseInt(forceAd[i].ecpmMax)) {
|
|
|
+ per = parseFloat(forceAd[i].percent);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case RateConfig.RC_superDouble:
|
|
|
+ if (gData.gameData.adShowConfig.average_ecpm <= parseInt(forceAd[i].ecpmMax)) {
|
|
|
+ per = parseFloat(forceAd[i].percent);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case RateConfig.RC_moreGameRedBag:
|
|
|
+ if (gData.gameData.adShowConfig.average_ecpm <= parseInt(forceAd[i].ecpmMax)) {
|
|
|
+ per = parseFloat(forceAd[i].percent);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -434,4 +493,14 @@ export enum AdFun {
|
|
|
harvest = 9, //收获超级加倍视频
|
|
|
farmMap = 10, //图鉴领取视频
|
|
|
lineUp = 11, //插队视频
|
|
|
+}
|
|
|
+
|
|
|
+export enum RateConfig {
|
|
|
+ RC_fullScreen,
|
|
|
+ RC_tableScreen,
|
|
|
+ RC_banner,
|
|
|
+ RC_infrormationFlow,
|
|
|
+ RC_splash,
|
|
|
+ RC_superDouble,
|
|
|
+ RC_moreGameRedBag
|
|
|
}
|