banner接入说明

banner广告配置

banner广告可配置内容为:

  1. 广告位ID

  2. 轮播间隔(如果创建广告位时,设置的是可轮播的banner广告位)

  • 在代码中配置

    private AdSlot getConfigSlot() {
        AdSlot.Builder builder = new AdSlot.Builder();
        // 配置广告位 必须
        builder.slotId(slotId);
        // 配置广告位类型 必须
        builder.slotType(AdSlotType.BANNER);
        // 配置 轮播时间间隔 可选
        if (loopInSeconds > 0) {
            builder.loopInterval(loopInSeconds);
        }
        return builder.build();
    }

配置好后,通过 CloudCodeLoader.getInstance().load() 请求广告。

        AdSlot slot = getConfigSlot();
        // 请求广告
        CloudCodeLoader.getInstance().load(this, slot, new CloudCodeLoader.AdLoadListener() {
            @Override
            public void loadSuccess(List<CloudCodeAd> cloudCodeAds) {
                CallbackRecorder.getInstance().loadSuccess(cloudCodeAds);
                if (cloudCodeAds != null && cloudCodeAds.size() > 0) {
                    // 获取广告View,并展示
                    BannerAdView bannerAdView = cloudCodeAds.get(0).getAdView();
                    addAdView(bannerAdView);
                    registerListener(bannerAdView);
                } else {
                    Log.e(TAG, "加载广告失败 没有获取到广告?");
                }
            }

            @Override
            public void loadFail(String code, String msg) {
                CallbackRecorder.getInstance().loadFail(code, msg);
                Log.e(TAG, "加载广告失败 " + code + " " + msg);
            }
        });

banner广告监听

广告监听主要是广告交互的监听。

        // 设置交互监听
        bannerAdView.setAdInteractListener(new AdInteractListener() {
            @Override
            public void onShowed() {
                LogUtil.checkPoint("广告曝光");
            }

            @Override
            public void onClicked() {
                LogUtil.checkPoint("广告点击");
            }

            @Override
            public void close() {
                LogUtil.checkPoint("广告关闭");
                // 用户点击关闭后,需要隐藏广告
                bannerAdView.setVisibility(View.GONE);
            }

            @Override
            public void onAction(int i, int i1) {
                LogUtil.checkPoint("广告效果 " + i + " " + i1);
            }
        });

setAdInteractListener设置广告交互行为监听,可以用于处理逻辑和埋点。BannerAdView.AdInteractListener定义如下:

    /**
     * 广告交互监听
     */
    public interface AdInteractListener extends AdActionListener {
        /**
         * 广告曝光
         */
        void onShowed();

        /**
         * 点击广告
         */
        void onClicked();

        /**
         * 关闭广告
         * 处理广告隐藏逻辑
         */
        void close();
    }

banner demo

请参考 demo中 BannerSample.java

阿里云首页 智能营销引擎 相关技术圈