大侠
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

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();