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 vote down vote up
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 vote down vote up
@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 vote down vote up
@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 vote down vote up
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 vote down vote up
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 vote down vote up
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 vote down vote up
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 vote down vote up
public UnifiedNativeAdView getAdView() {
    return adView;
}
 
Example #9
Source File: TemplateView.java    From googleads-mobile-android-native-templates with Apache License 2.0 4 votes vote down vote up
public UnifiedNativeAdView getNativeAdView() {
  return nativeAdView;
}
 
Example #10
Source File: UnifiedNativeAdViewHolder.java    From admob-native-advanced-feed with Apache License 2.0 4 votes vote down vote up
public UnifiedNativeAdView getAdView() {
    return adView;
}
 
Example #11
Source File: StoriesNativeAdView.java    From Instagram-Profile-Downloader with MIT License 4 votes vote down vote up
public UnifiedNativeAdView getAdView() {
    return adView;
}
 
Example #12
Source File: RecyclerViewAdapter.java    From admob-native-advanced-feed with Apache License 2.0 4 votes vote down vote up
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 vote down vote up
/**
 * 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 vote down vote up
/**
 * 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 vote down vote up
/**
 * 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 vote down vote up
/**
 * 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 vote down vote up
/**
 * 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 vote down vote up
/**
 * 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 vote down vote up
/**
 * 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());
}