请输入
菜单

原生(模板)广告接入及API说明

原生模板广告(NativeTemplate)

创建原生广告配置

通过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) {
                        
                    }
                });

通过AMPSNativeAdExpressInforender()方法渲染广告View.

  • 代码示例
复制代码
 	nativeAdItem.render();

获取广告View并添加到展示容器

通过AMPSNativeAdExpressInfogetNativeExpressAdView()方法, 或通过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();
        }
    }
上一个
插屏广告接入及API说明
下一个
原生(自渲染)广告接入及API说明
最近修改: 2025-06-10