diff --git a/src/android/com/google/cordova/plugin/AdMobPlugin.java b/src/android/com/google/cordova/plugin/AdMobPlugin.java index 1e9e4e4..e3f285d 100755 --- a/src/android/com/google/cordova/plugin/AdMobPlugin.java +++ b/src/android/com/google/cordova/plugin/AdMobPlugin.java @@ -11,6 +11,7 @@ import org.json.JSONObject; import android.util.Log; +import android.view.View; import com.google.ads.Ad; import com.google.ads.AdListener; @@ -42,6 +43,7 @@ public class AdMobPlugin extends CordovaPlugin { public static final String ACTION_CREATE_INTERSTITIAL_VIEW = "createInterstitialView"; public static final String ACTION_REQUEST_AD = "requestAd"; public static final String KILL_AD = "killAd"; + public static final String SHOW_AD = "showAd"; /** * This is the main method for the AdMob plugin. All API calls go through @@ -73,6 +75,9 @@ public boolean execute(String action, JSONArray inputs, } else if (KILL_AD.equals(action)) { executeKillAd(callbackContext); return true; + } else if (SHOW_AD.equals(action)) { + executeShowAd(inputs,callbackContext); + return true; } else { Log.d(LOGTAG, String.format("Invalid action passed: %s", action)); callbackContext.error("Invalid Action"); @@ -365,6 +370,33 @@ public void run() { this.cordova.getActivity().runOnUiThread(runnable); } + + + private void executeShowAd(JSONArray inputs,final CallbackContext callbackContext) { + final boolean show; + if(adView!=null){ + // Get the input data. + try { + show = inputs.getBoolean( 0 ); + cordova.getActivity().runOnUiThread(new Runnable() { + public void run() { + if (show) { + adView.setVisibility(View.VISIBLE); + } else { + adView.setVisibility(View.GONE); + } + callbackContext.success(); + } + }); + } catch (JSONException exception) { + Log.w(LOGTAG, String.format("Got JSON Exception: %s", exception.getMessage())); + callbackContext.error("errInput"); + } + }else{ + callbackContext.error("errAdViewNull"); + } + + } /** * This class implements the AdMob ad listener events. It forwards the diff --git a/www/AdMobPlugin.js b/www/AdMobPlugin.js index 5987bcd..a9ed942 100755 --- a/www/AdMobPlugin.js +++ b/www/AdMobPlugin.js @@ -190,7 +190,18 @@ var admob = { failureCallback, 'AdMobPlugin', 'killAd',[{}]); - } + }, + + + showAd :function( show, successCallback, failureCallback) { + if (show === undefined) { + show = true; + }else{ + show=!!show; + } + cordova.exec(successCallback,failureCallback,'AdMobPlugin','showAd', [ show ]); + } + };