Skip to content

Commit 6261490

Browse files
committed
- add: IronSource
1 parent a8fc1da commit 6261490

14 files changed

+612
-43
lines changed

Editor/AdSettingsEditor.cs

Lines changed: 70 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,13 @@ public class AdSettingsEditor : Editor
3030
private SerializedProperty _enableGDPRTestMode;
3131
private SerializedProperty _admobDevicesTest;
3232

33+
private SerializedProperty _androidAppKey;
34+
private SerializedProperty _iOSAppKey;
35+
private SerializedProperty _useTestAppKey;
36+
private SerializedProperty _ironSourceBannerAdUnit;
37+
private SerializedProperty _ironSourceInterstitialAdUnit;
38+
private SerializedProperty _ironSourceRewardAdUnit;
39+
3340
void Initialize()
3441
{
3542
_adSettings = target as AdSettings;
@@ -53,6 +60,12 @@ void Initialize()
5360
_enableGDPR = serializedObject.FindProperty("enableGDPR");
5461
_enableGDPRTestMode = serializedObject.FindProperty("enableGDPRTestMode");
5562
_admobDevicesTest = serializedObject.FindProperty("admobDevicesTest");
63+
_androidAppKey = serializedObject.FindProperty("androidAppKey");
64+
_iOSAppKey = serializedObject.FindProperty("iOSAppKey");
65+
_useTestAppKey = serializedObject.FindProperty("useTestAppKey");
66+
_ironSourceBannerAdUnit = serializedObject.FindProperty("ironSourceBannerAdUnit");
67+
_ironSourceInterstitialAdUnit = serializedObject.FindProperty("ironSourceInterstitialAdUnit");
68+
_ironSourceRewardAdUnit = serializedObject.FindProperty("ironSourceRewardAdUnit");
5669
}
5770

5871
public override void OnInspectorGUI()
@@ -68,62 +81,80 @@ public override void OnInspectorGUI()
6881
EditorGUILayout.PropertyField(_adNetwork);
6982
GUILayout.Space(10);
7083
GuiLine(2);
71-
DrawMax();
72-
DrawAdmob();
84+
switch (_adNetwork.enumValueIndex)
85+
{
86+
case (int)AdNetwork.Max:
87+
DrawMax();
88+
break;
89+
case (int)AdNetwork.Admob:
90+
DrawAdmob();
91+
break;
92+
case (int)AdNetwork.IronSource:
93+
DrawIronSource();
94+
break;
95+
}
96+
7397
EditorUtility.SetDirty(target);
7498
serializedObject.ApplyModifiedProperties();
7599
}
76100

77101
void DrawMax()
78102
{
79103
GUILayout.Space(10);
80-
if (_adNetwork.enumValueIndex == (int)AdNetwork.Max)
81-
{
82-
EditorGUILayout.LabelField("APPLOVIN-MAX", EditorStyles.boldLabel);
83-
GUILayout.Space(5);
84-
EditorGUILayout.PropertyField(_sdkKey);
85-
GUILayout.Space(5);
86-
EditorGUILayout.PropertyField(_applovinEnableAgeRestrictedUser);
87-
EditorGUILayout.PropertyField(_maxBannerAdUnit);
88-
EditorGUILayout.PropertyField(_maxInterstitialAdUnit);
89-
EditorGUILayout.PropertyField(_maxRewardAdUnit);
90-
EditorGUILayout.PropertyField(_maxRewardedInterstitialAdUnit);
91-
EditorGUILayout.PropertyField(_maxAppOpenAdUnit);
92-
}
104+
EditorGUILayout.LabelField("APPLOVIN-MAX", EditorStyles.boldLabel);
105+
GUILayout.Space(5);
106+
EditorGUILayout.PropertyField(_sdkKey);
107+
GUILayout.Space(5);
108+
EditorGUILayout.PropertyField(_applovinEnableAgeRestrictedUser);
109+
EditorGUILayout.PropertyField(_maxBannerAdUnit);
110+
EditorGUILayout.PropertyField(_maxInterstitialAdUnit);
111+
EditorGUILayout.PropertyField(_maxRewardAdUnit);
112+
EditorGUILayout.PropertyField(_maxRewardedInterstitialAdUnit);
113+
EditorGUILayout.PropertyField(_maxAppOpenAdUnit);
93114
}
94115

95116
void DrawAdmob()
96117
{
97118
GUILayout.Space(10);
98-
if (_adNetwork.enumValueIndex == (int)AdNetwork.Admob)
119+
EditorGUILayout.LabelField("GOOGLE-ADMOB", EditorStyles.boldLabel);
120+
GUILayout.Space(5);
121+
EditorGUILayout.PropertyField(_admobBannerAdUnit);
122+
EditorGUILayout.PropertyField(_admobInterstitialAdUnit);
123+
EditorGUILayout.PropertyField(_admobRewardAdUnit);
124+
EditorGUILayout.PropertyField(_admobRewardedInterstitialAdUnit);
125+
EditorGUILayout.PropertyField(_admobAppOpenAdUnit);
126+
EditorGUILayout.PropertyField(_admobEnableTestMode);
127+
EditorGUILayout.PropertyField(_enableGDPR);
128+
if (_enableGDPR.boolValue)
99129
{
100-
EditorGUILayout.LabelField("GOOGLE-ADMOB", EditorStyles.boldLabel);
101-
GUILayout.Space(5);
102-
EditorGUILayout.PropertyField(_admobBannerAdUnit);
103-
EditorGUILayout.PropertyField(_admobInterstitialAdUnit);
104-
EditorGUILayout.PropertyField(_admobRewardAdUnit);
105-
EditorGUILayout.PropertyField(_admobRewardedInterstitialAdUnit);
106-
EditorGUILayout.PropertyField(_admobAppOpenAdUnit);
107-
EditorGUILayout.PropertyField(_admobEnableTestMode);
108-
EditorGUILayout.PropertyField(_enableGDPR);
109-
if (_enableGDPR.boolValue)
110-
{
111-
EditorGUILayout.PropertyField(_enableGDPRTestMode);
112-
}
130+
EditorGUILayout.PropertyField(_enableGDPRTestMode);
131+
}
113132

114-
EditorGUILayout.PropertyField(_admobDevicesTest);
115-
GUILayout.Space(10);
116-
GUI.enabled = false;
117-
EditorGUILayout.TextField("App Id Test", "ca-app-pub-3940256099942544~3347511713");
118-
GUI.enabled = true;
119-
GUILayout.Space(10);
120-
if (GUILayout.Button("Open GoogleAdmobSetting", GUILayout.Height(20)))
121-
{
122-
EditorApplication.ExecuteMenuItem("Assets/Google Mobile Ads/Settings...");
123-
}
133+
EditorGUILayout.PropertyField(_admobDevicesTest);
134+
GUILayout.Space(10);
135+
GUI.enabled = false;
136+
EditorGUILayout.TextField("App Id Test", "ca-app-pub-3940256099942544~3347511713");
137+
GUI.enabled = true;
138+
GUILayout.Space(10);
139+
if (GUILayout.Button("Open GoogleAdmobSetting", GUILayout.Height(20)))
140+
{
141+
EditorApplication.ExecuteMenuItem("Assets/Google Mobile Ads/Settings...");
124142
}
125143
}
126144

145+
void DrawIronSource()
146+
{
147+
GUILayout.Space(10);
148+
EditorGUILayout.LabelField("IRON-SOURCE", EditorStyles.boldLabel);
149+
GUILayout.Space(5);
150+
EditorGUILayout.PropertyField(_androidAppKey);
151+
EditorGUILayout.PropertyField(_iOSAppKey);
152+
EditorGUILayout.PropertyField(_useTestAppKey);
153+
EditorGUILayout.PropertyField(_ironSourceBannerAdUnit);
154+
EditorGUILayout.PropertyField(_ironSourceInterstitialAdUnit);
155+
EditorGUILayout.PropertyField(_ironSourceRewardAdUnit);
156+
}
157+
127158
void GuiLine(int i_height = 1)
128159
{
129160
Rect rect = EditorGUILayout.GetControlRect(false, i_height);

Runtime/General/AdClient.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@ public AdUnit InterstitialAdUnit()
2121
return adSettings.CurrentAdNetwork switch
2222
{
2323
AdNetwork.Max => adSettings.MaxInterstitialAdUnit,
24-
_ => adSettings.AdmobInterstitialAdUnit,
24+
AdNetwork.Admob => adSettings.AdmobInterstitialAdUnit,
25+
_ => adSettings.IronSourceInterstitialAdUnit,
2526
};
2627
}
2728

@@ -44,7 +45,8 @@ public AdUnit RewardAdUnit()
4445
return adSettings.CurrentAdNetwork switch
4546
{
4647
AdNetwork.Max => adSettings.MaxRewardAdUnit,
47-
_ => adSettings.AdmobRewardAdUnit,
48+
AdNetwork.Admob => adSettings.AdmobRewardAdUnit,
49+
_ => adSettings.IronSourceRewardAdUnit,
4850
};
4951
}
5052

Runtime/General/AdSettings.cs

Lines changed: 52 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,56 @@ public static AdSettings Instance
7474

7575
#endregion
7676

77+
#region IronSource
78+
79+
[SerializeField] private string androidAppKey;
80+
[SerializeField] private string iOSAppKey;
81+
[SerializeField] private bool useTestAppKey;
82+
[SerializeField] private IronSourceBannerAdUnit ironSourceBannerAdUnit;
83+
[SerializeField] private IronSourceInterstitialAdUnit ironSourceInterstitialAdUnit;
84+
[SerializeField] private IronSourceRewardAdUnit ironSourceRewardAdUnit;
85+
86+
public string AndroidAppKey
87+
{
88+
get => androidAppKey;
89+
set => androidAppKey = value;
90+
}
91+
92+
public string IosAppKey
93+
{
94+
get => iOSAppKey;
95+
set => iOSAppKey = value;
96+
}
97+
98+
public string AppKey
99+
{
100+
get
101+
{
102+
#if UNITY_ANDROID
103+
return androidAppKey;
104+
#elif UNITY_IOS
105+
return iOSAppKey;
106+
#else
107+
return string.Empty;
108+
#endif
109+
}
110+
set
111+
{
112+
#if UNITY_ANDROID
113+
androidAppKey = value;
114+
#elif UNITY_IOS
115+
iOSAppKey = value;
116+
#endif
117+
}
118+
}
119+
120+
public bool UseTestAppKey => useTestAppKey;
121+
public IronSourceBannerAdUnit IronSourceBannerAdUnit => ironSourceBannerAdUnit;
122+
public IronSourceInterstitialAdUnit IronSourceInterstitialAdUnit => ironSourceInterstitialAdUnit;
123+
public IronSourceRewardAdUnit IronSourceRewardAdUnit => ironSourceRewardAdUnit;
124+
125+
#endregion
126+
77127

78128
public bool RuntimeAutoInit => runtimeAutoInit;
79129
public float AdCheckingInterval => adCheckingInterval;
@@ -89,7 +139,8 @@ public AdNetwork CurrentAdNetwork
89139
public enum AdNetwork
90140
{
91141
Max,
92-
Admob
142+
Admob,
143+
IronSource
93144
}
94145

95146
public enum BannerPosition

Runtime/General/Advertising.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,9 @@ void InitAdClient()
6868
case AdNetwork.Admob:
6969
currentAdClient = new AdmobClient();
7070
break;
71+
case AdNetwork.IronSource:
72+
currentAdClient = new IronSourceClient();
73+
break;
7174
}
7275

7376
currentAdClient.SetupAdSettings(adSettings);
@@ -241,6 +244,7 @@ private void OnApplicationPause(bool pauseStatus)
241244
}
242245
#endif
243246

247+
#if VIRTUESKY_ADS
244248
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterSceneLoad)]
245249
private static void AutoInitialize()
246250
{
@@ -252,6 +256,8 @@ private static void AutoInitialize()
252256
DontDestroyOnLoad(ads);
253257
}
254258
}
259+
#endif
260+
255261

256262
#region Public API
257263

Runtime/IronSource.meta

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)