Esempio n. 1
0
    IEnumerator CoShowBanner(AdPlacement.Type placementType, BannerTransform bannerTransform = null, BoolDelegate onAdLoaded = null)
    {
        if (bannerTransform == null)
        {
            bannerTransform = BannerTransform.defaultValue;
        }

        bool isSuccess = false;
        WaitForSecondsRealtime checkInterval = new WaitForSecondsRealtime(0.3f);

        var adPriority = GetAdsNetworkPriority(placementType);

        for (int i = 0; i < adPriority.Count; i++)
        {
            bool checkAdNetworkDone = false;
            var  adsHelper          = GetAdsNetworkHelper(adPriority[i]);
            if (adsHelper == null)
            {
                continue;
            }
            adsHelper.ShowBanner(placementType, bannerTransform,
                                 (success) => { checkAdNetworkDone = true; isSuccess = success; onAdLoaded?.Invoke(success); });
            while (!checkAdNetworkDone)
            {
                yield return(checkInterval);
            }
            if (isSuccess)
            {
                //showingBanners.Add(CurrentAdNetwork);
                isShowingBanner = true;
                break;
            }
        }
    }
Esempio n. 2
0
 public void ShowBanner(AdPlacement.Type placementType, BannerTransform bannerTransform, BoolDelegate onAdLoaded = null)
 {
     if (isShowingBanner)
     {
         Debug.Log("AdsManager: A banner is already being shown"); return;
     }
     if (DoNotShowAds(placementType))
     {
         onAdLoaded?.Invoke(false);
         return;
     }
     ;
     StartCoroutine(CoShowBanner(placementType, bannerTransform, onAdLoaded));
 }
Esempio n. 3
0
    public void ShowBanner(AdPlacement.Type placementType, BannerTransform bannerTransform, AdsManager.InterstitialDelegate onAdLoaded = null)
    {
        BannerPosition adPosition;

        switch (bannerTransform.adPosition)
        {
        case Omnilatent.AdsMediation.AdPosition.Top:
        case Omnilatent.AdsMediation.AdPosition.TopLeft:
        case Omnilatent.AdsMediation.AdPosition.TopRight:
            adPosition = BannerPosition.TOP_CENTER;
            break;

        case Omnilatent.AdsMediation.AdPosition.Bottom:
        case Omnilatent.AdsMediation.AdPosition.Center:
        default:
            adPosition = BannerPosition.BOTTOM_CENTER;
            break;
        }
        ShowBanner(CustomMediation.GetUnityPlacementId(placementType), adPosition, onAdLoaded);
    }