通过
AMPSRequestParameters.Builder
构建AMPSRequestParameters
实例.
方法名称 | 参数 | 描述 |
---|---|---|
setTimeOut | long | 设置请求超时时间. 毫秒 |
setSpaceId | String | 设置广告位ID |
setWidth | int | 设置原生显示宽, 单位:px |
setHeight | int | 设置原生显示高, 单位:px |
setAdCount | int | 设置单次请求原生数量 |
build | - | 构建实例 |
AMPSRequestParameters parameters = new AMPSRequestParameters.Builder()
.setSpaceId("原生广告位ID")
.setTimeOut(5000)
.setWidth(width)
.setHeight(height)
.setAdCount(1)
.build();
通过传入
AMPSRequestParameters
实例, 创建AMPSNativeAd
实例, 并通过传入AMPSNativeLoadEventListener
实例, 监听广告状态
AMPSNativeLoadEventListener listener = new AMPSNativeLoadEventListener() {
@Override
public void onAmpsAdLoad(List<AMPSNativeAdExpressInfo> ampsNativeAdExpressInfo) {
}
@Override
public void onAmpsAdFailed(AMPSError error) {
}
}
AMPSNativeAd nativeAd = new AMPSNativeAd(this, parameters, listener);
方法名称 | 参数 | 描述 |
---|---|---|
onAmpsAdLoad | List<AMPSNativeAdExpressInfo> | 广告加载成功, 返回原生广告列表 |
onAmpsAdFailed | AMPSError | 广告加载失败, 通过AMPSError获取错误码及错误信息 |
调用
loadAd
方法,加载广告.
nativeAd.loadAd();
在接收到广告监听
onAmpsAdLoad
后,获取AMPSNativeAdExpressInfo
实例.
AMPSNativeAdExpressInfo nativeAdItem;
@Override
public void onAmpsAdLoad(List<AMPSNativeAdExpressInfo> ampsNativeAdExpressInfo) {
Log.e(TAG, "onAdLoaded...");
if (ampsNativeAdExpressInfo != null){
nativeAdItem = ampsNativeAdExpressInfo.get(0);
}
}
为原生广告
AMPSNativeAdExpressInfo
设置监听setAMPSNativeAdExpressListener
方法名称 | 描述 |
---|---|
onAdShow | 广告展示 |
onAdClicked | 广告曝光 |
onAdClosed | 广告关闭 |
onRenderFail | 渲染失败, 返回view为null, 并获取失败原因和失败代码 |
onRenderSuccess | 渲染成功, 返回view为渲染好的view, 返回宽高不代表view高度, 有可能返回为0 |
nativeAdItem.setAMPSNativeAdExpressListener(new AMPSNativeAdExpressListener() {
@Override
public void onAdShow() {
}
@Override
public void onAdClicked() {
}
@Override
public void onAdClosed(View view) {
}
@Override
public void onRenderFail(View view, String s, int i) {
}
@Override
public void onRenderSuccess(View view, float v, float v1) {
}
});
通过
AMPSNativeAdExpressInfo
的render()
方法渲染广告View.
nativeAdItem.render();
通过
AMPSNativeAdExpressInfo
的getNativeExpressAdView()
方法, 或通过onRenderSuccess(View, float, float)
回调中获取广告View
//通过回调获取
@Override
public void onRenderSuccess(View view, float v, float v1) {
addViewToWindow(view);
}
//通过方法获取
View expressView = nativeAdItem.getNativeExpressAdView();
addViewToWindow(expressView);
private void addViewToWindow(View adView){
if (adView != null){
container.addView(adView);
}
}
在广告关闭
onAdClosed()
回调, 或Activity
的生命周期方法onDestroy()
时, 调用广告销毁方法destroy()
.
在哪里调用可根据应用逻辑调整, 但
destroy()
方法必须调用.
//于关闭回调内调用
@Override
public void onAdClosed() {
nativeAdItem.destroy();
}
//于生命周期内调用
@Override
protected void onDestroy() {
super.onDestroy();
if (nativeAdItem != null) {
nativeAdItem.destroy();
}
}