/// <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);
    }
Exemple #2
0
 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);
    }
Exemple #4
0
 public AdTypeSettings(SupportedAdTypes type)
 {
     adType = type;
 }