com.google.android.gms.ads.formats.UnifiedNativeAdView Java Examples
The following examples show how to use
com.google.android.gms.ads.formats.UnifiedNativeAdView.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: UnifiedNativeAdViewHolder.java From admob-native-advanced-feed with Apache License 2.0 | 6 votes |
UnifiedNativeAdViewHolder(View view) { super(view); adView = (UnifiedNativeAdView) view.findViewById(R.id.ad_view); // The MediaView will display a video asset if one is present in the ad, and the // first image asset otherwise. adView.setMediaView((MediaView) adView.findViewById(R.id.ad_media)); // Register the view used for each individual asset. adView.setHeadlineView(adView.findViewById(R.id.ad_headline)); adView.setBodyView(adView.findViewById(R.id.ad_body)); adView.setCallToActionView(adView.findViewById(R.id.ad_call_to_action)); adView.setIconView(adView.findViewById(R.id.ad_icon)); adView.setPriceView(adView.findViewById(R.id.ad_price)); adView.setStarRatingView(adView.findViewById(R.id.ad_stars)); adView.setStoreView(adView.findViewById(R.id.ad_store)); adView.setAdvertiserView(adView.findViewById(R.id.ad_advertiser)); }
Example #2
Source File: AdMobNativeAdResponse.java From mobile-sdk-android with Apache License 2.0 | 6 votes |
@Override protected boolean registerView(View view, NativeAdEventListener listener) { if (view != null && !registered && !expired) { try { adView = (UnifiedNativeAdView) view; } catch (ClassCastException e) { Clog.w(Clog.mediationLogTag, "The view registered for AdMob UnifiedNativeAd has to be a subclass of com.google.android.gms.ads.formats.UnifiedNativeAdView"); } if (adView != null) { adView.setNativeAd(nativeAd); // no way to pass on click action to listener this.listener = listener; registered = true; if(nativeExpireHandler !=null) { nativeExpireHandler.removeCallbacks(runnable); } return true; } } return false; }
Example #3
Source File: TemplateView.java From googleads-mobile-android-native-templates with Apache License 2.0 | 6 votes |
@Override public void onFinishInflate() { super.onFinishInflate(); nativeAdView = (UnifiedNativeAdView) findViewById(R.id.native_ad_view); primaryView = (TextView) findViewById(R.id.primary); secondaryView = (TextView) findViewById(R.id.secondary); tertiaryView = (TextView) findViewById(R.id.body); ratingBar = (RatingBar) findViewById(R.id.rating_bar); ratingBar.setEnabled(false); callToActionView = (Button) findViewById(R.id.cta); iconView = (ImageView) findViewById(R.id.icon); mediaView = (MediaView) findViewById(R.id.media_view); background = (ConstraintLayout) findViewById(R.id.background); }
Example #4
Source File: StoriesListAdapter.java From Instagram-Profile-Downloader with MIT License | 6 votes |
private void populateNativeAdView(UnifiedNativeAd nativeAd, UnifiedNativeAdView adView) { // Some assets are guaranteed to be in every UnifiedNativeAd. ((TextView) adView.getHeadlineView()).setText(nativeAd.getHeadline()); ((Button) adView.getCallToActionView()).setText(nativeAd.getCallToAction()); // These assets aren't guaranteed to be in every UnifiedNativeAd, so it's important to // check before trying to display them. NativeAd.Image icon = nativeAd.getIcon(); if (icon == null) { adView.getIconView().setVisibility(View.INVISIBLE); } else { ((ImageView) adView.getIconView()).setImageDrawable(icon.getDrawable()); adView.getIconView().setVisibility(View.VISIBLE); } // Assign native ad object to the native view. adView.setNativeAd(nativeAd); }
Example #5
Source File: StoriesOverViewAdapter.java From Instagram-Profile-Downloader with MIT License | 6 votes |
private void populateNativeAdView(UnifiedNativeAd nativeAd, UnifiedNativeAdView adView) { // Some assets are guaranteed to be in every UnifiedNativeAd. ((TextView) adView.getHeadlineView()).setText(nativeAd.getHeadline()); ((TextView) adView.getBodyView()).setText(nativeAd.getBody()); ((Button) adView.getCallToActionView()).setText(nativeAd.getCallToAction()); // These assets aren't guaranteed to be in every UnifiedNativeAd, so it's important to // check before trying to display them. NativeAd.Image icon = nativeAd.getIcon(); if (icon == null) { adView.getIconView().setVisibility(View.INVISIBLE); } else { ((ImageView) adView.getIconView()).setImageDrawable(icon.getDrawable()); adView.getIconView().setVisibility(View.VISIBLE); } // Assign native ad object to the native view. adView.setNativeAd(nativeAd); }
Example #6
Source File: UnifiedNativeAdViewHolder.java From Instagram-Profile-Downloader with MIT License | 5 votes |
public UnifiedNativeAdViewHolder(View view) { super(view); adView = (UnifiedNativeAdView) view.findViewById(R.id.ad_view); // Register the view used for each individual asset. adView.setHeadlineView(adView.findViewById(R.id.headline)); adView.setBodyView(adView.findViewById(R.id.body)); adView.setCallToActionView(adView.findViewById(R.id.viewAdd)); adView.setIconView(adView.findViewById(R.id.image)); }
Example #7
Source File: StoriesNativeAdView.java From Instagram-Profile-Downloader with MIT License | 5 votes |
public StoriesNativeAdView(View view) { super(view); adView = (UnifiedNativeAdView) view.findViewById(R.id.ad_view); // Register the view used for each individual asset. adView.setHeadlineView(adView.findViewById(R.id.body)); adView.setCallToActionView(adView.findViewById(R.id.viewAdd)); adView.setIconView(adView.findViewById(R.id.image)); }
Example #8
Source File: UnifiedNativeAdViewHolder.java From Instagram-Profile-Downloader with MIT License | 4 votes |
public UnifiedNativeAdView getAdView() { return adView; }
Example #9
Source File: TemplateView.java From googleads-mobile-android-native-templates with Apache License 2.0 | 4 votes |
public UnifiedNativeAdView getNativeAdView() { return nativeAdView; }
Example #10
Source File: UnifiedNativeAdViewHolder.java From admob-native-advanced-feed with Apache License 2.0 | 4 votes |
public UnifiedNativeAdView getAdView() { return adView; }
Example #11
Source File: StoriesNativeAdView.java From Instagram-Profile-Downloader with MIT License | 4 votes |
public UnifiedNativeAdView getAdView() { return adView; }
Example #12
Source File: RecyclerViewAdapter.java From admob-native-advanced-feed with Apache License 2.0 | 4 votes |
private void populateNativeAdView(UnifiedNativeAd nativeAd, UnifiedNativeAdView adView) { // Some assets are guaranteed to be in every UnifiedNativeAd. ((TextView) adView.getHeadlineView()).setText(nativeAd.getHeadline()); ((TextView) adView.getBodyView()).setText(nativeAd.getBody()); ((Button) adView.getCallToActionView()).setText(nativeAd.getCallToAction()); // These assets aren't guaranteed to be in every UnifiedNativeAd, so it's important to // check before trying to display them. NativeAd.Image icon = nativeAd.getIcon(); if (icon == null) { adView.getIconView().setVisibility(View.INVISIBLE); } else { ((ImageView) adView.getIconView()).setImageDrawable(icon.getDrawable()); adView.getIconView().setVisibility(View.VISIBLE); } if (nativeAd.getPrice() == null) { adView.getPriceView().setVisibility(View.INVISIBLE); } else { adView.getPriceView().setVisibility(View.VISIBLE); ((TextView) adView.getPriceView()).setText(nativeAd.getPrice()); } if (nativeAd.getStore() == null) { adView.getStoreView().setVisibility(View.INVISIBLE); } else { adView.getStoreView().setVisibility(View.VISIBLE); ((TextView) adView.getStoreView()).setText(nativeAd.getStore()); } if (nativeAd.getStarRating() == null) { adView.getStarRatingView().setVisibility(View.INVISIBLE); } else { ((RatingBar) adView.getStarRatingView()) .setRating(nativeAd.getStarRating().floatValue()); adView.getStarRatingView().setVisibility(View.VISIBLE); } if (nativeAd.getAdvertiser() == null) { adView.getAdvertiserView().setVisibility(View.INVISIBLE); } else { ((TextView) adView.getAdvertiserView()).setText(nativeAd.getAdvertiser()); adView.getAdvertiserView().setVisibility(View.VISIBLE); } // Assign native ad object to the native view. adView.setNativeAd(nativeAd); }
Example #13
Source File: MainActivity.java From googleads-mobile-android-mediation with Apache License 2.0 | 4 votes |
/** * Populates a {@link UnifiedNativeAdView} object with data from a given {@link UnifiedNativeAd}. * * @param nativeAd the object containing the ad's assets * @param adView the view to be populated */ private void populateUnifiedNativeAdView(UnifiedNativeAd nativeAd, UnifiedNativeAdView adView) { // Set the media view. Media content will be automatically populated in the media view once // adView.setNativeAd() is called. MediaView mediaView = adView.findViewById(R.id.ad_media); adView.setMediaView(mediaView); // Set other ad assets. adView.setHeadlineView(adView.findViewById(R.id.ad_headline)); adView.setBodyView(adView.findViewById(R.id.ad_body)); adView.setCallToActionView(adView.findViewById(R.id.ad_call_to_action)); adView.setIconView(adView.findViewById(R.id.ad_app_icon)); adView.setPriceView(adView.findViewById(R.id.ad_price)); adView.setStarRatingView(adView.findViewById(R.id.ad_stars)); adView.setStoreView(adView.findViewById(R.id.ad_store)); adView.setAdvertiserView(adView.findViewById(R.id.ad_advertiser)); // The headline is guaranteed to be in every UnifiedNativeAd. ((TextView) adView.getHeadlineView()).setText(nativeAd.getHeadline()); // These assets aren't guaranteed to be in every UnifiedNativeAd, so it's important to // check before trying to display them. if (nativeAd.getBody() == null) { adView.getBodyView().setVisibility(View.INVISIBLE); } else { adView.getBodyView().setVisibility(View.VISIBLE); ((TextView) adView.getBodyView()).setText(nativeAd.getBody()); } if (nativeAd.getCallToAction() == null) { adView.getCallToActionView().setVisibility(View.INVISIBLE); } else { adView.getCallToActionView().setVisibility(View.VISIBLE); ((Button) adView.getCallToActionView()).setText(nativeAd.getCallToAction()); } if (nativeAd.getIcon() == null) { adView.getIconView().setVisibility(View.GONE); } else { ((ImageView) adView.getIconView()).setImageDrawable( nativeAd.getIcon().getDrawable()); adView.getIconView().setVisibility(View.VISIBLE); } if (nativeAd.getPrice() == null) { adView.getPriceView().setVisibility(View.INVISIBLE); } else { adView.getPriceView().setVisibility(View.VISIBLE); ((TextView) adView.getPriceView()).setText(nativeAd.getPrice()); } if (nativeAd.getStore() == null) { adView.getStoreView().setVisibility(View.INVISIBLE); } else { adView.getStoreView().setVisibility(View.VISIBLE); ((TextView) adView.getStoreView()).setText(nativeAd.getStore()); } if (nativeAd.getStarRating() == null || nativeAd.getStarRating() < 3) { adView.getStarRatingView().setVisibility(View.INVISIBLE); } else { ((RatingBar) adView.getStarRatingView()) .setRating(nativeAd.getStarRating().floatValue()); adView.getStarRatingView().setVisibility(View.VISIBLE); } if (nativeAd.getAdvertiser() == null) { adView.getAdvertiserView().setVisibility(View.INVISIBLE); } else { ((TextView) adView.getAdvertiserView()).setText(nativeAd.getAdvertiser()); adView.getAdvertiserView().setVisibility(View.VISIBLE); } // This method tells the Google Mobile Ads SDK that you have finished populating your // native ad view with this native ad. The SDK will populate the adView's MediaView // with the media content from this native ad. adView.setNativeAd(nativeAd); }
Example #14
Source File: MainActivity.java From android-ads with Apache License 2.0 | 4 votes |
/** * Creates a request for a new native ad based on the boolean parameters and calls the * corresponding "populate" method when one is successfully returned. * */ private void refreshAd() { refresh.setEnabled(false); AdLoader.Builder builder = new AdLoader.Builder(this, ADMOB_AD_UNIT_ID); builder.forUnifiedNativeAd(new UnifiedNativeAd.OnUnifiedNativeAdLoadedListener() { // OnUnifiedNativeAdLoadedListener implementation. @Override public void onUnifiedNativeAdLoaded(UnifiedNativeAd unifiedNativeAd) { // You must call destroy on old ads when you are done with them, // otherwise you will have a memory leak. if (nativeAd != null) { nativeAd.destroy(); } nativeAd = unifiedNativeAd; FrameLayout frameLayout = findViewById(R.id.fl_adplaceholder); UnifiedNativeAdView adView = (UnifiedNativeAdView) getLayoutInflater() .inflate(R.layout.ad_unified, null); populateUnifiedNativeAdView(unifiedNativeAd, adView); frameLayout.removeAllViews(); frameLayout.addView(adView); } }); VideoOptions videoOptions = new VideoOptions.Builder() .setStartMuted(startVideoAdsMuted.isChecked()) .build(); NativeAdOptions adOptions = new NativeAdOptions.Builder() .setVideoOptions(videoOptions) .build(); builder.withNativeAdOptions(adOptions); AdLoader adLoader = builder.withAdListener(new AdListener() { @Override public void onAdFailedToLoad(int errorCode) { refresh.setEnabled(true); Toast.makeText(MainActivity.this, "Failed to load native ad: " + errorCode, Toast.LENGTH_SHORT).show(); } }).build(); adLoader.loadAd(new AdRequest.Builder().build()); videoStatus.setText(""); }
Example #15
Source File: AdMobCustomMuteThisAdFragment.java From android-ads with Apache License 2.0 | 4 votes |
/** * Populates a {@link UnifiedNativeAdView} object with data from a given * {@link UnifiedNativeAd}. * * @param nativeAd the object containing the ad's assets * @param adView the view to be populated */ private void populateUnifiedNativeAdView(UnifiedNativeAd nativeAd, UnifiedNativeAdView adView) { MediaView mediaView = adView.findViewById(R.id.ad_media); adView.setMediaView(mediaView); adView.setHeadlineView(adView.findViewById(R.id.ad_headline)); adView.setBodyView(adView.findViewById(R.id.ad_body)); adView.setCallToActionView(adView.findViewById(R.id.ad_call_to_action)); adView.setIconView(adView.findViewById(R.id.ad_app_icon)); adView.setPriceView(adView.findViewById(R.id.ad_price)); adView.setStarRatingView(adView.findViewById(R.id.ad_stars)); adView.setStoreView(adView.findViewById(R.id.ad_store)); adView.setAdvertiserView(adView.findViewById(R.id.ad_advertiser)); ((TextView) adView.getHeadlineView()).setText(nativeAd.getHeadline()); if (nativeAd.getBody() == null) { adView.getBodyView().setVisibility(View.INVISIBLE); } else { ((TextView) adView.getBodyView()).setText(nativeAd.getBody()); adView.getBodyView().setVisibility(View.VISIBLE); } if (nativeAd.getCallToAction() == null) { adView.getCallToActionView().setVisibility(View.INVISIBLE); } else { ((Button) adView.getCallToActionView()).setText(nativeAd.getCallToAction()); adView.getCallToActionView().setVisibility(View.VISIBLE); } if (nativeAd.getIcon() == null) { adView.getIconView().setVisibility(View.GONE); } else { ((ImageView) adView.getIconView()).setImageDrawable( nativeAd.getIcon().getDrawable()); adView.getIconView().setVisibility(View.VISIBLE); } if (nativeAd.getPrice() == null) { adView.getPriceView().setVisibility(View.INVISIBLE); } else { ((TextView) adView.getPriceView()).setText(nativeAd.getPrice()); adView.getPriceView().setVisibility(View.VISIBLE); } if (nativeAd.getStore() == null) { adView.getStoreView().setVisibility(View.INVISIBLE); } else { ((TextView) adView.getStoreView()).setText(nativeAd.getStore()); adView.getStoreView().setVisibility(View.VISIBLE); } if (nativeAd.getStarRating() == null) { adView.getStarRatingView().setVisibility(View.INVISIBLE); } else { ((RatingBar) adView.getStarRatingView()) .setRating(nativeAd.getStarRating().floatValue()); adView.getStarRatingView().setVisibility(View.VISIBLE); } if (nativeAd.getAdvertiser() == null) { adView.getAdvertiserView().setVisibility(View.INVISIBLE); } else { ((TextView) adView.getAdvertiserView()).setText(nativeAd.getAdvertiser()); adView.getAdvertiserView().setVisibility(View.VISIBLE); } adView.setNativeAd(nativeAd); VideoController vc = nativeAd.getVideoController(); if (vc.hasVideoContent()) { vc.setVideoLifecycleCallbacks(new VideoController.VideoLifecycleCallbacks() { @Override public void onVideoEnd() { refresh.setEnabled(true); super.onVideoEnd(); } }); } else { refresh.setEnabled(true); } }
Example #16
Source File: AdMobCustomMuteThisAdFragment.java From android-ads with Apache License 2.0 | 4 votes |
/** * Creates a request for a new unified native ad based on the boolean parameters and calls the * "populateUnifiedNativeAdView" method when one is successfully returned. */ private void refreshAd() { refresh.setEnabled(false); muteButton.setEnabled(false); Resources resources = getActivity().getResources(); AdLoader.Builder builder = new AdLoader.Builder(getActivity(), resources.getString(R.string.custommute_fragment_ad_unit_id)); builder.forUnifiedNativeAd(new UnifiedNativeAd.OnUnifiedNativeAdLoadedListener() { // OnUnifiedNativeAdLoadedListener implementation. @Override public void onUnifiedNativeAdLoaded(UnifiedNativeAd unifiedNativeAd) { AdMobCustomMuteThisAdFragment.this.nativeAd = unifiedNativeAd; muteButton.setEnabled(unifiedNativeAd.isCustomMuteThisAdEnabled()); nativeAd.setMuteThisAdListener(new MuteThisAdListener() { @Override public void onAdMuted() { muteAd(); Toast.makeText(getActivity(), "Ad muted", Toast.LENGTH_SHORT).show(); } }); UnifiedNativeAdView adView = (UnifiedNativeAdView) getLayoutInflater() .inflate(R.layout.ad_unified, null); populateUnifiedNativeAdView(unifiedNativeAd, adView); adContainer.removeAllViews(); adContainer.addView(adView); } }); NativeAdOptions adOptions = new NativeAdOptions.Builder() .setRequestCustomMuteThisAd(true) .build(); builder.withNativeAdOptions(adOptions); AdLoader adLoader = builder.withAdListener(new AdListener() { @Override public void onAdFailedToLoad(int errorCode) { refresh.setEnabled(true); Toast.makeText(getActivity(), "Failed to load native ad: " + errorCode, Toast.LENGTH_SHORT).show(); } }).build(); adLoader.loadAd(new AdRequest.Builder().build()); }
Example #17
Source File: MainActivity.java From googleads-mobile-android-examples with Apache License 2.0 | 4 votes |
/** * Creates a request for a new native ad based on the boolean parameters and calls the * corresponding "populate" method when one is successfully returned. * */ private void refreshAd() { refresh.setEnabled(false); AdLoader.Builder builder = new AdLoader.Builder(this, ADMOB_AD_UNIT_ID); builder.forUnifiedNativeAd(new UnifiedNativeAd.OnUnifiedNativeAdLoadedListener() { // OnUnifiedNativeAdLoadedListener implementation. @Override public void onUnifiedNativeAdLoaded(UnifiedNativeAd unifiedNativeAd) { // If this callback occurs after the activity is destroyed, you must call // destroy and return or you may get a memory leak. if (isDestroyed()) { unifiedNativeAd.destroy(); return; } // You must call destroy on old ads when you are done with them, // otherwise you will have a memory leak. if (nativeAd != null) { nativeAd.destroy(); } nativeAd = unifiedNativeAd; FrameLayout frameLayout = findViewById(R.id.fl_adplaceholder); UnifiedNativeAdView adView = (UnifiedNativeAdView) getLayoutInflater() .inflate(R.layout.ad_unified, null); populateUnifiedNativeAdView(unifiedNativeAd, adView); frameLayout.removeAllViews(); frameLayout.addView(adView); } }); VideoOptions videoOptions = new VideoOptions.Builder() .setStartMuted(startVideoAdsMuted.isChecked()) .build(); NativeAdOptions adOptions = new NativeAdOptions.Builder() .setVideoOptions(videoOptions) .build(); builder.withNativeAdOptions(adOptions); AdLoader adLoader = builder.withAdListener(new AdListener() { @Override public void onAdFailedToLoad(int errorCode) { refresh.setEnabled(true); Toast.makeText(MainActivity.this, "Failed to load native ad: " + errorCode, Toast.LENGTH_SHORT).show(); } }).build(); adLoader.loadAd(new AdRequest.Builder().build()); videoStatus.setText(""); }
Example #18
Source File: AdMobCustomMuteThisAdFragment.java From googleads-mobile-android-examples with Apache License 2.0 | 4 votes |
/** * Populates a {@link UnifiedNativeAdView} object with data from a given * {@link UnifiedNativeAd}. * * @param nativeAd the object containing the ad's assets * @param adView the view to be populated */ private void populateUnifiedNativeAdView(UnifiedNativeAd nativeAd, UnifiedNativeAdView adView) { adView.setMediaView((MediaView) adView.findViewById(R.id.ad_media)); adView.setHeadlineView(adView.findViewById(R.id.ad_headline)); adView.setBodyView(adView.findViewById(R.id.ad_body)); adView.setCallToActionView(adView.findViewById(R.id.ad_call_to_action)); adView.setIconView(adView.findViewById(R.id.ad_app_icon)); adView.setPriceView(adView.findViewById(R.id.ad_price)); adView.setStarRatingView(adView.findViewById(R.id.ad_stars)); adView.setStoreView(adView.findViewById(R.id.ad_store)); adView.setAdvertiserView(adView.findViewById(R.id.ad_advertiser)); ((TextView) adView.getHeadlineView()).setText(nativeAd.getHeadline()); adView.getMediaView().setMediaContent(nativeAd.getMediaContent()); if (nativeAd.getBody() == null) { adView.getBodyView().setVisibility(View.INVISIBLE); } else { ((TextView) adView.getBodyView()).setText(nativeAd.getBody()); adView.getBodyView().setVisibility(View.VISIBLE); } if (nativeAd.getCallToAction() == null) { adView.getCallToActionView().setVisibility(View.INVISIBLE); } else { ((Button) adView.getCallToActionView()).setText(nativeAd.getCallToAction()); adView.getCallToActionView().setVisibility(View.VISIBLE); } if (nativeAd.getIcon() == null) { adView.getIconView().setVisibility(View.GONE); } else { ((ImageView) adView.getIconView()).setImageDrawable( nativeAd.getIcon().getDrawable()); adView.getIconView().setVisibility(View.VISIBLE); } if (nativeAd.getPrice() == null) { adView.getPriceView().setVisibility(View.INVISIBLE); } else { ((TextView) adView.getPriceView()).setText(nativeAd.getPrice()); adView.getPriceView().setVisibility(View.VISIBLE); } if (nativeAd.getStore() == null) { adView.getStoreView().setVisibility(View.INVISIBLE); } else { ((TextView) adView.getStoreView()).setText(nativeAd.getStore()); adView.getStoreView().setVisibility(View.VISIBLE); } if (nativeAd.getStarRating() == null) { adView.getStarRatingView().setVisibility(View.INVISIBLE); } else { ((RatingBar) adView.getStarRatingView()) .setRating(nativeAd.getStarRating().floatValue()); adView.getStarRatingView().setVisibility(View.VISIBLE); } if (nativeAd.getAdvertiser() == null) { adView.getAdvertiserView().setVisibility(View.INVISIBLE); } else { ((TextView) adView.getAdvertiserView()).setText(nativeAd.getAdvertiser()); adView.getAdvertiserView().setVisibility(View.VISIBLE); } adView.setNativeAd(nativeAd); VideoController vc = nativeAd.getVideoController(); if (vc.hasVideoContent()) { vc.setVideoLifecycleCallbacks(new VideoController.VideoLifecycleCallbacks() { @Override public void onVideoEnd() { refresh.setEnabled(true); super.onVideoEnd(); } }); } else { refresh.setEnabled(true); } }
Example #19
Source File: AdMobCustomMuteThisAdFragment.java From googleads-mobile-android-examples with Apache License 2.0 | 4 votes |
/** * Creates a request for a new unified native ad based on the boolean parameters and calls the * "populateUnifiedNativeAdView" method when one is successfully returned. */ private void refreshAd() { refresh.setEnabled(false); muteButton.setEnabled(false); Resources resources = getActivity().getResources(); AdLoader.Builder builder = new AdLoader.Builder(getActivity(), resources.getString(R.string.custommute_fragment_ad_unit_id)); builder.forUnifiedNativeAd(new UnifiedNativeAd.OnUnifiedNativeAdLoadedListener() { // OnUnifiedNativeAdLoadedListener implementation. @Override public void onUnifiedNativeAdLoaded(UnifiedNativeAd unifiedNativeAd) { AdMobCustomMuteThisAdFragment.this.nativeAd = unifiedNativeAd; muteButton.setEnabled(unifiedNativeAd.isCustomMuteThisAdEnabled()); nativeAd.setMuteThisAdListener(new MuteThisAdListener() { @Override public void onAdMuted() { muteAd(); Toast.makeText(getActivity(), "Ad muted", Toast.LENGTH_SHORT).show(); } }); UnifiedNativeAdView adView = (UnifiedNativeAdView) getLayoutInflater() .inflate(R.layout.ad_unified, null); populateUnifiedNativeAdView(unifiedNativeAd, adView); adContainer.removeAllViews(); adContainer.addView(adView); } }); NativeAdOptions adOptions = new NativeAdOptions.Builder() .setRequestCustomMuteThisAd(true) .build(); builder.withNativeAdOptions(adOptions); AdLoader adLoader = builder.withAdListener(new AdListener() { @Override public void onAdFailedToLoad(int errorCode) { refresh.setEnabled(true); Toast.makeText(getActivity(), "Failed to load native ad: " + errorCode, Toast.LENGTH_SHORT).show(); } }).build(); adLoader.loadAd(new AdRequest.Builder().build()); }