private void OnManagerReady(IMediationManager manager)
        {
            if (!this) // When object are destroyed
            {
                return;
            }

            this.manager                          = manager;
            manager.OnLoadedAd                   += OnInterstitialAdLoaded;
            manager.OnFailedToLoadAd             += OnInterstitialAdFailedToLoad;
            manager.OnInterstitialAdFailedToShow += OnAdFailedToShow.Invoke;
            manager.OnInterstitialAdShown        += OnAdShown.Invoke;
            manager.OnInterstitialAdClicked      += OnAdClicked.Invoke;
            manager.OnInterstitialAdClosed       += OnAdClosed.Invoke;

            try
            {
                if (manager.IsReadyAd(AdType.Interstitial))
                {
                    OnAdLoaded.Invoke();
                }
            }
            catch (Exception e)
            {
                Debug.LogException(e);
            }
        }
Exemplo n.º 2
0
    public void Start()
    {
        // -- Privacy Laws (Optional):
        MobileAds.settings.userConsent    = userConsent;
        MobileAds.settings.userCCPAStatus = userCCPAStatus;

        // -- Configuring CAS SDK (Optional):
        MobileAds.settings.isExecuteEventsOnUnityThread = true;

        // -- Create manager:
        manager = MobileAds.BuildManager().Initialize();

        // -- Configuring Banner Ad
        // Init Banner Size can be selected in Assets/CleverAdsSolutions/Settings
        //manager.bannerSize = AdSize.AdaptiveBanner;
        manager.bannerPosition = AdPosition.BottomCenter;

        // -- Subscribe to CAS events:
        manager.OnRewardedAdCompleted += RewardedSuccessful;
        // Any other callbacks from IMediationManager

        // -- Get native CAS SDK version
        versionText.text = MobileAds.GetSDKVersion();

        InvokeRepeating("OnRefreshStatus", 1.0f, 1.0f);
    }
Exemplo n.º 3
0
        private void OnManagerReady(IMediationManager manager)
        {
            if (!this) // When object are destroyed
            {
                return;
            }

            this.manager = manager;
            RefreshLinktWithAdView();
        }
Exemplo n.º 4
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);
        }