Пример #1
0
    private void populateConsoliAdsParamsFromResponse(JSONNode responseArray, ConsoliAds CAInstance)
    {
        if (responseArray != null)
        {
            //checking to enable log
            if (responseArray[CAConstants.MEDIATION_MODE_KEY] != null)
            {
                if (responseArray[CAConstants.MEDIATION_MODE_KEY].ToString().ToLower().Contains("test"))
                {
                    CAInstance.enableLog(true);
                }
                else
                {
                    CAInstance.enableLog(false);
                }
            }
            else
            {
                CAInstance.enableLog(false);
            }

            if (responseArray[CAConstants.CHILED_DIRECTED_KEY] != null)
            {
                if (responseArray[CAConstants.CHILED_DIRECTED_KEY].AsInt == 1)
                {
                    CAInstance.ChildDirected = true;
                }
                else
                {
                    CAInstance.ChildDirected = false;
                }
            }

            if (responseArray[CAConstants.RTBKey] != null && responseArray[CAConstants.RTBKey].AsInt == 1)
            {
                CAInstance.setAutoMediation(true);
            }

            if (responseArray[CAConstants.SUPPORT_URL_KEY] != null)
            {
                CAInstance.supportEmail = responseArray[CAConstants.SUPPORT_URL_KEY];
            }

            CAInstance.moreAppsURL = "";
            CAInstance.rateUsURL   = "";

            if (CAInstance.platform == Platform.Google)
            {
                if (responseArray[CAConstants.GP_MOREAPPS_URL_KEY] != null)
                {
                    CAInstance.moreAppsURL = responseArray[CAConstants.GP_MOREAPPS_URL_KEY];
                }
                if (responseArray[CAConstants.GP_RATEUS_URL_KEY] != null)
                {
                    CAInstance.rateUsURL = responseArray[CAConstants.GP_RATEUS_URL_KEY];
                }
            }
            else if (CAInstance.platform == Platform.Apple)
            {
                if (responseArray[CAConstants.AS_MOREAPPS_URL_KEY] != null)
                {
                    CAInstance.moreAppsURL = responseArray[CAConstants.AS_MOREAPPS_URL_KEY];
                }
                if (responseArray[CAConstants.AS_RATEUS_URL_KEY] != null)
                {
                    CAInstance.rateUsURL = responseArray[CAConstants.AS_RATEUS_URL_KEY];
                }
            }

            //saving deviceID in the sharedPrefs
            if (responseArray[CAConstants.DEVICE_ID_KEY] != null)
            {
                PlayerPrefs.SetString("ConsoliAds_DeviceID", responseArray[CAConstants.DEVICE_ID_KEY]);
            }
            if (responseArray[CAConstants.API_APP_ID_KEY] != null)
            {
                PlayerPrefs.SetString("ConsoliAds_AppID", responseArray[CAConstants.API_APP_ID_KEY]);
            }
            if (responseArray[CAConstants.REGION_KEY] != null)
            {
                PlayerPrefs.SetString("ConsoliAds_Region", responseArray[CAConstants.REGION_KEY]);
            }
            //populating inspector
            if (responseArray[CAConstants.PACKAGE_KEY] != null)
            {
                CAInstance.bundleIdentifier = responseArray[CAConstants.PACKAGE_KEY];
            }
            if (responseArray[CAConstants.TITLE_KEY] != null)
            {
                CAInstance.appName = responseArray[CAConstants.TITLE_KEY];
            }

            if (responseArray[CAConstants.AD_SHOWN_MECHANISM_KEY] != null && responseArray[CAConstants.AD_SHOWN_MECHANISM_KEY].ToString().Contains("priority"))
            {
                CAInstance.setShowAdMechanism(ConsoliAdsShowAdMechanism.Priority);
            }

            int hideAllAds = PlayerPrefs.GetInt("consoliads_hide_all_ads", 0);
            if (hideAllAds == 1)
            {
                CAInstance.isHideAds = true;
            }
            else if (responseArray[CAConstants.IS_HIDEAD_KEY] != null && responseArray[CAConstants.IS_HIDEAD_KEY].AsInt == 1)
            {
                CAInstance.isHideAds = true;
            }
            else
            {
                CAInstance.isHideAds = false;
            }

            if (responseArray[CAConstants.SEQUENCES_KEY] != null)
            {
                //initializing ad sequences array to the size of the return JSON Array from server
                CAInstance.scenesArray = new CAScene[responseArray[CAConstants.SEQUENCES_KEY].Count];
                //populating ad sequences
                for (int sequenceCounter = 0; sequenceCounter < responseArray[CAConstants.SEQUENCES_KEY].Count; sequenceCounter++)
                {
                    //initializing each array item  of ad sequence
                    CAInstance.scenesArray[sequenceCounter] = new CAScene();
                    CAInstance.scenesArray[sequenceCounter].interstitialAndVideoDetails = new CAInterstitialMediationDetails();
                    //CAInstance.scenesArray[sequenceCounter].interactiveDetails = new CAInteractiveMediationDetails();
                    CAInstance.scenesArray[sequenceCounter].rewardedVideoDetails = new CARewardedVideoMediationDetails();
                    CAInstance.scenesArray[sequenceCounter].nativeDetails        = new CANativeMediationDetails();
                    CAInstance.scenesArray[sequenceCounter].bannerDetails        = new CABannerMediationDetails();
                    //populating sequence values
                    if (responseArray[CAConstants.SEQUENCES_KEY][sequenceCounter][CAConstants.SKIPFIRST_KEY].AsInt == 1)
                    {
                        CAInstance.scenesArray[sequenceCounter].interstitialAndVideoDetails.skipFirst = true;
                    }
                    else
                    {
                        CAInstance.scenesArray[sequenceCounter].interstitialAndVideoDetails.skipFirst = false;
                    }
                    //populating sequence values
                    if (responseArray[CAConstants.SEQUENCES_KEY][sequenceCounter][CAConstants.REWARDED_SKIPFIRST_KEY].AsInt == 1)
                    {
                        CAInstance.scenesArray[sequenceCounter].rewardedVideoDetails.skipFirst = true;
                    }
                    else
                    {
                        CAInstance.scenesArray[sequenceCounter].rewardedVideoDetails.skipFirst = false;
                    }

                    /*
                     * //populating sequence values
                     *                  if (responseArray[CAConstants.SEQUENCES_KEY][sequenceCounter][CAConstants.INTERACTIVE_SKIPFIRST_KEY].AsInt == 1)
                     *                  {
                     *                          CAInstance.scenesArray[sequenceCounter].interactiveDetails.skipFirst = true;
                     *                  }
                     *                  else
                     *                  {
                     *                          CAInstance.scenesArray[sequenceCounter].interactiveDetails.skipFirst = false;
                     *                  }
                     */

                    CAInstance.scenesArray[sequenceCounter].interstitialAndVideoDetails.failOver = (AdNetworkNameInterstitial)responseArray[CAConstants.SEQUENCES_KEY][sequenceCounter][CAConstants.FAILOVERAD_ID_KEY].AsInt;
                    CAInstance.scenesArray[sequenceCounter].rewardedVideoDetails.failOver        = (AdNetworkNameRewardedVideo)responseArray[CAConstants.SEQUENCES_KEY][sequenceCounter][CAConstants.REWARDED_FAILOVERAD_ID_KEY].AsInt;
                    //CAInstance.scenesArray[sequenceCounter].interactiveDetails.failOver = (AdNetworkNameInteractive)responseArray[CAConstants.SEQUENCES_KEY][sequenceCounter][CAConstants.INTERACTIVE_FAILOVERAD_ID_KEY].AsInt;
                    CAInstance.scenesArray[sequenceCounter].placeholderName = (PlaceholderName)responseArray[CAConstants.SEQUENCES_KEY][sequenceCounter][CAConstants.SEQUENCE_TITLE_ID_KEY].AsInt;

                    //initializing ad sequence's ads Array to the size received in JSON Array
                    CAInstance.scenesArray[sequenceCounter].interstitialAndVideoDetails.networkList = new AdNetworkNameInterstitial[responseArray[CAConstants.SEQUENCES_KEY][sequenceCounter][CAConstants.INTERSTITIAL_VIDEO_KEY].Count];
                    //populating ad sequence's Ads Array
                    for (int adCounter = 0; adCounter < responseArray[CAConstants.SEQUENCES_KEY][sequenceCounter][CAConstants.INTERSTITIAL_VIDEO_KEY].Count; adCounter++)
                    {
                        CAInstance.scenesArray[sequenceCounter].interstitialAndVideoDetails.networkList[adCounter] = (AdNetworkNameInterstitial)responseArray[CAConstants.SEQUENCES_KEY][sequenceCounter][CAConstants.INTERSTITIAL_VIDEO_KEY][adCounter][CAConstants.AD_ID_KEY].AsInt;
                    }
                    CAInstance.scenesArray[sequenceCounter].rewardedVideoDetails.networkList = new AdNetworkNameRewardedVideo[responseArray[CAConstants.SEQUENCES_KEY][sequenceCounter][CAConstants.REWARDEDVIDEO_KEY].Count];
                    //populating ad sequence's Ads Array
                    for (int adCounter = 0; adCounter < responseArray[CAConstants.SEQUENCES_KEY][sequenceCounter][CAConstants.REWARDEDVIDEO_KEY].Count; adCounter++)
                    {
                        CAInstance.scenesArray[sequenceCounter].rewardedVideoDetails.networkList[adCounter] = (AdNetworkNameRewardedVideo)responseArray[CAConstants.SEQUENCES_KEY][sequenceCounter][CAConstants.REWARDEDVIDEO_KEY][adCounter][CAConstants.AD_ID_KEY].AsInt;
                    }

                    /*
                     *                  CAInstance.scenesArray[sequenceCounter].interactiveDetails.networkList = new AdNetworkNameInteractive[responseArray[CAConstants.SEQUENCES_KEY][sequenceCounter][CAConstants.INTERACTIVE_KEY].Count];
                     *                  //populating ad sequence's Ads Array
                     *                  for (int adCounter = 0; adCounter < responseArray[CAConstants.SEQUENCES_KEY][sequenceCounter][CAConstants.INTERACTIVE_KEY].Count; adCounter++)
                     *                  {
                     *                          CAInstance.scenesArray[sequenceCounter].interactiveDetails.networkList[adCounter] = (AdNetworkNameInteractive)responseArray[CAConstants.SEQUENCES_KEY][sequenceCounter][CAConstants.INTERACTIVE_KEY][adCounter][CAConstants.AD_ID_KEY].AsInt;
                     *
                     *                  }
                     */

                    //populating native ad settings
                    if (responseArray[CAConstants.SEQUENCES_KEY][sequenceCounter][CAConstants.NATIVEAD_KEY] != null)
                    {
                        CAInstance.scenesArray[sequenceCounter].nativeDetails          = new CANativeMediationDetails();
                        CAInstance.scenesArray[sequenceCounter].nativeDetails.failOver = (AdNetworkNameNative)responseArray[CAConstants.SEQUENCES_KEY][sequenceCounter][CAConstants.NATIVE_FAILOVERAD_ID_KEY].AsInt;
                        CAInstance.scenesArray[sequenceCounter].nativeDetails.enabled  = responseArray[CAConstants.SEQUENCES_KEY][sequenceCounter][CAConstants.NATIVE_ENABLED_KEY].AsBool;
                        CAInstance.scenesArray[sequenceCounter].nativeDetails.width    = responseArray[CAConstants.SEQUENCES_KEY][sequenceCounter][CAConstants.NATIVE_WIDTH_KEY].AsInt;
                        CAInstance.scenesArray[sequenceCounter].nativeDetails.height   = responseArray[CAConstants.SEQUENCES_KEY][sequenceCounter][CAConstants.NATIVE_HEIGHT_KEY].AsInt;

                        CAInstance.scenesArray[sequenceCounter].nativeDetails.networkList = new AdNetworkNameNative[responseArray[CAConstants.SEQUENCES_KEY][sequenceCounter][CAConstants.NATIVEAD_KEY].Count];
                        //populating ad sequence's Ads Array
                        for (int adCounter = 0; adCounter < responseArray[CAConstants.SEQUENCES_KEY][sequenceCounter][CAConstants.NATIVEAD_KEY].Count; adCounter++)
                        {
                            CAInstance.scenesArray[sequenceCounter].nativeDetails.networkList[adCounter] = (AdNetworkNameNative)responseArray[CAConstants.SEQUENCES_KEY][sequenceCounter][CAConstants.NATIVEAD_KEY][adCounter][CAConstants.AD_ID_KEY].AsInt;
                        }
                    }
                    else
                    {
                        CAInstance.scenesArray[sequenceCounter].nativeDetails         = new CANativeMediationDetails();
                        CAInstance.scenesArray[sequenceCounter].nativeDetails.enabled = false;
                    }
                    //populating native ad settings

                    if (responseArray[CAConstants.SEQUENCES_KEY][sequenceCounter][CAConstants.BANNERAD_KEY] != null)
                    {
                        CAInstance.scenesArray[sequenceCounter].bannerDetails          = new CABannerMediationDetails();
                        CAInstance.scenesArray[sequenceCounter].bannerDetails.failOver = (AdNetworkNameBanner)responseArray[CAConstants.SEQUENCES_KEY][sequenceCounter][CAConstants.BANNER_FAILOVERAD_ID_KEY].AsInt;
                        CAInstance.scenesArray[sequenceCounter].bannerDetails.enabled  = responseArray[CAConstants.SEQUENCES_KEY][sequenceCounter][CAConstants.BANNER_ENABLED_KEY].AsBool;
                        CAInstance.scenesArray[sequenceCounter].bannerDetails.size     = (BannerSize)responseArray[CAConstants.SEQUENCES_KEY][sequenceCounter][CAConstants.BANNER_SIZE_KEY].AsInt;
                        CAInstance.scenesArray[sequenceCounter].bannerDetails.position = (BannerPosition)responseArray[CAConstants.SEQUENCES_KEY][sequenceCounter][CAConstants.BANNER_POSITION_KEY].AsInt;

                        CAInstance.scenesArray[sequenceCounter].bannerDetails.networkList = new AdNetworkNameBanner[responseArray[CAConstants.SEQUENCES_KEY][sequenceCounter][CAConstants.BANNERAD_KEY].Count];
                        //populating ad sequence's Ads Array
                        for (int adCounter = 0; adCounter < responseArray[CAConstants.SEQUENCES_KEY][sequenceCounter][CAConstants.BANNERAD_KEY].Count; adCounter++)
                        {
                            CAInstance.scenesArray[sequenceCounter].bannerDetails.networkList[adCounter] = (AdNetworkNameBanner)responseArray[CAConstants.SEQUENCES_KEY][sequenceCounter][CAConstants.BANNERAD_KEY][adCounter][CAConstants.AD_ID_KEY].AsInt;
                        }
                    }
                    else
                    {
                        CAInstance.scenesArray[sequenceCounter].bannerDetails         = new CABannerMediationDetails();
                        CAInstance.scenesArray[sequenceCounter].bannerDetails.enabled = false;
                    }

                    if (responseArray[CAConstants.SEQUENCES_KEY][sequenceCounter][CAConstants.ICONAD_KEY] != null)
                    {
                        CAInstance.scenesArray[sequenceCounter].iconDetails         = new CAIconMediationDetails();
                        CAInstance.scenesArray[sequenceCounter].iconDetails.enabled = responseArray[CAConstants.SEQUENCES_KEY][sequenceCounter][CAConstants.ICONAD_KEY][CAConstants.ICON_ENABLED_KEY].AsBool;
                        CAInstance.scenesArray[sequenceCounter].iconDetails.adType  = (AdNetworkNameIcon)responseArray[CAConstants.SEQUENCES_KEY][sequenceCounter][CAConstants.ICONAD_KEY][CAConstants.AD_ID_KEY].AsInt;
                        CAInstance.scenesArray[sequenceCounter].iconDetails.size    = (IconSize)responseArray[CAConstants.SEQUENCES_KEY][sequenceCounter][CAConstants.ICONAD_KEY][CAConstants.ICON_SIZE_KEY].AsInt;
                    }
                    else
                    {
                        CAInstance.scenesArray[sequenceCounter].iconDetails         = new CAIconMediationDetails();
                        CAInstance.scenesArray[sequenceCounter].iconDetails.enabled = false;
                    }
                }
            }

            CAInstance.adIDList.clearInspectorAdIds(CAInstance.platform);

            if (responseArray[CAConstants.AD_IDS_KEY] != null)
            {
                //populating ad IDs
                for (int adIDCounter = 0; adIDCounter < responseArray[CAConstants.AD_IDS_KEY].Count; adIDCounter++)
                {
                    NetworkAdIDType type     = (NetworkAdIDType)responseArray[CAConstants.AD_IDS_KEY][adIDCounter][CAConstants.AD_ID_VALUE_TYPE_KEY].AsInt;
                    Platform        platform = (Platform)responseArray[CAConstants.AD_IDS_KEY][adIDCounter][CAConstants.AD_ID_PLATEFORM_TYPE_KEY].AsInt;
                    String          key      = responseArray[CAConstants.AD_IDS_KEY][adIDCounter][CAConstants.AD_ID_VALUE_KEY];
                    CAInstance.adIDList.setupAdIds(type, platform, key, CAInstance.platform);
                }
            }
        }
    }
    /*
     * [Serializable]
     * private class AtmosplayIds
     * {
     *      public string AtmosplayAPPID;
     *      public string AtmosplayInterstitialAdUnitID;
     *      public string AtmosplayRewardedVideoAdUnitID;
     *      public string AtmosplayNativeAdUnitID;
     * }*/

    public void setupAdIds(NetworkAdIDType type, Platform platform, String key, Platform selectedPlatform)
    {
        if (selectedPlatform == platform)
        {
            switch (type)
            {
            case NetworkAdIDType.ConsoliadsAppKey:
                this.ConsoliadsAppKey = key;
                break;

            case NetworkAdIDType.ChartboostAppID:
                this.Chartboost.ChartboostAppID = key;
                break;

            case NetworkAdIDType.ChartboostAppSignature:
                this.Chartboost.ChartboostAppSignature = key;
                break;

            case NetworkAdIDType.AdmobAppID:
                this.Admob.AdmobAppID = key;
                break;

            case NetworkAdIDType.AdmobBannerAdUnitID:
                this.Admob.AdmobBannerAdUnitID = key;
                break;

            case NetworkAdIDType.AdmobInterstitialAdUnitID:
                this.Admob.AdmobInterstitialAdUnitID = key;
                break;

            case NetworkAdIDType.AdmobRewardedVideoAdUnitID:
                this.Admob.AdmobRewardedVideoAdUnitID = key;
                break;

            case NetworkAdIDType.AdmobNativeAdID:
                this.Admob.AdmobNativeAdUnitID = key;
                break;

            case NetworkAdIDType.HeyzapID:
                this.HeyzapID = key;
                break;

            case NetworkAdIDType.RevmobMediaID:
                this.RevmobMediaID = key;
                break;

            case NetworkAdIDType.UnityAdsID:
                this.UnityadsAppID = key;
                break;

            case NetworkAdIDType.AdColonyAppID:
                this.AdcolonyAppID = key;
                break;

            case NetworkAdIDType.AdColonyInterstitialZoneID:
                this.AdcolonyInterstitialZoneID = key;
                break;

            case NetworkAdIDType.AdColonyRewardedZoneID:
                this.AdcolonyRewardedZoneID = key;
                break;

            case NetworkAdIDType.IronsourceAppKey:
                this.IronsourceAppKey = key;
                break;

            case NetworkAdIDType.AppLovinID:
                this.ApplovinID = key;
                break;

            case NetworkAdIDType.LeadboltAppKey:
                this.LeadboltAppKey = key;
                break;

            case NetworkAdIDType.VungleAdID:
                this.VungleID = key;
                break;

            case NetworkAdIDType.TapJoyAdID:
                this.TapJoyID = key;
                break;

            case NetworkAdIDType.TapJoyPlacement:
                this.TapJoyPlacement = key;
                break;

            case NetworkAdIDType.MobVistaAppKey:
                this.MobVistaAppKey = key;
                break;

            case NetworkAdIDType.MobVistaAPPID:
                this.MobVistaAppID = key;
                break;

            case NetworkAdIDType.MobVistaInterstitialID:
                this.MobVistaInterstitialID = key;
                break;

            case NetworkAdIDType.MobVistaVideoID:
                this.MobVistaVideoID = key;
                break;

            case NetworkAdIDType.FacebookBannerID:
                this.Facebook.FacebookBannerId = key;
                break;

            case NetworkAdIDType.FacebookNativeID:
                this.Facebook.FacebookNativeId = key;
                break;

            case NetworkAdIDType.FacebookInterstitialUnitID:
                this.Facebook.FacebookInterstitialUnitId = key;
                break;

            case NetworkAdIDType.FacebookRewardedUnitID:
                this.Facebook.FacebookRewardedUnitId = key;
                break;

            case NetworkAdIDType.StartAppDeveloperID:
                this.StartappDeveloperId = key;
                break;

            case NetworkAdIDType.StartAppApplicationID:
                this.StartappApplicationId = key;
                break;

            case NetworkAdIDType.KidozPubID:
                this.KidozPubId = key;
                break;

            case NetworkAdIDType.KidozSecToken:
                this.KidozSecToken = key;
                break;

            case NetworkAdIDType.MopubIntesrstialAdUnit:
                this.MopubIntesrstialAdUnit = key;
                break;

            case NetworkAdIDType.MopubRewardedAdUnit:
                this.MopubRewardedAdUnit = key;
                break;

            case NetworkAdIDType.VunglePlacementID:
                this.VunglePlacementName = key;
                break;

            case NetworkAdIDType.InmobiAccountID:
                this.InmobiAccountID = key;
                break;

            case NetworkAdIDType.InmobiInterstitialPlacement:
                this.InmobiInterstitialPlacement = key;
                break;

            case NetworkAdIDType.InmobiRewardedVideoPlacement:
                this.InmobiRewardedVideoPlacement = key;
                break;

            case NetworkAdIDType.InmobiBannerAdPlacement:
                this.InmobiBannerAdPlacement = key;
                break;

            case NetworkAdIDType.MobfoxInterstitialAdUnit:
                this.MobfoxInterstitialAdUnit = key;
                break;

            case NetworkAdIDType.MobfoxRewardedVideoAdUnit:
                this.MobfoxRewardedVideoAdUnit = key;
                break;

            case NetworkAdIDType.MobfoxBannerAdUnit:
                this.MobfoxBannerAdUnit = key;
                break;

            case NetworkAdIDType.MyTargetInterstitialSlotID:
                this.MyTarget.MyTargetInterstitialSlotID = key;
                break;

            case NetworkAdIDType.MyTargetBannerAdSlotID:
                this.MyTarget.MyTargetBannerAdSlotID = key;
                break;

            case NetworkAdIDType.OguryAPIKey:
                this.Ogury.OguryAPIKey = key;
                break;

            case NetworkAdIDType.OguryInterstitialAdUnit:
                this.Ogury.OguryInterstitialAdUnit = key;
                break;

            case NetworkAdIDType.OguryRewardedVideoAdUnit:
                this.Ogury.OguryRewardedVideoAdUnit = key;
                break;

            case NetworkAdIDType.UnityAdsBannerPlacement:
                this.unityAdsBannerPlacement = key;
                break;

            case NetworkAdIDType.MopubBannerAdUnit:
                this.mopubBannerAdUnit = key;
                break;

            case NetworkAdIDType.MyTargetRewardedAdSlotID:
                this.MyTarget.myTargetRewardedAdSlotID = key;
                break;

            case NetworkAdIDType.TapJoyRewardedPlacement:
                this.tapJoyRewardedPlacement = key;
                break;

            case NetworkAdIDType.VungleRewardedPlacementID:
                this.vungleRewardedPlacementID = key;
                break;
            }
        }
    }