feat: add builder configuration file
feat: add cocos-service configuration file feat: add device configuration file feat: add engine configuration file feat: add information configuration file feat: add program configuration file feat: add project configuration file feat: add TypeScript configuration file
This commit is contained in:
296
assets/script/ads/AdManager_ZJ.ts
Normal file
296
assets/script/ads/AdManager_ZJ.ts
Normal file
@@ -0,0 +1,296 @@
|
||||
import { PlatformManager, releaseType } from "../manager/PlatformManager";
|
||||
|
||||
export class AdManager_ZJ {
|
||||
/** 单例模式 */
|
||||
private static _instance: AdManager_ZJ = new AdManager_ZJ();
|
||||
private constructor() { }
|
||||
public static get _ins() {
|
||||
return this._instance;
|
||||
}
|
||||
/** appID */
|
||||
app_id: string = "tta582d33f3abc001a02";
|
||||
/** 插屏ID */
|
||||
ad_inter_id: string = "2mrqugugp7e9f29c36";
|
||||
/** 激励ID */
|
||||
ad_video_id: string = "9e617go08ho2094lcq";
|
||||
/** bannerID */
|
||||
ad_banner_id: string = "5qmmte1agjm5fjd50r";
|
||||
|
||||
/** 录屏相关 */
|
||||
recorder: any = null;
|
||||
videoPath: any = null; //录屏路径
|
||||
videoTimer: any = null; //录屏计时器 300s 内要停止录屏
|
||||
|
||||
ad_banner: any = null; //banner广告;
|
||||
ad_video: any = null; //视频广告;
|
||||
|
||||
videoBack: () => void | null; //视频广告完成回调
|
||||
errorBack: (isOut:boolean) => void | null; //视频广告失败回调
|
||||
|
||||
/** 加载或者初始化所有广告 */
|
||||
loadAllAd() {
|
||||
if (PlatformManager.releaseType != releaseType.applet_ziJie) { return; }
|
||||
|
||||
this.initBanner();
|
||||
this.initVideoAd();
|
||||
};
|
||||
/** 初始化加载 视频广告 */
|
||||
private initVideoAd() {
|
||||
let self = this;
|
||||
this.ad_video = tt.createRewardedVideoAd({
|
||||
adUnitId: self.ad_video_id,
|
||||
});
|
||||
|
||||
this.ad_video.onLoad(() => {
|
||||
console.log("视频广告加载完成!");
|
||||
});
|
||||
this.ad_video.load();
|
||||
};
|
||||
/** 初始化加载 banner */
|
||||
private initBanner() {
|
||||
let self = this;
|
||||
let iphoneData = tt.getSystemInfoSync();
|
||||
var bannerData = {
|
||||
left: iphoneData.screenWidth,//广告位区域左上角横坐标
|
||||
top: iphoneData.screenHeight,//广告位区域左上角纵坐标
|
||||
width: iphoneData.screenWidth,//广告位区域宽度
|
||||
}
|
||||
|
||||
this.ad_banner = tt.createBannerAd({
|
||||
adUnitId: self.ad_banner_id,
|
||||
adIntervals: 20,
|
||||
style: bannerData,
|
||||
});
|
||||
};
|
||||
/** 显示Banner广告 */
|
||||
public showBanner() {
|
||||
if (PlatformManager.releaseType != releaseType.applet_ziJie) { return; }
|
||||
if (!this.ad_banner) {
|
||||
this.initBanner();
|
||||
// return;
|
||||
};
|
||||
|
||||
if (this.ad_banner.show) {
|
||||
this.ad_banner.show();
|
||||
}
|
||||
|
||||
this.ad_banner.onLoad( () => {
|
||||
this.ad_banner.show().then(() => {
|
||||
console.log("广告显示成功");
|
||||
}).catch((err: any) => {
|
||||
console.log("广告组件出现问题", err);
|
||||
this.ad_banner = null;
|
||||
});
|
||||
} );
|
||||
};
|
||||
/** 隐藏Banner广告 */
|
||||
public hideBanner() {
|
||||
if (PlatformManager.releaseType != releaseType.applet_ziJie) { return; }
|
||||
if (!this.ad_banner) { return; }
|
||||
this.ad_banner.hide();
|
||||
};
|
||||
/** 播放插屏广告 */
|
||||
public showIntersAd() {
|
||||
if (PlatformManager.releaseType != releaseType.applet_ziJie) { return; }
|
||||
let self = this;
|
||||
var interstitialAd = tt.createInterstitialAd({
|
||||
adUnitId: self.ad_inter_id,
|
||||
});
|
||||
interstitialAd.load()
|
||||
.then(() => {
|
||||
interstitialAd.show().then(() => {
|
||||
console.log("插屏广告展示成功");
|
||||
});
|
||||
}).catch((err: any) => {
|
||||
console.log(err);
|
||||
});
|
||||
console.log("showIntersAd");
|
||||
}
|
||||
/** 播放视频广告 成功回调 失败回调 */
|
||||
public showVideoAd(finishBack?: () => void, errorBack?: () => void) {
|
||||
if (PlatformManager.releaseType != releaseType.applet_ziJie) { return; }
|
||||
this.videoBack = null;
|
||||
this.errorBack = null;
|
||||
if (finishBack) {
|
||||
this.videoBack = finishBack;
|
||||
} if (errorBack) {
|
||||
this.errorBack = errorBack;
|
||||
}
|
||||
|
||||
if(!this.ad_video){
|
||||
this.initVideoAd();
|
||||
}
|
||||
|
||||
this.ad_video.show().then(() => {
|
||||
console.log("广告显示成功");
|
||||
}).catch((err: any) => {
|
||||
this.errorVideo();
|
||||
console.log("广告组件出现问题", err);
|
||||
// 再手动加载一次
|
||||
this.ad_video.load().then(() => {
|
||||
console.log("手动加载成功");
|
||||
this.ad_video.show(); // 加载成功后需要再显示广告
|
||||
});
|
||||
});
|
||||
|
||||
this.ad_video.onClose((res: any) => {
|
||||
if (res.isEnded) {
|
||||
console.log("获取奖励")
|
||||
this.finishVideo();
|
||||
} else {
|
||||
console.log("没有观看完毕--")
|
||||
this.errorVideo(true);
|
||||
}
|
||||
if (res.count) {
|
||||
//在支持多例模式的版本上会返回该字段,并且是否返回该字段与multiton是否为true无关
|
||||
//判断观看了几次广告
|
||||
}
|
||||
});
|
||||
}
|
||||
/** 视频播放完成 */
|
||||
finishVideo() {
|
||||
if (this.videoBack) {
|
||||
this.videoBack();
|
||||
}
|
||||
this.videoBack = null;
|
||||
this.errorBack = null;
|
||||
}
|
||||
/** 视频播放失败 isOut 是否中途退出*/
|
||||
errorVideo(isOut:boolean = false) {
|
||||
if (this.errorBack) {
|
||||
this.errorBack(isOut);
|
||||
}
|
||||
this.videoBack = null;
|
||||
this.errorBack = null;
|
||||
};
|
||||
|
||||
|
||||
/** 开始录屏 */
|
||||
createVideoScreen() {
|
||||
if (PlatformManager.releaseType != releaseType.applet_ziJie) { return; }
|
||||
if (this.videoTimer !== null) {
|
||||
clearTimeout(this.videoTimer);
|
||||
this.videoTimer = null;
|
||||
}
|
||||
var self = this;
|
||||
|
||||
this.recorder = tt.getGameRecorderManager();
|
||||
this.recorder.onStart((s: any) => {
|
||||
console.log("开始录屏:", s);
|
||||
});
|
||||
this.recorder.onError((s: any) => {
|
||||
console.log("录屏错误:", s);
|
||||
});
|
||||
this.recorder.start({
|
||||
duration: 300
|
||||
});
|
||||
|
||||
this.videoTimer = setTimeout(() => {
|
||||
self.stopVideoScreen();
|
||||
}, 1000 * 280); //280s 后停止录屏
|
||||
};
|
||||
/** 停止录屏 */
|
||||
stopVideoScreen() {
|
||||
if (PlatformManager.releaseType != releaseType.applet_ziJie) { return; }
|
||||
if (this.videoTimer !== null) {
|
||||
clearTimeout(this.videoTimer);
|
||||
this.videoTimer = null;
|
||||
}
|
||||
var self = this;
|
||||
|
||||
console.log(this.recorder)
|
||||
if (!this.recorder || !this.recorder.stop) { return; }
|
||||
|
||||
this.recorder.onStop((s: any) => {
|
||||
self.videoPath = s.videoPath;
|
||||
});
|
||||
this.recorder.stop();
|
||||
};
|
||||
/** 分享视频 shareTopics 分享话题 shareTitle 分享内容 */
|
||||
shareScreenVideo(shareTopics?: [string], shareTitle?: string) {
|
||||
if (PlatformManager.releaseType != releaseType.applet_ziJie) { return; }
|
||||
shareTopics = shareTopics || ['大战小黑'];
|
||||
shareTitle = shareTitle || '来大战25个回合~~';
|
||||
|
||||
var self = this;
|
||||
tt.shareAppMessage({
|
||||
channel: 'video',
|
||||
title: shareTitle,
|
||||
imageUrl: '',
|
||||
query: '',
|
||||
extra: {
|
||||
videoPath: self.videoPath, // 可用录屏得到的视频地址
|
||||
videoTopics: shareTopics
|
||||
},
|
||||
success() {
|
||||
// EventManager.dispachEvent(EventData.SHARE_SUCESS); //抛出分享成功的事件
|
||||
console.log('分享视频成功');
|
||||
},
|
||||
fail(e: any) {
|
||||
console.log('分享视频失败' + e);
|
||||
}
|
||||
});
|
||||
console.log("shareScreenVideo")
|
||||
};
|
||||
/** 添加更多游戏 */
|
||||
addMoreGame( ){
|
||||
if (PlatformManager.releaseType != releaseType.applet_ziJie) { return; }
|
||||
|
||||
setTimeout( () => {
|
||||
let iphoneData = tt.getSystemInfoSync();
|
||||
console.log(iphoneData);
|
||||
tt.showGridGamePanel({
|
||||
query: { //Json 格式
|
||||
'花花僵尸': 'ttd12aa7974e142ca002'
|
||||
// '套个甜甜圈神龙版': 'tt3fa54918a09c3fc802',
|
||||
// '山楂串': 'ttcf15b9a8502cccbb02',
|
||||
// '合成大西瓜原创版': 'tt425534e8dd6e24d1'
|
||||
},
|
||||
type: 'one', // 'four', 'two'
|
||||
size: 'medium',
|
||||
position: {
|
||||
top: iphoneData.screenHeight / 2 - 70,
|
||||
left: iphoneData.screenWidth - 70,
|
||||
},
|
||||
fail(res:any) {
|
||||
console.log(res);
|
||||
}
|
||||
});
|
||||
}, 100 );
|
||||
};
|
||||
/** 隐藏更多游戏 */
|
||||
hideMoreGame() {
|
||||
if (PlatformManager.releaseType != releaseType.applet_ziJie) { return; }
|
||||
|
||||
tt.hideGridGamePanel();
|
||||
};
|
||||
/** 添加桌面功能 */
|
||||
addTable(){
|
||||
if (PlatformManager.releaseType != releaseType.applet_ziJie) { return; }
|
||||
|
||||
tt.addShortcut( {
|
||||
success: function (res:any) {
|
||||
console.log("添加桌面成功!" + res);
|
||||
// EventManager.dispachEvent(EventData.ADD_TABLE_SUCESS);
|
||||
},
|
||||
fail: function (res:any) {
|
||||
console.log("添加桌面失败!" + res);
|
||||
}
|
||||
} );
|
||||
}
|
||||
/** 是否已经添加过桌面了 */
|
||||
isAddTable(){
|
||||
if (PlatformManager.releaseType != releaseType.applet_ziJie) { return; }
|
||||
|
||||
tt.checkShortcut({
|
||||
success: function (res:any) {
|
||||
console.log(res.status);
|
||||
if (res.status.exist) {
|
||||
console.log("已经添加桌面了")
|
||||
}
|
||||
},
|
||||
fail: function (res:any) {
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user