/// <summary> /// Order mediation method /// The first available advertiser from list will be displayed based on Settings Window order /// </summary> /// <param name="advertisers"></param> /// <param name="adType"></param> /// <returns></returns> private ICustomAds UseOrder(List <Advertiser> advertisers, SupportedAdTypes adType) { for (int i = 0; i < advertisers.Count; i++) { switch (adType) { case SupportedAdTypes.Banner: if (advertisers[i].advertiserScript.IsBannerAvailable() && !advertisers[i].advertiserScript.BannerAlreadyUsed()) { return(advertisers[i].advertiserScript); } break; case SupportedAdTypes.Interstitial: if (advertisers[i].advertiserScript.IsInterstitialAvailable()) { return(advertisers[i].advertiserScript); } break; case SupportedAdTypes.Rewarded: if (advertisers[i].advertiserScript.IsRewardVideoAvailable()) { return(advertisers[i].advertiserScript); } break; } } return(null); }
public AdTypeSettings(AdTypeSettings settings) { adType = settings.adType; orderAndroid = settings.orderAndroid; orderiOS = settings.orderiOS; orderWindows = settings.orderWindows; weightAndroid = settings.weightAndroid; weightiOS = settings.weightiOS; weightWindows = settings.weightWindows; percentAndroid = settings.percentAndroid; percentiOS = settings.percentiOS; percentWindows = settings.percentWindows; }
/// <summary> /// Percent mediation method /// A random number between 0 and 100 is generated /// the corresponding advertiser will be displayed based on your Settings Window setup /// </summary> /// <param name="advertisers">list of all advertisers</param> /// <param name="adType">type of advertiser that wants to be displayed</param> /// <returns></returns> private ICustomAds UsePercent(List <Advertiser> advertisers, SupportedAdTypes adType) { List <Advertiser> tempList = new List <Advertiser>(); List <int> thresholds = new List <int>(); int sum = 0; for (int i = 0; i < advertisers.Count; i++) { switch (adType) { case SupportedAdTypes.Banner: if (advertisers[i].advertiserScript.IsBannerAvailable() && !advertisers[i].advertiserScript.BannerAlreadyUsed()) { tempList.Add(advertisers[i]); sum += advertisers[i].mediationSettings.bannerSettings.Weight; thresholds.Add(sum); } break; case SupportedAdTypes.Interstitial: if (advertisers[i].advertiserScript.IsInterstitialAvailable()) { tempList.Add(advertisers[i]); sum += advertisers[i].mediationSettings.interstitialSettings.Weight; thresholds.Add(sum); } break; case SupportedAdTypes.Rewarded: if (advertisers[i].advertiserScript.IsRewardVideoAvailable()) { tempList.Add(advertisers[i]); sum += advertisers[i].mediationSettings.rewardedSettings.Weight; thresholds.Add(sum); } break; } } int index = UnityEngine.Random.Range(0, sum); if (debug) { for (int i = 0; i < tempList.Count; i++) { ScreenWriter.Write(tempList[i].advertiser + " weight " + thresholds[i]); Debug.Log(tempList[i].advertiser + " weight " + thresholds[i]); } } for (int i = 0; i < thresholds.Count; i++) { if (index < thresholds[i]) { if (debug) { ScreenWriter.Write("SHOW AD FROM: " + tempList[i].advertiser + " weight " + index); Debug.Log("SHOW AD FROM: " + tempList[i].advertiser + " weight " + index); } return(tempList[i].advertiserScript); } } return(null); }
public AdTypeSettings(SupportedAdTypes type) { adType = type; }