hch
16 小时以前 bc6f633a2f3cfc01122d8fd4452f69313ddcb32b
Main/System/BoneField/AdsManager.cs
@@ -1,11 +1,17 @@
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;
@@ -45,6 +51,7 @@
    public void OnBeforePlayerDataInitializeEvent()
    {
        waitAdID = 0;
        adsInfoDict.Clear();
    }
@@ -66,9 +73,52 @@
        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: