| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using UnityEngine; |
| | | public class AdsManager : GameSystemManager<AdsManager> |
| | | { |
| | | //<广告ID,今日已领取广告奖励次数> |
| | | private Dictionary<int, int> adsInfoDict = new Dictionary<int, int>(); |
| | | public event Action<int, int, int> OnAdsInfoListUpdateEvent;//ADID type value |
| | | public Dictionary<int, Redpoint> redPointDict = new Dictionary<int, Redpoint>(); |
| | | |
| | | public int waitAdID = 0; //回调后发放奖励用 |
| | | int loadErrorCD = 10; //等待10秒后才能再请求 |
| | | public float lastLoadErrorTime = 0; |
| | | |
| | | public override void Init() |
| | | { |
| | | DTC0102_tagCDBPlayer.beforePlayerDataInitializeEventOnRelogin += OnBeforePlayerDataInitializeEvent; |
| | |
| | | |
| | | public void OnBeforePlayerDataInitializeEvent() |
| | | { |
| | | waitAdID = 0; |
| | | adsInfoDict.Clear(); |
| | | } |
| | | |
| | |
| | | GameNetSystem.Instance.SendInfo(pack); |
| | | } |
| | | |
| | | //如果有广告SDK接入,该函数改成回调触发 |
| | | //区分不同渠道是否有广告SDK |
| | | public void PlayAds(int ADID) |
| | | { |
| | | //有广告的SDK |
| | | if (VersionConfig.Get().appId == "ryzj") |
| | | { |
| | | //视频加载失败需要等10秒后再调用 |
| | | //奖励需要设置标识对应发放 |
| | | if (WaitForLoadNewAd()) |
| | | { |
| | | SysNotifyMgr.Instance.ShowTip("AdLoadFail"); |
| | | return; |
| | | } |
| | | waitAdID = ADID; |
| | | SDKUtils.Instance.PlayAds("b69a2b68bb3d22"); |
| | | return; |
| | | } |
| | | |
| | | //没广告的SDK 直接给奖励 |
| | | GetAdsAward(ADID); |
| | | } |
| | | |
| | | public void LoadAds() |
| | | { |
| | | if (VersionConfig.Get().appId == "ryzj") |
| | | { |
| | | if (WaitForLoadNewAd()) |
| | | { |
| | | return; |
| | | } |
| | | SDKUtils.Instance.LoadAds("b69a2b68bb3d22"); |
| | | } |
| | | } |
| | | |
| | | //上一次加载失败,检查是否需要等待 |
| | | public bool WaitForLoadNewAd() |
| | | { |
| | | if (Time.time - lastLoadErrorTime < loadErrorCD) |
| | | { |
| | | return true; |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | public void GetAdsAward(int ADID) |
| | | { |
| | | switch (ADID) |
| | | { |
| | | case 1: |