# 4.Banner广告

本SDK为接入方提供个性化模板Banner广告,开发者不用自行对广告样式进行编辑和渲染,广告样式模板以及微调后期支持开发者编辑。

目前广告位尺寸包含:

600×90 、 600×100 、 600×150 、 600×200 、 600×300 、 600×400 、 600×500 、 600×500 、 600×260 、 690×388

注意

广告关闭回调(onCancel)默认刷新一次广告内容,可在此处执行移除view的操作

# (1) 调用方式

使用完毕后,请“务必”调用FNBannerAd.destroy()方法销毁广告,以免造成 内存泄漏

调用方式如下:

/**
 * 加载并显示Banner广告
 * 
 * @param context    上下文
 * @param container 广告容器
 * @param positionId 广告位Id
 * @param listener   监听回调
 * @return FNBannerAd Banner广告对象,使用完毕后请调用 destroy 方法销毁
 */
FNBannerAd bannerAd = Ads.loadBannerAd(Context context,ViewGroup container, String positionId, BannerListener listener);
1
2
3
4
5
6
7
8
9
10

# (2) 回调方法

public interface BannerListener {

    /**
     * 广告加载失败
     *
     * @param msg  错误消息
     * @param code 错误代码
     */
    void onLoadError(String msg, int code);

    /**
     * 广告加载成功
     */
    void onLoadSuccess();

    /**
     * 广告被点击
     */
    void onAdClicked();

    /**
     * 广告被取消
     */
    void onCancel();

}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

# (3) 销毁

请在使用完毕后,在适当的时机销毁广告,以避免 内存泄漏

if(bannerAd != null){
    bannerAd.destroy();
}
1
2
3

# (4) 预加载

如果您需要使用预加载,则调用预加载方法加载广告

/**
 * 预加载横幅(Banner)
 *
 * @param context    上下文
 * @param positionId 广告位ID
 * @param listener   监听回调
 * @return 横幅广告对象(调用show显示广告, 调用destroy销毁)
 */
FNPreBannerAd preBannerAd = Ads.preloadBannerAd(context, positionId, listener);
//加载广告
preBannerAd.load();
// 广告加载成功后在合适的位置调用显示广告,container 为放置Banner的容器(确认广告加载成功再调用)
preBannerAd.show(container);
// 使用完毕后请及时调用destroy方法销毁广告,避内存泄漏
preBannerAd.destroy();
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

FNPreBannerAd 方法:

方法 参数 说明
show ViewGroup container 广告容器 在指定位置显示广告
destroy 使用完毕后销毁,避免内存泄漏
setLayoutParams LayoutParams layoutParams 设置Banner LayoutParams
remove ViewGroup container 广告容器 从容器中移除Banner