横幅广告
1. 接口API说明
1.1 横幅广告请求类
AdRequest
| 参数 | 说明 |
|---|---|
| placementId | 广告位 |
| userId | 媒体用户体系ID ,可选 ,默认null |
| options | 扩展参数,默认null |
1.2 横幅广告对象类
WindmillBannerAd
| 方法 | 说明 |
|---|---|
| WindmillBannerAd(required AdRequest request, required WindmillBannerListener WindmillBannerAd listener) | 初始化横幅广告对象,request 为广告请求对象,必传, listener 横幅广告回调接口 必传 |
| loadAd() | 发起广告加 |
| isReady() | 判断当前BannerAd是否存在可展示的广告 |
| getAdInfo() | 获取广告信息 |
| getCacheAdInfoList() | 查询当前广告位的所有缓存信息的AdInfo对象、在广告加载成功后调用 |
| destroy() | 销毁并关闭广告 |
1.2 横幅广告Widget对象类
BannerAdWidget
| 方法 | 说明 |
|---|---|
| BannerAdWidget({ required this.windmillBannerAd, double this.width = 320, double this.height = 0}) | 构造横幅广告Widget对象, windmillBannerAd 横幅广告对象类,必传, width widget宽, height widget 高度 |
| updateAdSize(Size size) | 更新广告Widget 大小 |
1.3 横幅广告回调说明
WindmillBannerListener 横幅广告回调说明
| 回调方法 | 说明 |
|---|---|
| onAdFailedToLoad (WindmillBannerAd ad, WMError error) | 广告加载失败 |
| onAdLoaded (WindmillBannerAd ad) | 广告加载成功 |
| onAdOpened (WindmillBannerAd ad) | 广告开始展示 |
| onAdShowError (WindmillBannerAd ad, WMError error) | 广告开始展示失败 |
| onAdClicked (WindmillBannerAd ad) | 广告被用户点击 |
| onAdClosed (WindmillBannerAd ad) | 广告关闭 |
| onAdAutoRefreshed (WindmillBannerAd ad) | 自动刷新广告成功 |
| onAdAutoRefreshFail (WindmillBannerAd ad,WMError error) | 自动刷新广告失败 |
| onAdSourceStartLoading(WindmillBannerAd ad, AdInfo? adInfo) | 广告源开始加载回调 |
| onAdSourceSuccess(WindmillBannerAd ad, AdInfo? adInfo) | 广告源广告填充回调 |
| onAdSourceFailed(WindmillBannerAd ad, AdInfo? adInfo, WMError error) | 广告源加载失败回调 |
| onBidAdSourceStart(WindmillBannerAd ad, AdInfo? adInfo) | 竞价广告源开始竞价回调 |
| onBidAdSourceSuccess(WindmillBannerAd ad, AdInfo? adInfo) | 竞价广告源竞价成功回调 |
| onBidAdSourceFailed(WindmillBannerAd ad, AdInfo? adInfo, WMError error) | 竞价广告源竞价失败回调 |
2. 示例代码
2.1 创建横幅广告对象
dart
AdRequest request = AdRequest(placementId: placementId);
WindmillBannerAd bannerAd = WindmillBannerAd( request:request, listener: listener);2.1 设置监听回调
dart
class IWindmillBannerListener extends WindmillBannerListener<WindmillBannerAd> {
@override
void onAdAutoRefreshFail(WindmillBannerAd ad, WMError error) {
print('flu-banner --- onAdAutoRefreshFail');
}
@override
void onAdAutoRefreshed(WindmillBannerAd ad) {
print('flu-banner --- onAdAutoRefreshed');
}
@override
void onAdClicked(WindmillBannerAd ad) {
print('flu-banner --- onAdClicked');
}
@override
void onAdFailedToLoad(WindmillBannerAd ad, WMError error) {
print('flu-banner --- onAdFailedToLoad -- ${error.toJson()}');
}
@override
void onAdLoaded(WindmillBannerAd ad) {
print('flu-banner --- onAdLoaded');
}
@override
void onAdOpened(WindmillBannerAd ad) {
print('flu-banner --- onAdOpened');
}
@override
void onAdRemoved(WindmillBannerAd ad) {
print('flu-banner --- onAdRemoved');
}
@override
void onAdShowError(WindmillBannerAd ad,WMError error) {
// TODO: implement onAdShowError
print('flu-banner --- onAdShowError');
}
@override
void onAdSourceFailed(WindmillBannerAd ad, AdInfo? adInfo, WMError error) {
// TODO: implement onAdSourceFailed
print("flu-banner --- onAdSourceFailed,adInfo:${adInfo?.toJson()}");
c.callbacks.add('onAdShowError -- ${ad.request.placementId},adInfo:${adInfo?.toJson()},error: ${error.toJson()}');
}
@override
void onAdSourceStartLoading(WindmillBannerAd ad, AdInfo? adInfo) {
// TODO: implement onAdSourceStartLoading
print("flu-banner --- onAdSourceStartLoading,adInfo:${adInfo?.toJson()}");
c.callbacks.add('onAdSourceStartLoading -- ${ad.request.placementId},adInfo:${adInfo?.toJson()}');
}
@override
void onAdSourceSuccess(WindmillBannerAd ad, AdInfo? adInfo) {
// TODO: implement onAdSourceSuccess
print("flu-banner --- onAdSourceSuccess,adInfo:${adInfo?.toJson()}");
c.callbacks.add('onAdSourceSuccess -- ${ad.request.placementId},adInfo:${adInfo?.toJson()}');
}
@override
void onBidAdSourceFailed(WindmillBannerAd ad, AdInfo? adInfo, WMError error) {
// TODO: implement onBidAdSourceFailed
print("flu-banner --- onBidAdSourceFailed,adInfo:${adInfo?.toJson()}");
c.callbacks.add('onAdShowError -- ${ad.request.placementId},adInfo:${adInfo?.toJson()},error: ${error.toJson()}');
}
@override
void onBidAdSourceStart(WindmillBannerAd ad, AdInfo? adInfo) {
// TODO: implement onBidAdSourceStart
print("flu-banner --- onBidAdSourceStart,adInfo:${adInfo?.toJson()}");
c.callbacks.add('onBidAdSourceStart -- ${ad.request.placementId},adInfo:${adInfo?.toJson()}');
}
@override
void onBidAdSourceSuccess(WindmillBannerAd ad, AdInfo? adInfo) {
// TODO: implement onBidAdSourceSuccess
print("flu-banner --- onBidAdSourceSuccess,adInfo:${adInfo?.toJson()}");
c.callbacks.add('onBidAdSourceSuccess -- ${ad.request.placementId},adInfo:${adInfo?.toJson()}');
}
}2.2 横幅广告加载
C#
bannerAd.loadAd();2.3 横幅广告播放
dart
bool isReady = await bannerAd.isReady();
if(isReady){
BannerAdWidget bannerAdWidget = BannerAdWidget(
windmillBannerAd: bannerAd,
height: 50,
width: 320,
);
}