Page History

Ad_banner

Last edited by 谷俊

获取横幅广告管理类

BannerManager bannerManager = BannerManager.getInstance();

接口定义

/**
  * 获取横幅广告视图
  * @param context            上下文
  * @param bannerViewListener 横幅广告视图监听
  * @return 广告视图
  */
public BannerView getBannerView(Context context, String adId, final BannerViewListener bannerViewListener);


/**
  * 设置广告填充模式
  * @param adScalingModel
  * Config.AD_SCALING_MODE_SCALE_TO_FIT (默认)
  * Config.AD_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING
  */
public void setAdScalingModel(int adScalingModel);

BannerView生命周期

/**
  * 恢复
  */
public void onResume()

/**
  * 暂停
  */
public void onPause()

/**
  * 销毁
  */
public void onDestroy()

回调监听


/**
  * 请求失败
  * @param adId     广告位id
  * @param code     错误码
  * @param errorMsg 错误消息
  */
void onRequestFailed(String adId, int code, String errorMsg);

/**
  * 请求成功
  * @param adId       广告位id
  * @param viewWidth  广告物料的宽(单位:px)
  * @param viewHeight 广告物料的高(单位:px)
  */
void onRequestSuccess(String adId, int viewWidth, int viewHeight);

/**
  * 横幅广告展示成功
  * @param adId 广告位id
  */
void onShowSuccess(String adId);

/**
  * 横幅广告切换
  * @param adId 广告位id
  */
void onSwitchBanner(String adId);

/**
  * 横幅广告展示失败
  *
  * @param adId 广告位id
  * @param code 错误码
  *             0.网络异常
  *             1.无广告
  *             2.资源未加载
  *             3.频繁展示
  *             4.视图不可见
  * @param msg  错误消息
  */
void onShowFailed(String adId, int code, String msg);

/**
  * 广告点击事件
  * 注:横幅广告点击后自动销毁,如果想在点击后继续显示广告,请重新获取BannerView
  * @param adId 广告位id
  */
void onBannerClicked(String adId);

使用示例

bannerContainer = (RelativeLayout) findViewById(R.id.bannerContainer);

        BannerManager.getInstance().setAdScalingModel(Config.AD_SCALING_MODE_SCALE_TO_FIT);
        bannerView = BannerManager.getInstance().getBannerView(this, "350", new BannerViewListener() {
            @Override
            public void onRequestSuccess(int viewWidth, int viewHeight) {
                Log.e(TAG, "onRequestSuccess: " + viewWidth + "," + viewHeight);
                bannerContainer.getLayoutParams().width = ViewGroup.LayoutParams.MATCH_PARENT;
                bannerContainer.getLayoutParams().height = ScreenUtil.getScreenWidth(BannerActivity.this) * viewHeight / viewWidth;
            }

            @Override
            public void onRequestFailed(int code, String errorMsg) {
                Log.e(TAG, "onRequestFailed" + code + " : " + errorMsg);
            }

            @Override
            public void onShowSuccess() {
                Log.e(TAG, "onShowSuccess");
            }

            @Override
            public void onSwitchBanner() {
                Log.e(TAG, "onSwitchBanner");
            }

            @Override
            public void onShowFailed(int code, String msg) {
                Log.e(TAG, "onShowFailed: " + code + "," + msg);
            }

            @Override
            public void onBannerClicked() {
                Log.e(TAG, "onBannerClicked");
            }
        });

        bannerContainer.addView(bannerView);

生命周期使用示例

bannerView.onPause();
bannerView.onResume();
bannerView.onDestroy();