Banner 广告
大约 2 分钟
Banner 广告
概述
Banner 广告即横幅广告,在内容底部或顶部显示的小条形广告,常见于文章页末尾,详情页面底部,信息流顶部等。
SABannerAd 方法介绍
方法名  | 方法说明  | 
|---|---|
| SABannerAd(String slotId, Context context) | 构造方法,传参说明: String slotId:广告位ID Context context:上下文  | 
| setLoadListener(LoadListener loadListener) | 设置加载结果回调监听,在loadAd之前设置 | 
| setAdSize(SAAdSize adSize) | 设置预期广告大小,单位dp | 
| loadAd() | 加载广告 | 
| render() | 渲染banner广告,在收到onLoaded()回调之后调用 | 
| View getAdView() | 获取banner广告视图,在loadAd之前获取adView并添加到布局当中 | 
| destroy() | 销毁广告 | 
| setInteractionListener(InteractionListener interactionListener) | 设置banner广告生命周期回调事件监听,在调用render之前设置 | 
| boolean isReady() | 预先加载的banner广告在需要展示时可能已经失效,需要调用此方法进行判断。 | 
| String getEcpm() | 获取价格,单位为 分 | 
List<AdError> getAdErrorList() | 获取本次瀑布流加载过程中失败的代码位信息 | 
| SAAdSourceInfo getFillAdSourceInfo() | 获取本次广告填充的代码位信息 | 
SABannerAd.InteractionListener 方法介绍
方法名  | 方法说明  | 
|---|---|
| void sa_bannerRenderSuccess() | 广告渲染成功 | 
| void sa_bannerRenderFailure(AdError error) | 广告渲染失败 | 
| void sa_bannerShowFailure(AdError error) | 广告展示失败 | 
| void sa_bannerDidShow() | 广告已经展示 | 
| void sa_bannerDidClick() | 广告点击 | 
| void sa_bannerDidExposure() | 广告曝光 | 
| void sa_bannerDidClose() | 广告点击关闭 | 
请求 Banner 示例
SABannerAd bannerAd = new SABannerAd(postId, act_);
bannerAd.setLoadListener(new SABaseAd.LoadListener() {
    @Override
    public void onLoaded() {
        bannerAd.render();
    }
    @Override
    public void onError(AdError adError) {
    }
});
bannerAd.setInteractionListener(new SABannerAd.InteractionListener() {
    @Override
    public void sa_bannerRenderSuccess() {
        adContainer.removeAllViews();
        adContainer.addView(bannerAd.getAdView());
    }
    @Override
    public void sa_bannerRenderFailure(AdError adError) {
    }
    @Override
    public void sa_bannerShowFailure(AdError adError) {
    }
    @Override
    public void sa_bannerDidShow() {
    
    }
    @Override
    public void sa_bannerDidClick() {
    }
    @Override
    public void sa_bannerDidClose() {
        // 关闭事件,移除广告视图
        adContainer.removeAllViews();
    }
    @Override
    public void sa_bannerDidExposure() {
        
    }
});
bannerAd.setAdSize(new SAAdSize(adWidth, adHeight));
bannerAd.load();
