예제 #1
0
파일: AdsMgr.cs 프로젝트: moto2002/Fish
        public AdHandler CreateAdHandler(TDAdConfig data)
        {
            if (string.IsNullOrEmpty(data.unitID))
            {
                return(null);
            }

            if (data.ecpm <= -100000)
            {
                return(null);
            }

            if (m_AdHandlerMap.ContainsKey(data.id))
            {
                return(null);
            }

            IAdAdapter adAdapter = GetAdAdapter(data.adPlatform);

            if (adAdapter == null)
            {
                Log.e("Not Find AdAdapter For Ad:" + data.id);
                return(null);
            }

            AdHandler result = null;

            switch (data.adType)
            {
            case AdType.Banner:
                result = adAdapter.CreateBannerHandler();
                break;

            case AdType.Interstitial:
                result = adAdapter.CreateInterstitialHandler();
                break;

            case AdType.NativeAD:
                result = adAdapter.CreateNativeAdHandler();
                break;

            case AdType.RewardedVideo:
                result = adAdapter.CreateRewardVideoHandler();
                break;

            default:
                break;
            }

            if (result != null)
            {
                result.SetAdConfig(data);
            }

            m_AdHandlerMap.Add(data.id, result);

            return(result);
        }
예제 #2
0
        private void SwitchAdapterAsIndex(int index)
        {
            if (m_SelectAdapterIndex == index)
            {
                return;
            }

            CleanPreAdAdapter();

            m_SelectAdapterIndex         = index;
            m_AdapterToggles[index].isOn = true;

            m_AdsAdapter = m_AllAdsAdapter[index];
        }
예제 #3
0
파일: AdsMgr.cs 프로젝트: moto2002/Fish
        private bool RegisterAdapter(SDKConfig sdkConfig, SDKAdapterConfig adapterConfig)
        {
            if (!adapterConfig.isEnable)
            {
                return(false);
            }

            Type type = Type.GetType(adapterConfig.adapterClassName);

            if (type == null)
            {
                Log.w("Not Support Ads:" + adapterConfig.adapterClassName);
                return(false);
            }

            var        method     = type.GetMethod("GetInstance", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static);
            IAdAdapter adsAdapter = null;

            if (method != null)
            {
                adsAdapter = method.Invoke(null, null) as IAdAdapter;
            }
            else
            {
                adsAdapter = type.Assembly.CreateInstance(adapterConfig.adapterClassName) as IAdAdapter;
            }

            if (adsAdapter == null)
            {
                Log.e("AdAdapter Create Failed:" + adapterConfig.adapterClassName);
                return(false);
            }

            if (adsAdapter.InitWithConfig(sdkConfig, adapterConfig))
            {
                m_AdAdapterMap.Add(adsAdapter.adPlatform, adsAdapter);

                Log.i("Success Register AdAdapter:" + adsAdapter.adPlatform);
            }
            else
            {
                Log.w("Failed Register AdAdapter:" + adsAdapter.adPlatform);
            }

            return(true);
        }