14
14
import io .flutter .plugin .common .MethodChannel .MethodCallHandler ;
15
15
import io .flutter .plugin .common .MethodChannel .Result ;
16
16
import io .flutter .plugin .common .PluginRegistry .Registrar ;
17
+ import java .util .Locale ;
17
18
import java .util .Map ;
18
19
19
20
public class FirebaseAdMobPlugin implements MethodCallHandler {
@@ -51,34 +52,41 @@ private void callInitialize(MethodCall call, Result result) {
51
52
result .success (Boolean .TRUE );
52
53
}
53
54
54
- private void callLoadBannerAd (
55
- int id , Activity activity , MethodChannel channel , MethodCall call , Result result ) {
55
+ private void callLoadBannerAd (Integer id , Activity activity , MethodCall call , Result result ) {
56
56
String adUnitId = call .argument ("adUnitId" );
57
57
if (adUnitId == null || adUnitId .isEmpty ()) {
58
58
result .error ("no_unit_id" , "a null or empty adUnitId was provided for ad id=" + id , null );
59
59
return ;
60
60
}
61
61
62
- int width = call .argument ("width" );
63
- int height = call .argument ("height" );
64
- String adSizeType = call .argument ("adSizeType" );
62
+ final Integer width = call .argument ("width" );
63
+ final Integer height = call .argument ("height" );
64
+ final String adSizeType = call .argument ("adSizeType" );
65
65
66
- if (!adSizeType . equals ( "AdSizeType.WidthAndHeight" )
67
- && !adSizeType . equals ( "AdSizeType.SmartBanner" )) {
66
+ if (!"AdSizeType.WidthAndHeight" . equals ( adSizeType )
67
+ && !"AdSizeType.SmartBanner" . equals ( adSizeType )) {
68
68
String errMsg =
69
- String .format ("an invalid adSizeType (%s) was provided for banner id=%d" , adSizeType , id );
69
+ String .format (
70
+ Locale .ENGLISH ,
71
+ "an invalid adSizeType (%s) was provided for banner id=%d" ,
72
+ adSizeType ,
73
+ id );
70
74
result .error ("invalid_adsizetype" , errMsg , null );
71
75
}
72
76
73
- if (adSizeType . equals ( "AdSizeType.WidthAndHeight" ) && (width <= 0 || height <= 0 )) {
77
+ if ("AdSizeType.WidthAndHeight" . equals ( adSizeType ) && (width <= 0 || height <= 0 )) {
74
78
String errMsg =
75
79
String .format (
76
- "an invalid AdSize (%d, %d) was provided for banner id=%d" , width , height , id );
80
+ Locale .ENGLISH ,
81
+ "an invalid AdSize (%d, %d) was provided for banner id=%d" ,
82
+ width ,
83
+ height ,
84
+ id );
77
85
result .error ("invalid_adsize" , errMsg , null );
78
86
}
79
87
80
88
AdSize adSize ;
81
- if (adSizeType . equals ( "AdSizeType.SmartBanner" )) {
89
+ if ("AdSizeType.SmartBanner" . equals ( adSizeType )) {
82
90
adSize = AdSize .SMART_BANNER ;
83
91
} else {
84
92
adSize = new AdSize (width , height );
@@ -142,28 +150,30 @@ private void callLoadRewardedVideoAd(MethodCall call, Result result) {
142
150
result .success (Boolean .TRUE );
143
151
}
144
152
145
- private void callShowAd (int id , MethodCall call , Result result ) {
153
+ private void callShowAd (Integer id , MethodCall call , Result result ) {
146
154
MobileAd ad = MobileAd .getAdForId (id );
147
155
if (ad == null ) {
148
156
result .error ("ad_not_loaded" , "show failed, the specified ad was not loaded id=" + id , null );
149
157
return ;
150
158
}
151
- if (call .argument ("anchorOffset" ) != null ) {
152
- ad .anchorOffset = Double .parseDouble ((String ) call .argument ("anchorOffset" ));
159
+ final String anchorOffset = call .argument ("anchorOffset" );
160
+ final String horizontalCenterOffset = call .argument ("horizontalCenterOffset" );
161
+ final String anchorType = call .argument ("anchorType" );
162
+ if (anchorOffset != null ) {
163
+ ad .anchorOffset = Double .parseDouble (anchorOffset );
153
164
}
154
- if (call .argument ("horizontalCenterOffset" ) != null ) {
155
- ad .horizontalCenterOffset =
156
- Double .parseDouble ((String ) call .argument ("horizontalCenterOffset" ));
165
+ if (anchorType != null ) {
166
+ ad .horizontalCenterOffset = Double .parseDouble (horizontalCenterOffset );
157
167
}
158
- if (call . argument ( " anchorType" ) != null ) {
159
- ad .anchorType = call . argument ( "anchorType" ) .equals ("bottom" ) ? Gravity .BOTTOM : Gravity .TOP ;
168
+ if (anchorType != null ) {
169
+ ad .anchorType = "bottom" .equals (anchorType ) ? Gravity .BOTTOM : Gravity .TOP ;
160
170
}
161
171
162
172
ad .show ();
163
173
result .success (Boolean .TRUE );
164
174
}
165
175
166
- private void callIsAdLoaded (int id , MethodCall call , Result result ) {
176
+ private void callIsAdLoaded (Integer id , Result result ) {
167
177
MobileAd ad = MobileAd .getAdForId (id );
168
178
if (ad == null ) {
169
179
result .error ("no_ad_for_id" , "isAdLoaded failed, no add exists for id=" + id , null );
@@ -172,7 +182,7 @@ private void callIsAdLoaded(int id, MethodCall call, Result result) {
172
182
result .success (ad .status == MobileAd .Status .LOADED ? Boolean .TRUE : Boolean .FALSE );
173
183
}
174
184
175
- private void callShowRewardedVideoAd (MethodCall call , Result result ) {
185
+ private void callShowRewardedVideoAd (Result result ) {
176
186
if (rewardedWrapper .getStatus () == RewardedVideoAdWrapper .Status .LOADED ) {
177
187
rewardedWrapper .show ();
178
188
result .success (Boolean .TRUE );
@@ -181,7 +191,7 @@ private void callShowRewardedVideoAd(MethodCall call, Result result) {
181
191
}
182
192
}
183
193
184
- private void callDisposeAd (int id , MethodCall call , Result result ) {
194
+ private void callDisposeAd (Integer id , Result result ) {
185
195
MobileAd ad = MobileAd .getAdForId (id );
186
196
if (ad == null ) {
187
197
result .error ("no_ad_for_id" , "dispose failed, no add exists for id=" + id , null );
@@ -194,10 +204,6 @@ private void callDisposeAd(int id, MethodCall call, Result result) {
194
204
195
205
@ Override
196
206
public void onMethodCall (MethodCall call , Result result ) {
197
- if (call .method .equals ("initialize" )) {
198
- callInitialize (call , result );
199
- return ;
200
- }
201
207
202
208
Activity activity = registrar .activity ();
203
209
if (activity == null ) {
@@ -208,8 +214,11 @@ public void onMethodCall(MethodCall call, Result result) {
208
214
Integer id = call .argument ("id" );
209
215
210
216
switch (call .method ) {
217
+ case "initialize" :
218
+ callInitialize (call , result );
219
+ break ;
211
220
case "loadBannerAd" :
212
- callLoadBannerAd (id , activity , channel , call , result );
221
+ callLoadBannerAd (id , activity , call , result );
213
222
break ;
214
223
case "loadInterstitialAd" :
215
224
callLoadInterstitialAd (MobileAd .createInterstitial (id , activity , channel ), call , result );
@@ -221,13 +230,13 @@ public void onMethodCall(MethodCall call, Result result) {
221
230
callShowAd (id , call , result );
222
231
break ;
223
232
case "showRewardedVideoAd" :
224
- callShowRewardedVideoAd (call , result );
233
+ callShowRewardedVideoAd (result );
225
234
break ;
226
235
case "disposeAd" :
227
- callDisposeAd (id , call , result );
236
+ callDisposeAd (id , result );
228
237
break ;
229
238
case "isAdLoaded" :
230
- callIsAdLoaded (id , call , result );
239
+ callIsAdLoaded (id , result );
231
240
break ;
232
241
default :
233
242
result .notImplemented ();
0 commit comments