use of com.mopub.nativeads.AdapterHelper in project mopub-android-mediation by mopub.
the class NativeManualFragment method onCreateView.
@Override
public View onCreateView(final LayoutInflater inflater, @Nullable final ViewGroup container, @Nullable final Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState);
final View view = inflater.inflate(R.layout.native_manual_fragment, container, false);
final DetailFragmentViewHolder viewHolder = DetailFragmentViewHolder.fromView(view);
mAdConfiguration = MoPubSampleAdUnit.fromBundle(getArguments());
mAdContainer = view.findViewById(R.id.parent_view);
viewHolder.mLoadButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(final View v) {
updateRequestParameters(viewHolder);
if (mAdContainer != null) {
mAdContainer.removeAllViews();
}
if (mMoPubNative != null) {
mMoPubNative.makeRequest(mRequestParameters);
} else {
logToast(getActivity(), getName() + " failed to load. MoPubNative instance is null.");
}
}
});
String adUnitId = null;
if (mAdConfiguration != null) {
adUnitId = mAdConfiguration.getAdUnitId();
}
viewHolder.mDescriptionView.setText(mAdConfiguration.getDescription());
viewHolder.mAdUnitIdView.setText(adUnitId);
viewHolder.mKeywordsField.setText(getArguments().getString(MoPubListFragment.KEYWORDS_KEY, ""));
viewHolder.mUserDataKeywordsField.setText(getArguments().getString(MoPubListFragment.USER_DATA_KEYWORDS_KEY, ""));
updateRequestParameters(viewHolder);
mMoPubNative = new MoPubNative(getContext(), adUnitId, new MoPubNative.MoPubNativeNetworkListener() {
@Override
public void onNativeLoad(NativeAd nativeAd) {
NativeAd.MoPubNativeEventListener moPubNativeEventListener = new NativeAd.MoPubNativeEventListener() {
@Override
public void onImpression(View view) {
// The ad has registered an impression. You may call any app logic that
// depends on having the ad view shown.
logToast(getActivity(), getName() + " impressed.");
}
@Override
public void onClick(View view) {
logToast(getActivity(), getName() + " clicked.");
}
};
// In a manual integration, any interval that is at least 2 is acceptable
final AdapterHelper adapterHelper = new AdapterHelper(getContext(), 0, 2);
final View adView;
adView = adapterHelper.getAdView(null, null, nativeAd, new ViewBinder.Builder(0).build());
nativeAd.setMoPubNativeEventListener(moPubNativeEventListener);
if (mAdContainer != null) {
mAdContainer.addView(adView);
} else {
logToast(getActivity(), getName() + " failed to show. Ad container is null.");
}
}
@Override
public void onNativeFail(NativeErrorCode errorCode) {
logToast(getActivity(), getName() + " failed to load: " + errorCode.toString());
}
});
MoPubStaticNativeAdRenderer moPubStaticNativeAdRenderer = new MoPubStaticNativeAdRenderer(new ViewBinder.Builder(R.layout.native_ad_list_item).titleId(R.id.native_title).textId(R.id.native_text).mainImageId(R.id.native_main_image).iconImageId(R.id.native_icon_image).callToActionId(R.id.native_cta).privacyInformationIconImageId(R.id.native_privacy_information_icon_image).sponsoredTextId(R.id.native_sponsored_text_view).build());
// Set up a renderer for Facebook ads.
final FacebookAdRenderer facebookAdRenderer = new FacebookAdRenderer(new FacebookAdRenderer.FacebookViewBinder.Builder(R.layout.native_ad_fan_list_item).titleId(R.id.native_title).textId(R.id.native_text).mediaViewId(R.id.native_media_view).adIconViewId(R.id.native_icon).callToActionId(R.id.native_cta).adChoicesRelativeLayoutId(R.id.native_privacy_information_icon_layout).build());
// Set up a renderer for AdMob ads.
final GooglePlayServicesAdRenderer googlePlayServicesAdRenderer = new GooglePlayServicesAdRenderer(new GooglePlayServicesViewBinder.Builder(R.layout.video_ad_list_item).titleId(R.id.native_title).textId(R.id.native_text).mediaLayoutId(R.id.native_media_layout).iconImageId(R.id.native_icon_image).callToActionId(R.id.native_cta).privacyInformationIconImageId(R.id.native_privacy_information_icon_image).build());
// Set up a renderer for Verizon ads.
final VerizonNativeAdRenderer verizonNativeAdRenderer = new VerizonNativeAdRenderer(new ViewBinder.Builder(R.layout.native_ad_list_item).titleId(R.id.native_title).textId(R.id.native_text).mainImageId(R.id.native_main_image).iconImageId(R.id.native_icon_image).callToActionId(R.id.native_cta).privacyInformationIconImageId(R.id.native_privacy_information_icon_image).build());
// Set up a renderer for Pangle ads.
final PangleAdRenderer pangleAdRenderer = new PangleAdRenderer(new PangleAdViewBinder.Builder(R.layout.native_ad_pangle_list_item).callToActionId(R.id.native_cta).decriptionTextId(R.id.native_text).iconImageId(R.id.native_icon_image).titleId(R.id.native_title).mediaViewIdId(R.id.native_main_image).build());
// Set up a renderer for the reference network
final ReferenceNativeAdRenderer referenceNativeAdRenderer = new ReferenceNativeAdRenderer(new ReferenceNativeAdRenderer.ReferenceViewBinder.Builder(R.layout.native_ad_list_item).titleId(R.id.native_title).textId(R.id.native_text).mainImageId(R.id.native_main_image).iconImageId(R.id.native_icon_image).callToActionId(R.id.native_cta).adChoicesRelativeLayoutId(R.id.native_privacy_information_icon_layout).build());
// Set up a renderer for Mintegral ads
final MintegralAdRenderer mintegralAdRenderer = new MintegralAdRenderer(new MintegralAdRenderer.ViewBinder.Builder(R.layout.native_ad_list_item).titleId(R.id.native_title).textId(R.id.native_text).mainImageId(R.id.native_main_image).iconImageId(R.id.native_icon_image).callToActionId(R.id.native_cta).build());
// The first renderer that can handle a particular native ad gets used.
// We are prioritizing network renderers.
mMoPubNative.registerAdRenderer(mintegralAdRenderer);
mMoPubNative.registerAdRenderer(facebookAdRenderer);
mMoPubNative.registerAdRenderer(googlePlayServicesAdRenderer);
mMoPubNative.registerAdRenderer(verizonNativeAdRenderer);
mMoPubNative.registerAdRenderer(pangleAdRenderer);
mMoPubNative.registerAdRenderer(referenceNativeAdRenderer);
mMoPubNative.registerAdRenderer(moPubStaticNativeAdRenderer);
mMoPubNative.makeRequest(mRequestParameters);
return view;
}
Aggregations