You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
160 lines
5.5 KiB
160 lines
5.5 KiB
|
|
import { MINIGAME } from "cc/env";
|
|
import { MainConfig } from "../Launch/_MainConfig";
|
|
import { EGlobalEvent } from "./MesEvent/EGlobalEvent";
|
|
import MesMgr from "./MesEvent/MesMgr";
|
|
import AudioUtils from "./Mgr_Audio/AudioUtils";
|
|
import { VibrateUtils } from "./Mgr_Audio/VibrateUtils";
|
|
import CsvMgr from "./Mgr_CSV/CsvMgr";
|
|
import LocalStorage from "./Mgr_LocalData/LocalStorage";
|
|
import UIMgr from "./Mgr_UI/UIMgr";
|
|
import PlatformManager from "./Platform/PlatformManager";
|
|
import { ShareInfo } from "./Platform/T/ShareInfo";
|
|
import ShareManagerAKhgfawgsda from "./Platform/ShareManager";
|
|
import { TDAnalyticsMgr } from "./Mgr_Ge/TDAnalyticsMgr";
|
|
import { GEData, GEType } from "./Mgr_Ge/GeDifine";
|
|
import { Scene } from "cc";
|
|
import SceneDataMgr from "./Mgr_LocalData/SceneDataMgr";
|
|
import MathUtils from "./ExUtils/MathUtils";
|
|
import { TXSDKMgr } from "./Mgr_Ge/TXSDKMgr";
|
|
import { TXVideoMapping } from "./const/GameEnum";
|
|
import { GEAnalyticsMgr } from "./Mgr_Ge/GEAnalyticsMgr";
|
|
import CySDK from "./Mgr_Ge/CySDK";
|
|
import { LocalDataMgr } from "./Mgr_LocalData/LocalDataMgr";
|
|
|
|
class GlobalMgr {
|
|
/**本地数据 */
|
|
get LocalStorage(){
|
|
return LocalStorage;
|
|
}
|
|
|
|
/**事件上报 */
|
|
get GeMgr() {
|
|
return TDAnalyticsMgr.ins;
|
|
}
|
|
|
|
/**UI管理 */
|
|
get UIMgr(){
|
|
return UIMgr.Ins;
|
|
}
|
|
|
|
/**配置 */
|
|
get CsvMgr(){
|
|
return CsvMgr;
|
|
}
|
|
/**音乐 音频 */
|
|
get Audio(){
|
|
return AudioUtils.ins;
|
|
}
|
|
|
|
/**震动 */
|
|
get Vibrate(){
|
|
return VibrateUtils;
|
|
}
|
|
|
|
get SDK(){
|
|
return PlatformManager.instance;
|
|
}
|
|
|
|
init(callback?: Function) {
|
|
this.SDK.initPlatform(callback);
|
|
}
|
|
|
|
/**广告 */
|
|
showvideo(data: {name: string,gamelv:number}, callback?: Function,shibai?:Function) {
|
|
if (MainConfig.isNoAD && MainConfig.isGmOpen) {
|
|
callback && callback();
|
|
MesMgr.event(EGlobalEvent.E_MINIGAME_PAUSE, false)
|
|
return;
|
|
}
|
|
|
|
if (MINIGAME && !this.SDK.platData.rewardVideoId.length) {
|
|
UIMgr.Ins.ShowTipsUI("暂无广告!")
|
|
MesMgr.event(EGlobalEvent.E_MINIGAME_PAUSE, false)
|
|
return;
|
|
}
|
|
MesMgr.event(EGlobalEvent.E_MINIGAME_PAUSE,true)
|
|
TDAnalyticsMgr.ins.TrySendtrack(GEData.GEeventName.video_click,{source:data.name, enter_level_id:data.gamelv});
|
|
// GEAnalyticsMgr.ins.TrySendtrack(GEType.video_click,{ad_name:data.name, level_id:data.gamelv, n_clicktime:1});
|
|
GEAnalyticsMgr.ins.adShowEvent("reward",this.SDK.platData.rewardVideoId, {});
|
|
TXSDKMgr.ins.AD_CLICK(TXVideoMapping[data.name]);
|
|
CySDK.onAdRequest("level","normal",data.gamelv,data.name);
|
|
// 记录广告点击(在广告展示前调用)
|
|
if (window["IAASDK"] && window["IAASDK"].default) {
|
|
window["IAASDK"].default.videoClick({type: data.name});
|
|
}
|
|
const startTime = Date.now();
|
|
this.SDK.showvideo(data, (is) => {
|
|
MainConfig.adDuration = Date.now() - startTime;
|
|
if (is) {
|
|
callback && callback();
|
|
TXSDKMgr.ins.AD_FINISH(TXVideoMapping[data.name]);
|
|
// LocalStorage.CheckSaveServerData();
|
|
// 新增IAA SDK调用
|
|
if (window["IAASDK"] && window["IAASDK"].default) {
|
|
window["IAASDK"].default.videoAdd({type: data.name});
|
|
}
|
|
|
|
if (window["ChannelUpload"] && window["ChannelUpload"].default) {
|
|
window["ChannelUpload"].default.videoAdd();
|
|
}
|
|
this.Audio.rePlayBgm();
|
|
LocalDataMgr.Game.TodayAdTimes++;
|
|
MesMgr.event(EGlobalEvent.WATCH_AD_SUCCESS)
|
|
}
|
|
else {
|
|
shibai && shibai();
|
|
UIMgr.Ins.ShowTipsUI("看完视频才能拿到奖励")
|
|
}
|
|
MesMgr.event(EGlobalEvent.E_MINIGAME_PAUSE,false)
|
|
});
|
|
}
|
|
|
|
ShowInterstitalAd() {
|
|
let time = LocalStorage.getItem("InterstitalAdCD");
|
|
if (!time) { time = 0; }
|
|
time = +time;
|
|
let curTime = Date.now();
|
|
if (time + MainConfig.adDuration > curTime) {
|
|
let offset = MathUtils.MsToFloat(time - curTime);
|
|
console.warn(`分享冷却中${offset}s`)
|
|
return;
|
|
}
|
|
let cd = 1 * 60;
|
|
MainConfig.adDuration = 0;
|
|
PlatformManager.PlatformInstance.ShowInterstitalAd(() => {
|
|
LocalStorage.setItem("InterstitalAdCD", Date.now() + (cd * 1000));
|
|
});
|
|
}
|
|
|
|
|
|
share(callBack: Function) {
|
|
let shareInfo = ShareManagerAKhgfawgsda.instance.GetShareInfo();
|
|
PlatformManager.PlatformInstance.ShareAppMessage(shareInfo, () => {
|
|
//UIMgr.Ins.ShowTipsUI("分享成功!")
|
|
callBack && callBack();
|
|
}, () => {
|
|
UIMgr.Ins.ShowTipsUI("分享失败!")
|
|
})
|
|
}
|
|
|
|
public setInitCloudKeys(tObject:{[key:string]:string}){
|
|
let wx = window["wx"];
|
|
if (wx) {
|
|
wx.postMessage({ event: 'initCloudKeys', value:tObject ,userinfo:{
|
|
avatarUrl:MainConfig.UserInfo.avatar_url,
|
|
nickname:MainConfig.UserInfo.nick_name,
|
|
openid:MainConfig.openid,
|
|
}});
|
|
}
|
|
}
|
|
|
|
public setCloudValue(key:string,value:string) {
|
|
let wx = window["wx"];
|
|
if (wx) {
|
|
wx.postMessage({ event: 'updateCloudValue', key: key, value:value });
|
|
}
|
|
}
|
|
|
|
}
|
|
export const Global = new GlobalMgr();
|