| 
					
				 | 
			
			
				@@ -33,11 +33,108 @@ import { Log, LOG_TAG } from "../../../framework/log/Log"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import array = cc.js.array; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import UIMng from "../../../framework/ui/UIMng"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import AESUtil from "../../../AESUtil" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import ATSDK from "../../../AnyThinkAds/ATJSSDK"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import ATRewardedVideoSDK from "../../../AnyThinkAds/ATRewardedVideoJSSDK"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import AAJS2 from "../../../ATAndroidJS2"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import GlobalManager from '../../../GlobalManager'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const { ccclass, menu, property } = cc._decorator; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 @ccclass 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 @menu("UI/Interface/UIMenu") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-export default class UIMenu extends UIBase { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export default class UIMenu extends UIBase implements AdDeveloperCallback { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	onRewardedVideoAdLoaded(placementId: any): void { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ATSDK.printLog("AnyThinkRewardedVideoDemo::onRewardedVideoAdLoaded(" + placementId + ")"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	onRewardedVideoAdFailed(placementId: any, errorInfo: any): void { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ATSDK.printLog("AnyThinkRewardedVideoDemo::onRewardedVideoAdFailed(" + placementId + ", " + errorInfo + ")"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	onRewardedVideoAdPlayStart(placementId: any, callbackInfo: any): void { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ATSDK.printLog("AnyThinkRewardedVideoDemo::onRewardedVideoAdPlayStart(" + placementId + ", " + callbackInfo + ")"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		let deviceId = AAJS2.getDeviceUserId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		var setting = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		setting[ATRewardedVideoSDK.userIdKey] = deviceId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ATRewardedVideoSDK.loadRewardedVideo(AAJS2.getPlacementId(), setting); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	onRewardedVideoAdPlayEnd(placementId: any, callbackInfo: any): void { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ATSDK.printLog("AnyThinkRewardedVideoDemo::onRewardedVideoAdPlayEnd(" + placementId + ", " + callbackInfo + ")"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		console.log('zh: ad over 开始发送事件11') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		//this.node.emit("handleCustomEvent"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		this.handleCustomEvent() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		console.log('zh: ad over 开始发送事件OVER22') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	onRewardedVideoAdPlayFailed(placementId: any, errorInfo: any, callbackInfo: any): void { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ATSDK.printLog("AnyThinkRewardedVideoDemo::onRewardedVideoAdPlayFailed(" + placementId + ", " + errorInfo + ", " + callbackInfo + ")"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	onRewardedVideoAdClosed(placementId: any, callbackInfo: any): void { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ATSDK.printLog("AnyThinkRewardedVideoDemo::onRewardedVideoAdClosed(" + placementId + ", " + callbackInfo + ")"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	onRewardedVideoAdPlayClicked(placementId: any, callbackInfo: any): void { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ATSDK.printLog("AnyThinkRewardedVideoDemo::onRewardedVideoAdPlayClicked(" + placementId + ", " + callbackInfo + ")"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	onReward(placementId: any, callbackInfo: any): void { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ATSDK.printLog("zh:AnyThinkRewardedVideoDemo::onReward(" + placementId + ", " + callbackInfo + ")"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * AD播放完毕的事件处理 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	handleCustomEvent() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		console.log('zh:00收到发送的事件') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		let adKey = "zh_ad_type" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		let idx = cc.sys.localStorage.getItem(adKey);//0,1,2,3  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		console.log('zh:onAdOverEve idx =' + idx) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		let adKeyTemp = '';//初始化一下,随便 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		switch (idx) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			case 'doGetForAdEvent': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				adKeyTemp = 'doGetForAdEvent_monthParams'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				let mpStr = cc.sys.localStorage.getItem(adKeyTemp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				let mpJosn = JSON.parse(mpStr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				console.log('zh:#############幸存者 奖励') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				GlobalManager.getInstance().callMethod('doGetForAdEvent', mpJosn.result, mpJosn.type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			case 'doSearchForAdEvent': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				console.log('zh:#############商店搜集 奖励') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				GlobalManager.getInstance().callMethod('doSearchForAdEvent'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			case 'refreshInfoForAdEventKtsx': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				console.log('zh:#############呼叫空投-刷新物品 奖励') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				GlobalManager.getInstance().callMethod('refreshInfoForAdEventKtsx'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			case 'doGetForAdEventKt': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				console.log('zh:#############呼叫空投-获取物品 奖励') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				GlobalManager.getInstance().callMethod('doGetForAdEventKt'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			case 'doubleRewardForAdEventQd': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				console.log('zh:#############签到奖励 奖励') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				GlobalManager.getInstance().callMethod('doubleRewardForAdEventQd'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				console.log('zh:未知的道具类型AD' + idx) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		cc.sys.localStorage.setItem(adKey, ''); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		cc.sys.localStorage.setItem(adKeyTemp, ''); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		console.log('zh:清理adKey ') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	adKey: string = "zh_ad_type"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	ui: auto_menu = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	protected static prefabUrl = "Interface/menu"; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -58,8 +155,77 @@ export default class UIMenu extends UIBase { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		bundleManager.loadSimpleSubpk('level3', () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			bundleManager.loadSimpleSubpk('level4'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		this.initAd(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	initAd() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		let adKey = "zh_ad_type" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		cc.sys.localStorage.setItem(adKey, ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		let placementId = AAJS2.getPlacementId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		let deviceId = AAJS2.getDeviceUserId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		var setting = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		setting[ATRewardedVideoSDK.userIdKey] = deviceId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ATRewardedVideoSDK.loadRewardedVideo(placementId, setting); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		//console.log('zh:bbb222') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		var customPlacementId = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if (cc.sys.os === cc.sys.OS_IOS) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			customPlacementId = placementId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} else if (cc.sys.os === cc.sys.OS_ANDROID) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			customPlacementId = placementId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		// 初始化SDK 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		//  ATSDK.initSDK("h6752c78a49dc1", "aad31bcaf7f7ff45ba21a8bc87bd9318a");//正式的,发布提交go0gle play 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ATSDK.initSDK("h66f7c5f8028cf", "ab133deec743a4bb58930891fd75d3f83");//测试专用,可以显示广告        
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		//ATSDK.initSDK("h67122e47607cd", "a4fd9a23bdd71c2314cf41140a77abb1e");//这是打砖块的已经上架的 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ATSDK.setLogDebug(true);//zh:diy 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		var GDPRLevel = ATSDK.getGDPRLevel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		// 针对欧盟地区初始化时做的处理,按需求打开,不在欧盟地区发布的不用使用。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ATSDK.getUserLocation(function (userLocation) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			//如果处于欧盟地区且等级是UNKNOW时,就执行授权弹窗 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if (userLocation === ATSDK.kATUserLocationInEU) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if (ATSDK.getGDPRLevel() === ATSDK.UNKNOWN) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					ATSDK.showGDPRAuth(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ATRewardedVideoSDK.setAdListener(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if (cc.sys.os === cc.sys.OS_ANDROID) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			setTimeout(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				var allInfo = AAJS2.allInfo(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				ATSDK.printLog("zh:allInfo=" + allInfo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				let key = "US2%*c3lv8sYkUe(!e-6g$E*RJg)dzn@"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				let iv = "Jn0.aWsOu$y-Dbqb"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				let data = { data: AESUtil.AESencrypt(allInfo, key, iv) }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				ATSDK.printLog("zh:allInfo-jm=" + JSON.stringify(data)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				console.log('zh:ad_allInfo', data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				AAJS2.makePostRequestWithXhr(JSON.stringify(data)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}, 200); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	initAdForPage() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if (cc.sys.os === cc.sys.OS_ANDROID) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			let deviceId = AAJS2.getDeviceUserId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			console.log("zh:checkstatus:", ATRewardedVideoSDK.checkAdStatus(AAJS2.getPlacementId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			var setting = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			setting[ATRewardedVideoSDK.userIdKey] = deviceId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			ATRewardedVideoSDK.loadRewardedVideo(AAJS2.getPlacementId(), setting); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	isNewUser() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		let playerDt = AccountModel.getInstance().playerDtList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if (playerDt.length > 0) { 
			 |