# 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
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
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
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
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 |