public Advertiser(ICustomAds advertiserScript, MediationSettings mediationSettings, List <PlatformSettings> platformSettings) { this.advertiserScript = advertiserScript; this.mediationSettings = mediationSettings; this.platformSettings = platformSettings; advertiser = mediationSettings.advertiser; }
/// <summary> /// Loads banner for display /// </summary> /// <param name="position"></param> /// <param name="bannerType"></param> private void LoadBanner(BannerPosition position, BannerType bannerType, bool specificAdvertiser, SupportedAdvertisers advertiser = SupportedAdvertisers.Admob) { if (specificAdvertiser) { Advertiser selected = GetBannerAdvertisers().FirstOrDefault(cond => cond.advertiser == advertiser); if (selected != null) { if (debug) { Debug.Log("Specific banner loaded from " + selected); ScreenWriter.Write("Specific banner loaded from " + selected); } selected.advertiserScript.ShowBanner(position, bannerType, BannerDisplayedResult); return; } else { if (debug) { Debug.Log(selected + " has no banner ads"); ScreenWriter.Write(selected + " has no banner ads"); } } } ICustomAds selectedAdvertiser = null; if (bannerMediation == SupportedMediation.OrderMediation) { selectedAdvertiser = UseOrder(bannerAdvertisers, SupportedAdTypes.Banner); } else { selectedAdvertiser = UsePercent(bannerAdvertisers, SupportedAdTypes.Banner); } if (selectedAdvertiser != null) { if (debug) { Debug.Log("Banner loaded from " + selectedAdvertiser); ScreenWriter.Write("Banner loaded from " + selectedAdvertiser); } selectedAdvertiser.ShowBanner(position, bannerType, BannerDisplayedResult); } else { isBannerOnScreen = false; if (debug) { Debug.Log("No Banners Available"); ScreenWriter.Write("No Banners Available"); } } }
/// <summary> /// Displays an interstitial video based on your mediation settings /// </summary> /// <param name="InterstitialClosed">callback triggered when interstitial video is closed also returns the publisher</param> public void ShowInterstitial(UnityAction <string> InterstitialClosed) { //if ads are disabled by user -> do nothing if (CanShowAds() == false) { return; } ICustomAds selectedAdvertiser = GetInterstitialAdvertiser(); if (selectedAdvertiser != null) { if (debug) { Debug.Log("Interstitial loaded from " + selectedAdvertiser); ScreenWriter.Write("Interstitial loaded from " + selectedAdvertiser); } selectedAdvertiser.ShowInterstitial(InterstitialClosed); } }
/// <summary> /// Displays a rewarded video based on your mediation settings /// </summary> /// <param name="CompleteMethod">callback triggered when video reward finished - if bool param is true => video was not skipped, also the advertiser name is sent to callback method</param> public void ShowRewardedVideo(UnityAction <bool, string> CompleteMethod) { ICustomAds selectedAdvertiser = null; if (rewardedMediation == SupportedMediation.OrderMediation) { selectedAdvertiser = UseOrder(rewardedAdvertisers, SupportedAdTypes.Rewarded); } else { selectedAdvertiser = UsePercent(rewardedAdvertisers, SupportedAdTypes.Rewarded); } if (selectedAdvertiser != null) { if (debug) { Debug.Log("Rewarded video loaded from " + selectedAdvertiser); ScreenWriter.Write("Rewarded video loaded from " + selectedAdvertiser); } selectedAdvertiser.ShowRewardVideo(CompleteMethod); } }