void OnGuiFacebookAdSetting()
 {
     EditorGUILayout.BeginVertical();
     EditorGUILayout.BeginHorizontal();
     AdGUIHelper.AvailableIcon(AdsMasterProcessor.fbadsDetector.IsValid, AvailableIcon, NotAvailableIcon);
     Settings.IsFbAdActived = AdGUIHelper.ActiveToggle(Settings.IsFbAdActived, ToggleOnIcon, ToggleOffIcon);
     GUILayout.FlexibleSpace();
     if (AdGUIHelper.Button(DashboardIcon, AdString.open_dashboard_btn_hint))
     {
         Application.OpenURL("https://developers.facebook.com/apps/");
     }
     if (AdGUIHelper.Button(DownloadIcon, AdString.download_sdk_btn_hint))
     {
         Application.OpenURL("https://developers.facebook.com/docs/unity");
     }
     EditorGUILayout.EndHorizontal();
     GUILayout.Space(4f);
     if (Settings.IsFbAdActived)
     {
         //
         OnFBInterstitialSettings();
         //
         OnFBBannerSettings();
         //
         //OnFBRewardedSettings();
         //
         OnFbNativeSettings();
         GUILayout.Space(10f);
     }
     EditorGUILayout.EndVertical();
 }
        void OnFbInterstitialAdUnit(FbInterstitialUnit ad, List <FbInterstitialUnit> list)
        {
            EditorGUILayout.BeginVertical(GUI.skin.box);
            var newKey = AdGUIHelper.TextField(ad.key, AdString.key_label, AdString.key_infor);

            int countKey = 0;

            if (newKey != ad.key)
            {
                for (int k = 0; k < list.Count; k++)
                {
                    if (newKey.Trim().Equals(list[k].key.Trim()))
                    {
                        countKey++;
                    }
                }
            }
            if (countKey == 0)
            {
                ad.key = newKey.Trim();
            }
            ad.androidAdId = EditorGUILayout.TextField("Android Placement Id", ad.androidAdId).Trim();
            ad.iosAdId     = EditorGUILayout.TextField("IOS Placement Id", ad.iosAdId).Trim();

            EditorGUILayout.BeginHorizontal();
            GUILayout.FlexibleSpace();
            if (AdGUIHelper.Button(DeleteIcon) && ConfirmRemoveItem())
            {
                list.Remove(ad);
            }
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.EndVertical();
            GUILayout.Space(5f);
        }
        void OnGUIAdmobSetting()
        {
            EditorGUILayout.BeginVertical();

            EditorGUILayout.BeginHorizontal();
            AdGUIHelper.AvailableIcon(AdsMasterProcessor.admobDetector.IsValid, AvailableIcon, NotAvailableIcon);

            Settings.IsAdmobActived = AdGUIHelper.ActiveToggle(Settings.IsAdmobActived, ToggleOnIcon, ToggleOffIcon);
            GUILayout.FlexibleSpace();
            if (AdGUIHelper.Button(DashboardIcon, AdString.open_dashboard_btn_hint))
            {
                Application.OpenURL("http://apps.admob.com/");
            }
            if (AdGUIHelper.Button(DownloadIcon, AdString.download_sdk_btn_hint))
            {
                Application.OpenURL("https://github.com/googleads/googleads-mobile-unity/releases");
            }
            EditorGUILayout.EndHorizontal();

            GUILayout.Space(4f);
            if (Settings.IsAdmobActived)
            {
                OnGUIAdmobInterstitialSettings();
                OnGUIAdmobBanner();
                OnGUIAdmobRewarded();
            }
            EditorGUILayout.EndVertical();
        }
 void OnGUIChartBoostSetting()
 {
     EditorGUILayout.BeginVertical();
     EditorGUILayout.BeginHorizontal();
     AdGUIHelper.AvailableIcon(AdsMasterProcessor.chartboostDetector.IsValid, AvailableIcon, NotAvailableIcon);
     Settings.IsChartBoostActived = AdGUIHelper.ActiveToggle(Settings.IsChartBoostActived, ToggleOnIcon, ToggleOffIcon);
     GUILayout.FlexibleSpace();
     if (AdGUIHelper.Button(DashboardIcon, AdString.open_dashboard_btn_hint))
     {
         Application.OpenURL("https://dashboard.chartboost.com/");
     }
     if (AdGUIHelper.Button(DownloadIcon, AdString.download_sdk_btn_hint))
     {
         Application.OpenURL("https://answers.chartboost.com/en-us/articles/download");
     }
     EditorGUILayout.EndHorizontal();
     GUILayout.Space(4f);
     if (Settings.IsChartBoostActived)
     {
         EditorGUILayout.BeginHorizontal();
         GUILayout.FlexibleSpace();
         if (GUILayout.Button("Open ChartBoost Settings"))
         {
             Selection.activeObject = Resources.Load("ChartboostSettings");
         }
         GUILayout.FlexibleSpace();
         EditorGUILayout.EndHorizontal();
     }
     EditorGUILayout.EndVertical();
 }
        void OnGUIAdmobBannerAdUnit(AdmobBannerUnit ad, List <AdmobBannerUnit> list)
        {
            if (ad == null)
            {
                list.Remove(ad);
                return;
            }

            EditorGUILayout.BeginVertical(GUI.skin.box);

            var newKey = AdGUIHelper.TextField(ad.key, AdString.key_label, AdString.key_infor);

            // just change if there are no same key
            int countKey = 0;

            if (newKey != ad.key)
            {
                for (int k = 0; k < list.Count; k++)
                {
                    if (newKey.Trim().Equals(list[k].key.Trim()))
                    {
                        countKey++;
                    }
                }
            }
            if (countKey == 0)
            {
                ad.key = newKey.Trim();
            }

            ad.androidAdId = EditorGUILayout.TextField("Android Ad Unit", ad.androidAdId).Trim();
            ad.iosAdId     = EditorGUILayout.TextField("IOS Ad Unit", ad.iosAdId).Trim();
            ad.position    = (BannerPosition)EditorGUILayout.EnumPopup("Position", ad.position);
            ad.size        = (BannerSize)EditorGUILayout.EnumPopup("Size", ad.size);

            EditorGUILayout.BeginHorizontal();
            GUILayout.FlexibleSpace();
            if (AdGUIHelper.Button(DeleteIcon) && ConfirmRemoveItem())
            {
                list.Remove(ad);
            }
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.EndVertical();

            GUILayout.Space(5f);
        }
        void OnGUIVungleSetting()
        {
            EditorGUILayout.BeginVertical();
            EditorGUILayout.BeginHorizontal();
            AdGUIHelper.AvailableIcon(AdsMasterProcessor.vungleDetector.IsValid, AvailableIcon, NotAvailableIcon);
            Settings.IsVungleActived = AdGUIHelper.ActiveToggle(Settings.IsVungleActived, ToggleOnIcon, ToggleOffIcon);
            GUILayout.FlexibleSpace();
            if (AdGUIHelper.Button(DashboardIcon, AdString.open_dashboard_btn_hint))
            {
                Application.OpenURL("https://dashboard.vungle.com/dashboard/accounts/pub");
            }
            if (AdGUIHelper.Button(DownloadIcon, AdString.download_sdk_btn_hint))
            {
                Application.OpenURL("https://v.vungle.com/sdk");
            }
            EditorGUILayout.EndHorizontal();
            GUILayout.Space(4f);
            if (Settings.IsVungleActived)
            {
                EditorGUILayout.BeginVertical();
                AdGUIHelper.Session("Android");
                AdGUIHelper.BeginGroupedControls();
                EditorGUI.indentLevel++;
                Settings.localConfig.VungleAndroidAppId = EditorGUILayout.TextField("App Id", Settings.localConfig.VungleAndroidAppId).Trim();
                Settings.localConfig.VungleAndroidDefaultPlacementId = EditorGUILayout.TextField("Default Placement Id", Settings.localConfig.VungleAndroidDefaultPlacementId).Trim();
                EditorGUI.indentLevel--;
                AdGUIHelper.EndGroupedControls();

                AdGUIHelper.Session("iOS");
                AdGUIHelper.BeginGroupedControls();
                EditorGUI.indentLevel++;
                Settings.localConfig.VungleIOSAppId = EditorGUILayout.TextField("App Id", Settings.localConfig.VungleIOSAppId).Trim();
                Settings.localConfig.VungleIOSDefaultPlacementId = EditorGUILayout.TextField("Default Placement Id", Settings.localConfig.VungleIOSDefaultPlacementId).Trim();
                EditorGUI.indentLevel--;
                AdGUIHelper.EndGroupedControls();

                EditorGUILayout.EndVertical();
            }
            EditorGUILayout.EndVertical();
        }
        void OnFbNativeAdUnit(FBNativeAdUnit ad, List <FBNativeAdUnit> list)
        {
            EditorGUILayout.BeginVertical(GUI.skin.box);
            var newKey = AdGUIHelper.TextField(ad.key, AdString.key_label, AdString.key_infor);

            int countKey = 0;

            if (newKey != ad.key)
            {
                for (int k = 0; k < list.Count; k++)
                {
                    if (newKey.Trim().Equals(list[k].key.Trim()))
                    {
                        countKey++;
                    }
                }
            }
            if (countKey == 0)
            {
                ad.key = newKey.Trim();
            }
            ad.androidPlacementId = EditorGUILayout.TextField("Android Placement Id", ad.androidPlacementId).Trim();
            ad.iosPlacementId     = EditorGUILayout.TextField("IOS Placement Id", ad.iosPlacementId).Trim();

            ad.minSecondsToReload = EditorGUILayout.Slider("Min Seconds To Reload", ad.minSecondsToReload, 30f, 120f);
            ad.preload            = EditorGUILayout.ToggleLeft("Preload", ad.preload);

            EditorGUILayout.BeginHorizontal();
            GUILayout.FlexibleSpace();
            if (AdGUIHelper.Button(DeleteIcon) && ConfirmRemoveItem())
            {
                list.Remove(ad);
            }
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.EndVertical();
            GUILayout.Space(5f);
        }
        void OnGUIUnityAdSetting()
        {
            EditorGUILayout.BeginVertical();

            EditorGUILayout.BeginHorizontal();
            Settings.IsUnityAdActived = AdGUIHelper.ActiveToggle(Settings.IsUnityAdActived, ToggleOnIcon, ToggleOffIcon);
            GUILayout.FlexibleSpace();
            if (AdGUIHelper.Button(DashboardIcon, AdString.open_dashboard_btn_hint))
            {
                Application.OpenURL("https://operate.dashboard.unity3d.com/");
            }
            EditorGUILayout.EndHorizontal();

            GUILayout.Space(4f);
            if (Settings.IsUnityAdActived)
            {
                AdGUIHelper.Session("Android");
                AdGUIHelper.BeginGroupedControls();
                EditorGUI.indentLevel++;
                Settings.localConfig.UnityAdIdAndroid = EditorGUILayout.TextField("Android Id", Settings.localConfig.UnityAdIdAndroid).Trim();
                Settings.localConfig.UnityAdAndroidVideoPlacementId    = EditorGUILayout.TextField("Video Placement Id", Settings.localConfig.UnityAdAndroidVideoPlacementId).Trim();
                Settings.localConfig.UnityAdAndroidRewardedPlacementId = EditorGUILayout.TextField("Rewarded Placement Id", Settings.localConfig.UnityAdAndroidRewardedPlacementId).Trim();
                EditorGUI.indentLevel--;
                AdGUIHelper.EndGroupedControls();

                AdGUIHelper.Session("iOS");
                AdGUIHelper.BeginGroupedControls();
                EditorGUI.indentLevel++;
                Settings.localConfig.UnityAdIdIOS = EditorGUILayout.TextField("Game Id", Settings.localConfig.UnityAdIdIOS).Trim();
                Settings.localConfig.UnityAdIOSVideoPlacementId    = EditorGUILayout.TextField("Video Placement Id", Settings.localConfig.UnityAdIOSVideoPlacementId).Trim();
                Settings.localConfig.UnityAdIOSRewardedPlacementId = EditorGUILayout.TextField("Rewarded Placement Id", Settings.localConfig.UnityAdIOSRewardedPlacementId).Trim();
                EditorGUI.indentLevel--;
                AdGUIHelper.EndGroupedControls();
            }
            EditorGUILayout.EndVertical();
        }