From f4df902592f1711d14e0629d5c781c74424ad9e6 Mon Sep 17 00:00:00 2001 From: huanghaipeng Date: Wed, 11 Mar 2026 19:55:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=8A=96=E9=9F=B3=E5=B9=BF?= =?UTF-8?q?=E5=91=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/Script/JiaZai.ts | 27 +++++++++++++++++++++++++++ assets/Script/Sdk/MiniGameSdk.ts | 7 ++++--- assets/Script/module/Tool/GameTool.ts | 24 +++++++++++++++++------- 3 files changed, 48 insertions(+), 10 deletions(-) diff --git a/assets/Script/JiaZai.ts b/assets/Script/JiaZai.ts index 78af906..6582c5d 100644 --- a/assets/Script/JiaZai.ts +++ b/assets/Script/JiaZai.ts @@ -3834,6 +3834,33 @@ export default class JiaZai extends cc.Component { } } + // 抖音广告测试 + // adShow() { + // let overData = { + // ad_placement_name: "1001", //内部广告位名称 + // current_page: "HomeScene" //所在页面 + // } + // var self = this; + + // var callback = function (isType) { + // // self.reviewState = false; + // if (isType) { + // console.log("领取奖励"); + // cc.fx.GameTool.changeCoin(66666); + // this.updateCoin(); + // } else { + // // self.runRewive(data); + // } + + // } + // console.log("复活"); + // //@ts-ignore + // if (typeof tt !== 'undefined' && tt !== null) { + // console.log("复活广告") + // cc.fx.GameTool.onShowVideo(callback, overData) + // } + // } + update(dt) { if (this.newbieGift && this.monthlyCardNode) { if (this.monthlyCardNode.active == true) { diff --git a/assets/Script/Sdk/MiniGameSdk.ts b/assets/Script/Sdk/MiniGameSdk.ts index a8daa60..ecc3e41 100644 --- a/assets/Script/Sdk/MiniGameSdk.ts +++ b/assets/Script/Sdk/MiniGameSdk.ts @@ -419,7 +419,6 @@ export namespace MiniGameSdk { if (!isWechat() && !isBytedance()) { callback(EAdVideoResult.ACCEPT, 1); - this._adVideo = null; return; } @@ -460,10 +459,12 @@ export namespace MiniGameSdk { this._cleanup(); callback(result, count); } + + let adUnitId = cc.fx.GameTool.getAdUnitId(); let responseData = { ad_type: "激励视频", //广告类型 ad_placement_name: video_data?.ad_placement_name || "", //内部广告位名称 //2000复活 道具 2001 2002 2003 - ad_placement_id: "adunit-aa9a28e1631bf16f", //内部广告位ID + ad_placement_id: adUnitId, //内部广告位ID current_page: video_data?.current_page || "", //所在页面 error_detail_info: "", //错误信息 error_detail_code: "", //错误码 @@ -538,7 +539,7 @@ export namespace MiniGameSdk { let showData = { ad_type: "激励视频", //广告类型 ad_placement_name: video_data?.ad_placement_name || "", //内部广告位名称 //2000复活 道具 2001 2002 2003 - ad_placement_id: "adunit-aa9a28e1631bf16f", //内部广告位ID + ad_placement_id: adUnitId, //内部广告位ID current_page: video_data?.current_page || "", //所在页面 error_detail_info: "", //错误信息 error_detail_code: "", //错误码 diff --git a/assets/Script/module/Tool/GameTool.ts b/assets/Script/module/Tool/GameTool.ts index 8aafafb..cce1a37 100644 --- a/assets/Script/module/Tool/GameTool.ts +++ b/assets/Script/module/Tool/GameTool.ts @@ -1871,10 +1871,11 @@ var GameTool = { } } } + let adUnitId = this.getAdUnitId(); let requestData = { ad_type: "激励视频", //广告类型 ad_placement_name: videoData.ad_placement_name, //内部广告位名称 1001 双倍金币 - ad_placement_id: "adunit-aa9a28e1631bf16f", //内部广告位ID + ad_placement_id: adUnitId, //内部广告位ID current_page: videoData.current_page, //所在页面 } cc.fx.GameTool.shushu_Track("ad_request", requestData); @@ -1887,7 +1888,7 @@ var GameTool = { callback(false); }, 6000); // 6秒超时 cc.fx.GameTool.waitForAdPreload().then(() => { - MiniGameSdk.AdvertManager.instance.showVideo('adunit-aa9a28e1631bf16f', videoData, (res: MiniGameSdk.EAdVideoResult, count: number) => { + MiniGameSdk.AdvertManager.instance.showVideo(adUnitId, videoData, (res: MiniGameSdk.EAdVideoResult, count: number) => { if (timeoutId) clearTimeout(timeoutId); console.log('用户看的视频广告个数是:', count); console.log('用户观看视频广告结果:', res); @@ -1897,7 +1898,7 @@ var GameTool = { let data = { ad_type: "激励视频", //广告类型 ad_placement_name: videoData.ad_placement_name, //内部广告位名称 //2000复活 道具 2001 2002 2003 - ad_placement_id: "adunit-aa9a28e1631bf16f", //内部广告位ID + ad_placement_id: adUnitId, //内部广告位ID current_page: videoData.current_page, //所在页面 ad_duration: duration, //广告展示时长 ad_play_duration: 30, //广告播放时长 @@ -1909,19 +1910,19 @@ var GameTool = { MiniGameSdk.API.showToast('用户看完广告,可以奖励'); cc.fx.GameTool.shushu_Track("ad_close", data); callback(true, "ad"); - // cc.fx.GameTool.preloadRewardedVideoAd(true); + cc.fx.GameTool.preloadRewardedVideoAd(true); break; case MiniGameSdk.EAdVideoResult.REJECT: data.is_complete_play = false; MiniGameSdk.API.showToast('广告中断,未获得奖励'); cc.fx.GameTool.shushu_Track("ad_close", data); callback(false); - // cc.fx.GameTool.preloadRewardedVideoAd(true); + cc.fx.GameTool.preloadRewardedVideoAd(true); break; case MiniGameSdk.EAdVideoResult.ERROR: MiniGameSdk.API.showToast('广告加载失败,请稍后再试'); callback(false); - // cc.fx.GameTool.preloadRewardedVideoAd(true); + cc.fx.GameTool.preloadRewardedVideoAd(true); break; default: @@ -1957,7 +1958,8 @@ var GameTool = { setTimeout(() => { try { // 预加载激励视频广告 - const preloadPromise = MiniGameSdk.AdvertManager.instance.preloadVideo('adunit-aa9a28e1631bf16f'); + const adUnitId = this.getAdUnitId(); + const preloadPromise = MiniGameSdk.AdvertManager.instance.preloadVideo(adUnitId); // 添加超时处理,避免预加载Promise永远处于pending状态 const preloadTimeout = setTimeout(() => { @@ -2544,5 +2546,13 @@ var GameTool = { } } }, + + getAdUnitId() { + // @ts-ignore + let isWeChat = typeof wx !== 'undefined' && wx !== null && cc.sys.platform === cc.sys.WECHAT_GAME; + let adUnitId = isWeChat ? 'adunit-aa9a28e1631bf16f' : '4226lb9ea4il1dmjl8'; + return adUnitId; + }, + }; export { GameTool }; \ No newline at end of file