Banner 广告
大约 3 分钟
Banner 广告
概述
Banner 广告即横幅广告,在内容底部或顶部显示的小条形广告,常见于文章页末尾,详情页面底部,信息流顶部等。
广告加载和展示
使用SAAllianceAdSdk.getSAAllianceAdManager().createSAAllianceAd()
获取SAAllianceAd
接口类型对象;
调用loadSABannerAd(SAAllianceAdParams params, ViewGroup containers, SABannerAdLoadListener listener)
进行广告加载;
调用showBanner(ViewGroup container)
方法进行广告展示。
SAAllianceAdBanner广告相关方法说明
方法 | 说明 |
---|---|
加载Banner广告 | |
展示Banner广告,传入Banner广告视图所要的容器。 在 SABannerAdLoadListener.onBannerAdLoad() 回调后调用 |
SABannerAdLoadListener说明
方法 | 说明 |
---|---|
加载成功, | |
加载失败,code 错误码,message 错误信息 | |
广告素材加载成功 | |
void onTimeOut() | 加载超时 |
SABannerAd说明
加载获取到的Banner广告实例,用于生命周期监听,获取价格等
方法 | 说明 |
---|---|
设置生命周期监听,在调用 | |
获取广告价格,单位:分 | |
销毁广告 |
loadSABannerAd方法说明
参数 | 说明 | 是否必填 |
---|---|---|
广告参数 | 必填 | |
广告容器 | 可选,可以传null | |
Banner广告加载结果回调 | 必填 |
SAAllianceAdParams说明
SABannerAdInteractionListener广告生命周期回调
方法 | 说明 |
---|---|
Banner展示错误,code 错误码,message 错误信息 | |
void onAdShow() | Banner广告展示 |
广告点击 | |
void () | Banner广告关闭 |
请求Banner广告示例
private void loadBannerAd(Activity context, String posId, int width, int height, ViewGroup viewGroup) {
//设置广告参数
SAAllianceAdParams params = new SAAllianceAdParams();
params.setPosId(posId); //设置广告位ID
//广告对象初始化
SAAllianceAd saAllianceAd = SAAllianceAdSdk.getSAAllianceAdManager().createSAAllianceAd(context);
saAllianceAd.loadSABannerAd(params, null, new SABannerAdLoadListener() {
@Override
public void onBannerAdLoad(SABannerAd saBannerAd) {
if (saBannerAd == null) {
Log.e(TAG, "广告加载失败");
return;
}
String ecpm = saBannerAd.getECPM(); //获取广告价格,单位分
//设置广告交互监听
saBannerAd.setBannerAdInteractionListener(new SABannerAdInteractionListener() {
@Override
public void onAdShow() {
Log.i(TAG, "广告成功展示");
}
@Override
public void onAdClick() {
Log.i(TAG, "广告点击");
}
@Override
public void onAdClose() {
Log.i(TAG, "点击关闭");
if (viewGroup != null) {
viewGroup.removeAllViews();
}
}
@Override
public void onAdError(int code, String message) {
Log.e(TAG, "广告展示失败,code = " + code + ", msg = " + msg);
}
}); //setBannerAdInteractionListener end
//将广告添加到容器中进行展示
if (saAllianceAd != null && viewGroup !=null) {
viewGroup.removeAllViews();
saAllianceAd.showBanner(viewGroup);
}
} //onBannerAdLoad end
@Override
public void onError(int code, String msg) {
Log.e(TAG, "广告加载失败,code = " + code + ", msg = " + msg);
}
@Override
public void onResourceLoad() {
}
}); //loadSABannerAd end
}
private void destroyBannerAd(SABannerAd saBannerAd) {
Log.i(TAG, "销毁广告")
if (saBannerAd != null) {
saBannerAd.destroy();
saBannerAd = null;
}
}
广告展示
建议在 onBannerAdLoad 方法加载完毕后 再在调用 showBanner 方法进行广告的展示
if (saAllianceAd != null && viewGroup !=null) {
viewGroup.removeAllViews();
saAllianceAd.showBanner(viewGroup);
}