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; } } }
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)); }
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); }