Exemple #1
0
        internal static IAdsSettings CreateSettigns(CASInitSettings initSettings)
        {
            IAdsSettings settings = null;

#if !TARGET_OS_SIMULATOR
#if UNITY_ANDROID
            if (Application.platform == RuntimePlatform.Android)
            {
                settings = new CAS.Android.CASSettings();
            }
#elif UNITY_IOS
            if (Application.platform == RuntimePlatform.IPhonePlayer)
            {
                settings = new CAS.iOS.CASSettings();
            }
#endif
#endif
            if (settings == null)
            {
                settings = new CAS.Unity.CASSettings();
            }

            if (initSettings)
            {
                settings.isDebugMode                = initSettings.defaultDebugModeEnabled;
                settings.loadingMode                = initSettings.defaultLoadingMode;
                settings.bannerRefreshInterval      = initSettings.defaultBannerRefresh;
                settings.interstitialInterval       = initSettings.defaultInterstitialInterval;
                settings.taggedAudience             = initSettings.defaultAudienceTagged;
                settings.analyticsCollectionEnabled = initSettings.defaultAnalyticsCollectionEnabled;
                settings.allowInterstitialAdsWhenVideoCostAreLower = initSettings.defaultInterstitialWhenNoRewardedAd;
            }
            return(settings);
        }
Exemple #2
0
 internal static IAdsSettings GetAdsSettings()
 {
     if (settings == null)
     {
         settings = CreateSettigns(LoadInitSettingsFromResources());
     }
     return(settings);
 }
Exemple #3
0
        internal static IMediationManager CreateManager(CASInitSettings initSettings)
        {
            if (managers == null)
            {
                if (initSettings.managersCount == 0)
                {
                    managers = new List <IMediationManager>();
                }
                else
                {
                    managers = new List <IMediationManager>(initSettings.managersCount);
                    for (int i = 0; i < initSettings.managersCount; i++)
                    {
                        managers.Add(null);
                    }
                }
            }
            else
            {
                for (int i = 0; i < managers.Count; i++)
                {
                    var readyManager = managers[i];
                    if (readyManager != null && readyManager.managerID == initSettings.targetId)
                    {
                        if (initSettings.initListener != null)
                        {
                            initSettings.initListener(true, null);
                        }
                        return(readyManager);
                    }
                }
            }

            if (settings == null)
            {
                settings = CreateSettigns(initSettings);
            }

            if (initSettings.extras == null)
            {
                initSettings.extras = globalExtras;
            }
            else if (globalExtras != null)
            {
                var mergeExtras = new Dictionary <string, string>(globalExtras);
                foreach (var extra in initSettings.extras)
                {
                    mergeExtras[extra.Key] = extra.Value;
                }
                initSettings.extras = mergeExtras;
            }

            IMediationManager manager = null;

#if UNITY_EDITOR || TARGET_OS_SIMULATOR
            manager = CAS.Unity.CASMediationManager.CreateManager(initSettings);
#elif UNITY_ANDROID
            if (Application.platform == RuntimePlatform.Android)
            {
                var android = new CAS.Android.CASMediationManager(initSettings);
                android.CreateManager(initSettings);
                manager = android;
            }
#elif UNITY_IOS
            if (Application.platform == RuntimePlatform.IPhonePlayer)
            {
                var ios = new CAS.iOS.CASMediationManager(initSettings);
                ios.CreateManager(initSettings);
                manager = ios;
            }
#endif
            if (manager == null)
            {
                throw new NotSupportedException("Current platform: " + Application.platform.ToString());
            }

#pragma warning disable CS0618                // Type or member is obsolete
            if (initSettings.bannerSize != 0) // Before onInitManager callback
            {
                manager.bannerSize = initSettings.bannerSize;
            }
#pragma warning restore CS0618 // Type or member is obsolete

            var managerIndex = initSettings.IndexOfManagerId(initSettings.targetId);
            if (managerIndex < 0)
            {
                managerIndex = managers.Count;
                managers.Add(manager);
            }
            else
            {
                managers[managerIndex] = manager;
            }
            if (managerIndex < initCallback.Count)
            {
                var onInitManager = initCallback[managerIndex];
                if (onInitManager != null)
                {
                    initCallback[managerIndex] = null;
                    try
                    {
                        onInitManager(manager);
                    }
                    catch (Exception e)
                    {
                        Debug.LogException(e);
                    }
                }
            }
            return(manager);
        }