1414import io .flutter .plugin .common .MethodChannel .MethodCallHandler ;
1515import io .flutter .plugin .common .MethodChannel .Result ;
1616import io .flutter .plugin .common .PluginRegistry .Registrar ;
17+ import java .util .Locale ;
1718import java .util .Map ;
1819
1920public class FirebaseAdMobPlugin implements MethodCallHandler {
@@ -51,34 +52,41 @@ private void callInitialize(MethodCall call, Result result) {
5152 result .success (Boolean .TRUE );
5253 }
5354
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 ) {
5656 String adUnitId = call .argument ("adUnitId" );
5757 if (adUnitId == null || adUnitId .isEmpty ()) {
5858 result .error ("no_unit_id" , "a null or empty adUnitId was provided for ad id=" + id , null );
5959 return ;
6060 }
6161
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" );
6565
66- if (!adSizeType . equals ( "AdSizeType.WidthAndHeight" )
67- && !adSizeType . equals ( "AdSizeType.SmartBanner" )) {
66+ if (!"AdSizeType.WidthAndHeight" . equals ( adSizeType )
67+ && !"AdSizeType.SmartBanner" . equals ( adSizeType )) {
6868 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 );
7074 result .error ("invalid_adsizetype" , errMsg , null );
7175 }
7276
73- if (adSizeType . equals ( "AdSizeType.WidthAndHeight" ) && (width <= 0 || height <= 0 )) {
77+ if ("AdSizeType.WidthAndHeight" . equals ( adSizeType ) && (width <= 0 || height <= 0 )) {
7478 String errMsg =
7579 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 );
7785 result .error ("invalid_adsize" , errMsg , null );
7886 }
7987
8088 AdSize adSize ;
81- if (adSizeType . equals ( "AdSizeType.SmartBanner" )) {
89+ if ("AdSizeType.SmartBanner" . equals ( adSizeType )) {
8290 adSize = AdSize .SMART_BANNER ;
8391 } else {
8492 adSize = new AdSize (width , height );
@@ -142,28 +150,30 @@ private void callLoadRewardedVideoAd(MethodCall call, Result result) {
142150 result .success (Boolean .TRUE );
143151 }
144152
145- private void callShowAd (int id , MethodCall call , Result result ) {
153+ private void callShowAd (Integer id , MethodCall call , Result result ) {
146154 MobileAd ad = MobileAd .getAdForId (id );
147155 if (ad == null ) {
148156 result .error ("ad_not_loaded" , "show failed, the specified ad was not loaded id=" + id , null );
149157 return ;
150158 }
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 );
153164 }
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 );
157167 }
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 ;
160170 }
161171
162172 ad .show ();
163173 result .success (Boolean .TRUE );
164174 }
165175
166- private void callIsAdLoaded (int id , MethodCall call , Result result ) {
176+ private void callIsAdLoaded (Integer id , Result result ) {
167177 MobileAd ad = MobileAd .getAdForId (id );
168178 if (ad == null ) {
169179 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) {
172182 result .success (ad .status == MobileAd .Status .LOADED ? Boolean .TRUE : Boolean .FALSE );
173183 }
174184
175- private void callShowRewardedVideoAd (MethodCall call , Result result ) {
185+ private void callShowRewardedVideoAd (Result result ) {
176186 if (rewardedWrapper .getStatus () == RewardedVideoAdWrapper .Status .LOADED ) {
177187 rewardedWrapper .show ();
178188 result .success (Boolean .TRUE );
@@ -181,7 +191,7 @@ private void callShowRewardedVideoAd(MethodCall call, Result result) {
181191 }
182192 }
183193
184- private void callDisposeAd (int id , MethodCall call , Result result ) {
194+ private void callDisposeAd (Integer id , Result result ) {
185195 MobileAd ad = MobileAd .getAdForId (id );
186196 if (ad == null ) {
187197 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) {
194204
195205 @ Override
196206 public void onMethodCall (MethodCall call , Result result ) {
197- if (call .method .equals ("initialize" )) {
198- callInitialize (call , result );
199- return ;
200- }
201207
202208 Activity activity = registrar .activity ();
203209 if (activity == null ) {
@@ -208,8 +214,11 @@ public void onMethodCall(MethodCall call, Result result) {
208214 Integer id = call .argument ("id" );
209215
210216 switch (call .method ) {
217+ case "initialize" :
218+ callInitialize (call , result );
219+ break ;
211220 case "loadBannerAd" :
212- callLoadBannerAd (id , activity , channel , call , result );
221+ callLoadBannerAd (id , activity , call , result );
213222 break ;
214223 case "loadInterstitialAd" :
215224 callLoadInterstitialAd (MobileAd .createInterstitial (id , activity , channel ), call , result );
@@ -221,13 +230,13 @@ public void onMethodCall(MethodCall call, Result result) {
221230 callShowAd (id , call , result );
222231 break ;
223232 case "showRewardedVideoAd" :
224- callShowRewardedVideoAd (call , result );
233+ callShowRewardedVideoAd (result );
225234 break ;
226235 case "disposeAd" :
227- callDisposeAd (id , call , result );
236+ callDisposeAd (id , result );
228237 break ;
229238 case "isAdLoaded" :
230- callIsAdLoaded (id , call , result );
239+ callIsAdLoaded (id , result );
231240 break ;
232241 default :
233242 result .notImplemented ();
0 commit comments