Native Ad
Declare NativeAd
and MediaView
class
NativeAd
and MediaView
classimport com.intowow.sdk.NativeAd;
import com.intowow.sdk.NativeAd.MediaView;
private final static String PLACEMENT_NAME = "Obtain from your Intowow account manager";
private NativeAd mNativeAd = null;
private MediaView mMediaView = null;
Initialize NativeAd
class
NativeAd
classmNativeAd = new NativeAd(mActivity);
NOTE :
please make sure to pass Activity
on to the NativeAd, if you can't, then you may need to pass it on MediaView(Activity);
later.
Setup the RequestInfo
You need to set the placement ID and the request timeout in requestInfo.
RequestInfo requestInfo = new RequestInfo();
requestInfo.setPlacement(PLACEMENT_NAME);
requestInfo.setTimeout(timeout);
loadAdInstant
import com.intowow.sdk.CERequestResult;
CERequestResult result = mNativeAd.loadAdInstant(requestInfo);
if (result.isSuccess()) {
// Get ad title string.
String title = mNativeAd.getAdTitle()
// Get ad description string.
String adBody = mNativeAd.getAdBody();
// Get call to action string.
String callToAction = mNativeAd.getAdCallToAction();
// Instantiate MediaView
// please make sure to pass activity on to the mediaview
//
int width = your_defined_width;
mMediaView = new MediaView(activity);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(width,
RelativeLayout.LayoutParams.WRAP_CONTENT);
mMediaView.setLayoutParams(params);
mMediaView.setNativeAd(mNativeAd);
// Add these materials to the UI hierarchy
} else {
// You can call result.getError() to know info of loadAd fail
}
}
loadAdAsync
import com.intowow.sdk.CEAdListener;
import com.intowow.sdk.CEAdRequestListener;
mNativeAd.loadAdAsync(requestInfo, new CEAdRequestListener() {
@Override
public void onError(Ad ad, AdError error) {
}
@Override
public void onAdLoaded(Ad ad) {
if(mNativeAd != ad) {
return;
}
// Get ad title string.
String title = mNativeAd.getAdTitle()
// Get ad description string.
String adBody = mNativeAd.getAdBody();
// Get call to action string.
String callToAction = mNativeAd.getAdCallToAction();
// Instantiate MediaView
// please make sure to pass activity on to the mediaview
//
int width = your_defined_width;
mMediaView = new MediaView(activity);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
width, RelativeLayout.LayoutParams.WRAP_CONTENT);
mMediaView.setLayoutParams(params);
mMediaView.setNativeAd(mNativeAd);
// Add these materials to the UI hierarchy
}
});
Add AdListener
to get ad event callback.
AdListener
to get ad event callback.import com.intowow.sdk.Ad;
import com.intowow.sdk.AdError;
import com.intowow.sdk.CEAdListener;
import com.intowow.sdk.NativeAd;
import com.intowow.sdk.NativeAd.MediaView;
mNativeAd.setAdListener(new CEAdListener() {
@Override
public void onAdClicked(Ad ad) {
}
@Override
public void onAdImpression(Ad ad) {
}
@Override
public void onAdMute(Ad ad) {
}
@Override
public void onAdUnmute(Ad ad) {
}
@Override
public void onVideoStart(Ad ad) {
}
@Override
public void onVideoProgress(Ad ad, int totoalDuration, int currentPosition) {
}
@Override
public void onVideoEnd(Ad ad) {
}
});
Register ad
You must register ad view to handle user engage after
onAdLoaded
callback.
// Customize ad view
TextView callToActionView = new TextView(mActivity);
callToActionView.setText(mNativeAd.getAdCallToAction());
RelativeLayout nativeAdContainer = new RelativeLayout(mActivity);
nativeAdContainer.addView(mMediaView);
nativeAdContainer.addView(callToActionView);
...
// Register clickable area
List<View> actionViews = new ArrayList<View>();
actionViews.add(callToActionView);
mNativeAd.registerViewForInteraction(nativeAdContainer, actionViews);
Release ad
@Override
protected void onDestroy() {
if(mMediaView != null) {
mMediaView.destroy();
mMediaView = null;
}
if(mNativeAd != null) {
mNativeAd.destroy();
mNativeAd = null;
}
...
...
super.onDestroy();
}
Last updated