Native Ad
DMNativeAd的后台设置
使用本地原生广告(Native Ad)
Native广告模式是向开发者提供广告数据,由开发者手动将广告数据布局到自己应用的界面的广告模式。
本地原生广告的使用,需要以下几步:
1.实现NativeAdDataLoadListener
监听。
NativeAdDataLoadListener nativeAdDataLoadListener = new NativeAdDataLoadListener() {
@Override
public void onLoadSuccess(final NativeAdData nativeAdData) {
// 广告标题
tv_title.setText(nativeAdData.title);
// 广告描述 字数限制是33-80字
tv_description.setText(nativeAdData.description);
// app 星级 , 范围 : 0-100
tv_ratings.setText(nativeAdData.appRating+"");
// 广告简介 字数限制是8-32字
tv_brief.setText(nativeAdData.brief);
// app 包大小, 单位为Byte
tv_size.setText(nativeAdData.appSize+"");
// 广告事件按钮的提示文字
bt.setText(nativeAdData.clickActionText);
// app 下载数
tv_downloads.setText(nativeAdData.appDownloads+"");
// 广告icon
if (nativeAdData.iconInfo != null) {
// 图片URL
String iconUrl = nativeAdData.iconInfo.imageUrl;
}
// 广告大图
if (nativeAdData.mainInfo != null) {
// 图片URL
String mainUrl = nativeAdData.mainInfo.imageUrl;
}
}
@Override
public void onLoadFailer(NativeAdErrorCode errorMessage) {
mLogger.debugLog("onNativeFail :" + errorMessage.toString());
}
};
2.使用您从多盟官网获得的Publisher ID、Placement ID、NativeAdDataLoadListener
的实例以及当前的Activity,来初始化一个NativeAd
的实例。
NativeAd nativeAd = new NativeAd(this, MainActivity.mPublisherID, MainActivity.mNativePPID, nativeAdDataLoadListener);
3.在合适的时候,调用loadNativeAd
方法请求广告。
nativeAd.loadNativeAd();
3.在NativeAdDataLoadListener
的onLoadSuccess
回调方法,获取NativeAdData
@Override
public void onLoadSuccess(final NativeAdData nativeAdData) {
// 广告标题
tv_title.setText(nativeAdData.title);
// 广告描述 字数限制是33-80字
tv_description.setText(nativeAdData.description);
// app 星级 , 范围 : 0-100
tv_ratings.setText(nativeAdData.appRating+"");
// 广告简介 字数限制是8-32字
tv_brief.setText(nativeAdData.brief);
// app 包大小, 单位为Byte
tv_size.setText(nativeAdData.appSize+"");
// 广告事件按钮的提示文字
bt.setText(nativeAdData.clickActionText);
// app 下载数
tv_downloads.setText(nativeAdData.appDownloads+"");
// 广告icon
if (nativeAdData.iconInfo != null) {
// 图片URL
String iconUrl = nativeAdData.iconInfo.imageUrl;
}
// 广告大图
if (nativeAdData.mainInfo != null) {
// 图片URL
String mainUrl = nativeAdData.mainInfo.imageUrl;
}
}
4.将NativeAdData
的数据展现到屏幕时,务必调用trackImpression
方法,发送展现报告
nativeAd.trackImpression();
5.对于广告内的点击事件,需要调用handleAction
方法处理
bt.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (nativeAd != null) {
// 处理点击事件
nativeAd.handleAction();
} else {
Toast.makeText(getApplicationContext(), "NativeData is null", Toast.LENGTH_SHORT).show();
}
}
});
6.清除占用资源,在Activity的onDestroy回调NativeAd
的destroy
方法
@Override
protected void onDestroy() {
super.onDestroy();
if (nativeAd != null) {
nativeAd.destroy();
nativeAd = null;
}
}