ManagedRenderingNative - Atmosplay/AtmosplayAds-Android GitHub Wiki
Integrate Managed Rendering Native Ad
Managed rendering is a rendering mode of native ad. In this mode, ad will be rendered automatically. This approach simplifies the process of accessing native ad, and you can integrate native ad more convient since you do not need to deal with ad rendering related issues.
Initialization and request
// Create NativeExpressAd object
AtmosplayNativeExpressAd mAtmosplayNativeAd = new AtmosplayNativeExpressAd(mContext, mAppId, mAdUnitId);
// Set listener event of loading ads:
// AtmosplayAdLoadListener: you can set NativeAdLoadListener to get request events from the object's callbacks
mAtmosplayNativeAd.setNativeAdLoadListener(NativeAdLoadListener);
// Call the following method to load ad
mAtmosplayNativeAd.loadAd();
NativeAdLoadListener definition
Creat NativeAd Template Layout
Suppose RecyclerView is carrier of information flow, the layout of NativeTemplateViewHolder itemView we creat is as follows:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#eee">
<com.atmosplayads.nativead.NativeAdExpressView
android:id="@+id/nativeAdExpressView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp" />
</FrameLayout>
Render NativeAd
In RecyclerView Adapter, fire the function onBindViewHolder(ViewHolder holder, int position)
NativeAd nativeAd = mNativeAds.get(position);
if (nativeAd != null) {
nativeAd.renderAdView(nativeTemplateViewHolder.nativeTemplateView);
}
Listener
NativeAdLoadListener definition
interface NativeAdLoadListener {
// Success to request ad, put nativeAd into Adapter for future use
void onNativeAdLoaded(NativeAd nativeAd);
// Fail to request ad, check "State Code and Description" section of this doc according to errorCode to locate problem quickly
void onNativeAdFailed(int errorCode, String msg);
}
Add NativeEventListener
If necessery, you can add listener callback of ad's impression/click as follows
// Set listener event of impression/click ads:
// NativeEventListener: you can set NativeEventListener to get impression/click events from the object's callbacks
nativeAd.setNativeEventListener(NativeEventListener);
NativeEventListener definition
interface NativeEventListener {
// Ad has been impressed
void onAdImpressed(View view);
// Ad has been clicked
void onAdClicked(View view);
}
The NativeExpressAdSample file is the sample code for the native ad(Managed Rendering).