Skip to content

Commit 1c08a82

Browse files
committed
Version 3.15.0 of the Google Mobile Ads Unity plugin
1 parent 7c7e357 commit 1c08a82

File tree

6 files changed

+202
-24
lines changed

6 files changed

+202
-24
lines changed

ChangeLog.txt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,26 @@
11
Google Mobile Ads Unity Plugin Change Log
22

3+
**************
4+
Version 3.15.0
5+
**************
6+
7+
Plugin:
8+
- Forward Android ad events on background thread through JNI interface
9+
to mitigate ANRs.
10+
11+
Mediation packages:
12+
- Updated AppLovin Unity package to v3.0.3.
13+
- Updated Chartboost Unity package to v1.1.1.
14+
- Updated Facebook Unity package to v1.1.3.
15+
- Updated IronSource Unity package to v1.0.2.
16+
- Updated Nend Unity package to v2.0.0.
17+
- Updated Tapjoy Unity package to v2.0.0.
18+
19+
Built and tested with:
20+
- Google Play services 15.0.1
21+
- Google Mobile Ads iOS SDK 7.31.0
22+
- Unity Jar Resolver 1.2.79.0
23+
324
**************
425
Version 3.14.0
526
**************

source/android-library/app/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ task clearJar(type: Delete) {
3232
}
3333

3434
task makeJar(type: Copy) {
35-
from('build/intermediates/bundles/release/')
35+
from('build/intermediates/intermediate-jars/release/')
3636
into('build/libs/')
3737
include('classes.jar')
3838
rename('classes.jar', 'unity-plugin-library.jar')

source/android-library/app/src/main/java/com/google/unity/ads/Banner.java

Lines changed: 43 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -168,35 +168,72 @@ public void onAdLoaded() {
168168
if (!mPopupWindow.isShowing() && !mHidden) {
169169
showPopUpWindow();
170170
}
171-
mUnityListener.onAdLoaded();
171+
172+
new Thread(new Runnable() {
173+
@Override
174+
public void run() {
175+
if (mUnityListener != null) {
176+
mUnityListener.onAdLoaded();
177+
}
178+
}
179+
}).start();
172180
}
173181
}
174182

175183
@Override
176-
public void onAdFailedToLoad(int errorCode) {
184+
public void onAdFailedToLoad(final int errorCode) {
177185
if (mUnityListener != null) {
178-
mUnityListener.onAdFailedToLoad(PluginUtils.getErrorReason(errorCode));
186+
new Thread(new Runnable() {
187+
@Override
188+
public void run() {
189+
if (mUnityListener != null) {
190+
mUnityListener.onAdFailedToLoad(
191+
PluginUtils.getErrorReason(errorCode));
192+
}
193+
}
194+
}).start();
179195
}
180196
}
181197

182198
@Override
183199
public void onAdOpened() {
184200
if (mUnityListener != null) {
185-
mUnityListener.onAdOpened();
201+
new Thread(new Runnable() {
202+
@Override
203+
public void run() {
204+
if (mUnityListener != null) {
205+
mUnityListener.onAdOpened();
206+
}
207+
}
208+
}).start();
186209
}
187210
}
188211

189212
@Override
190213
public void onAdClosed() {
191214
if (mUnityListener != null) {
192-
mUnityListener.onAdClosed();
215+
new Thread(new Runnable() {
216+
@Override
217+
public void run() {
218+
if (mUnityListener != null) {
219+
mUnityListener.onAdClosed();
220+
}
221+
}
222+
}).start();
193223
}
194224
}
195225

196226
@Override
197227
public void onAdLeftApplication() {
198228
if (mUnityListener != null) {
199-
mUnityListener.onAdLeftApplication();
229+
new Thread(new Runnable() {
230+
@Override
231+
public void run() {
232+
if (mUnityListener != null) {
233+
mUnityListener.onAdLeftApplication();
234+
}
235+
}
236+
}).start();
200237
}
201238
}
202239
});

source/android-library/app/src/main/java/com/google/unity/ads/Interstitial.java

Lines changed: 52 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -67,27 +67,73 @@ public void run() {
6767
@Override
6868
public void onAdLoaded() {
6969
isLoaded = true;
70-
adListener.onAdLoaded();
70+
if (adListener != null) {
71+
new Thread(new Runnable() {
72+
@Override
73+
public void run() {
74+
if (adListener != null) {
75+
adListener.onAdLoaded();
76+
}
77+
}
78+
}).start();
79+
}
7180
}
7281

7382
@Override
74-
public void onAdFailedToLoad(int errorCode) {
75-
adListener.onAdFailedToLoad(PluginUtils.getErrorReason(errorCode));
83+
public void onAdFailedToLoad(final int errorCode) {
84+
if (adListener != null) {
85+
new Thread(new Runnable() {
86+
@Override
87+
public void run() {
88+
if (adListener != null) {
89+
adListener.onAdFailedToLoad(
90+
PluginUtils.getErrorReason(errorCode));
91+
}
92+
}
93+
}).start();
94+
}
7695
}
7796

7897
@Override
7998
public void onAdOpened() {
80-
adListener.onAdOpened();
99+
if (adListener != null) {
100+
new Thread(new Runnable() {
101+
@Override
102+
public void run() {
103+
if (adListener != null) {
104+
adListener.onAdOpened();
105+
}
106+
}
107+
}).start();
108+
}
81109
}
82110

83111
@Override
84112
public void onAdClosed() {
85-
adListener.onAdClosed();
113+
if (adListener != null) {
114+
new Thread(new Runnable() {
115+
@Override
116+
public void run() {
117+
if (adListener != null) {
118+
adListener.onAdClosed();
119+
}
120+
}
121+
}).start();
122+
}
86123
}
87124

88125
@Override
89126
public void onAdLeftApplication() {
90-
adListener.onAdLeftApplication();
127+
if (adListener != null) {
128+
new Thread(new Runnable() {
129+
@Override
130+
public void run() {
131+
if (adListener != null) {
132+
adListener.onAdLeftApplication();
133+
}
134+
}
135+
}).start();
136+
}
91137
}
92138
});
93139
}

source/android-library/app/src/main/java/com/google/unity/ads/RewardBasedVideo.java

Lines changed: 84 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -67,42 +67,116 @@ public void run() {
6767
@Override
6868
public void onRewardedVideoAdLoaded() {
6969
isLoaded = true;
70-
adListener.onAdLoaded();
70+
if (adListener != null) {
71+
new Thread(new Runnable() {
72+
@Override
73+
public void run() {
74+
if (adListener != null) {
75+
adListener.onAdLoaded();
76+
}
77+
}
78+
}).start();
79+
}
7180
}
7281

7382
@Override
74-
public void onRewardedVideoAdFailedToLoad(int errorCode) {
75-
adListener.onAdFailedToLoad(PluginUtils.getErrorReason(errorCode));
83+
public void onRewardedVideoAdFailedToLoad(final int errorCode) {
84+
if (adListener != null) {
85+
new Thread(new Runnable() {
86+
@Override
87+
public void run() {
88+
if (adListener != null) {
89+
adListener.onAdFailedToLoad(
90+
PluginUtils.getErrorReason(errorCode));
91+
}
92+
}
93+
}).start();
94+
}
7695
}
7796

7897
@Override
7998
public void onRewardedVideoAdOpened() {
80-
adListener.onAdOpened();
99+
if (adListener != null) {
100+
new Thread(new Runnable() {
101+
@Override
102+
public void run() {
103+
if (adListener != null) {
104+
adListener.onAdOpened();
105+
}
106+
}
107+
}).start();
108+
}
81109
}
82110

83111
@Override
84112
public void onRewardedVideoStarted() {
85-
adListener.onAdStarted();
113+
if (adListener != null) {
114+
new Thread(new Runnable() {
115+
@Override
116+
public void run() {
117+
if (adListener != null) {
118+
adListener.onAdStarted();
119+
}
120+
}
121+
}).start();
122+
}
86123
}
87124

88125
@Override
89126
public void onRewardedVideoAdClosed() {
90-
adListener.onAdClosed();
127+
if (adListener != null) {
128+
new Thread(new Runnable() {
129+
@Override
130+
public void run() {
131+
if (adListener != null) {
132+
adListener.onAdClosed();
133+
}
134+
}
135+
}).start();
136+
}
91137
}
92138

93139
@Override
94-
public void onRewarded(RewardItem reward) {
95-
adListener.onAdRewarded(reward.getType(), reward.getAmount());
140+
public void onRewarded(final RewardItem reward) {
141+
if (adListener != null) {
142+
new Thread(new Runnable() {
143+
@Override
144+
public void run() {
145+
if (adListener != null) {
146+
adListener.onAdRewarded(reward.getType(),
147+
reward.getAmount());
148+
}
149+
}
150+
}).start();
151+
}
96152
}
97153

98154
@Override
99155
public void onRewardedVideoAdLeftApplication() {
100-
adListener.onAdLeftApplication();
156+
if (adListener != null) {
157+
new Thread(new Runnable() {
158+
@Override
159+
public void run() {
160+
if (adListener != null) {
161+
adListener.onAdLeftApplication();
162+
}
163+
}
164+
}).start();
165+
}
101166
}
102167

103168
@Override
104169
public void onRewardedVideoCompleted() {
105-
adListener.onAdCompleted();
170+
if (adListener != null) {
171+
new Thread(new Runnable() {
172+
@Override
173+
public void run() {
174+
if (adListener != null) {
175+
adListener.onAdCompleted();
176+
}
177+
}
178+
}).start();
179+
}
106180
}
107181
});
108182
}

source/plugin/Assets/GoogleMobileAds/Api/AdRequest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ namespace GoogleMobileAds.Api
2121
{
2222
public class AdRequest
2323
{
24-
public const string Version = "3.14.0";
24+
public const string Version = "3.15.0";
2525
public const string TestDeviceSimulator = "SIMULATOR";
2626

2727
private AdRequest(Builder builder)

0 commit comments

Comments
 (0)