public void onFinishFetchAd() { MoPubView view = mMoPubViewReference.get(); if (view != null) { view.removeAllViews(); mAdView.setVisibility(View.VISIBLE); FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams( FrameLayout.LayoutParams.WRAP_CONTENT, FrameLayout.LayoutParams.WRAP_CONTENT); layoutParams.gravity = Gravity.CENTER_HORIZONTAL | Gravity.CENTER_VERTICAL; view.addView(mAdView, layoutParams); view.adLoaded(); } }
public void loadAd() { MoPubView view = mMoPubViewReference.get(); if (view == null) { return; } mAdView = new GoogleAdView(view.getContext()); // The following parameters are required. Fail if they aren't set JSONObject object; String pubId; String companyName; String appName; try { object = (JSONObject) new JSONTokener(mParams).nextValue(); pubId = object.getString("Gclientid"); companyName = object.getString("Gcompanyname"); appName = object.getString("Gappname"); } catch (JSONException e) { view.adFailed(); return; } // The rest of the parameters are optional AdSenseSpec.AdType adtype = AdType.TEXT_IMAGE; Boolean testState = false; String keywords = ""; String channelId = ""; try { String at = object.getString("Gadtype"); if (at.equals("GADAdSenseTextAdType")) { adtype = AdType.TEXT; } else if (at.equals("GADAdSenseImageAdType")) { adtype = AdType.IMAGE; } } catch (JSONException e) { } try { testState = object.getString("Gtestadrequest").equals("1"); } catch (JSONException e) { } try { keywords = object.getString("Gkeywords"); } catch (JSONException e) { } try { channelId = object.getString("Gchannelids"); } catch (JSONException e) { } if (keywords == null || keywords.equals("")) { keywords = "None"; } AdSenseSpec adSenseSpec = new AdSenseSpec(pubId) // Specify client ID. (Required) .setCompanyName(companyName) // Set company name. (Required) .setAppName(appName) // Set application name. (Required) .setKeywords(keywords) // Specify keywords. .setChannel(channelId) // Set channel ID. .setAdType(adtype) // Set ad type to Text. // .setExpandDirection(AdSenseSpec.ExpandDirection.TOP) .setAdTestEnabled(testState); // Keep if (view.getAdWidth() == 300 && view.getAdHeight() == 250) { adSenseSpec.setAdFormat(AdFormat.FORMAT_300x250); } else { adSenseSpec.setAdFormat(AdFormat.FORMAT_320x50); } mAdView.setAdViewListener(this); Log.d("MoPub", "Showing AdSense ad..."); // The GoogleAdView has to be in the view hierarchy to make a request mAdView.setVisibility(View.INVISIBLE); view.addView( mAdView, new FrameLayout.LayoutParams( FrameLayout.LayoutParams.WRAP_CONTENT, FrameLayout.LayoutParams.WRAP_CONTENT)); mAdView.showAds(adSenseSpec); }