主题
Banner广告
1. 主要API
1.1 Banner广告请求类
ApexAdxAdRequest
| 参数 | 说明 |
|---|---|
| pid | 广告位 |
| userId | 媒体用户体系ID,可选,默认 null |
| options | 扩展参数,默认 null |
1.2 横幅广告对象类
ApexAdxBannerAd
| 方法 | 说明 |
|---|---|
ApexAdxBannerAd({required ApexAdxAdRequest request, required double width, required double height, required ApexAdxBannerListener<ApexAdxBannerAd> listener, bool animated = true}) | 初始化banner广告对象,request 为广告请求对象必传,listener 横幅广告回调接口必传 |
fetchAd() | 发起广告加载 |
isAvailable() | 判断当前 BannerAd 是否存在可展示的广告 |
release() | 销毁并关闭广告 |
updateAdSize(Size size) | 更新广告实际大小 |
Size? getAdSize() | 获取广告实际宽高 |
1.3 Banner广告Widget对象类
BannerAdWidget
| 方法 | 说明 |
|---|---|
BannerAdWidget({required ApexAdxBannerAd apexAdxBannerAd, required double width, required double height}) | 构造横幅广告Widget对象,apexAdxBannerAd 横幅广告对象类必传,width widget宽,height widget高度 |
updateAdSize(Size size) | 更新广告Widget大小 |
1.4 横幅广告回调说明
ApexAdxBannerListener 横幅广告回调说明
| 回调方法 | 说明 |
|---|---|
onAdFailedToLoad(ApexAdxError error) | 广告加载失败 |
onAdLoaded(ApexAdxBannerAd ad) | 广告加载成功 |
onAdDisplayed() | 广告开始展示 |
onAdTapped() | 广告被用户点击 |
onAdDismissed() | 广告关闭 |
onAdRefreshed(ApexAdxBannerAd ad) | 自动刷新广告成功 |
onRefreshFailed(ApexAdxBannerAd ad, ApexAdxError error) | 自动刷新广告失败 |
2. 示例代码
2.1 创建横幅广告对象
dart
ApexAdxAdRequest request = ApexAdxAdRequest(pid: "pid");
ApexAdxBannerAd bannerAd = ApexAdxBannerAd(request: request, width: 300, height: 100, listener: IApexAdxBannerListener());2.2 设置监听回调
dart
class IApexAdxBannerListener extends ApexAdxBannerListener<ApexAdxBannerAd> {
@override
void onRefreshFailed(ApexAdxBannerAd ad, ApexAdxError error) {
print('flu-banner --- onRefreshFailed: ${error.message}');
}
@override
void onAdRefreshed(ApexAdxBannerAd ad) {
print('#############banner onAdRefreshed');
}
@override
void onAdDismissed() {
print('flu-banner --- onAdDismissed');
}
@override
void onAdDisplayed() {
print('flu-banner --- onAdDisplayed');
}
@override
void onAdFailedToLoad(ApexAdxError error) {
print('flu-banner --- onAdFailedToLoad');
}
@override
void onAdTapped() {
print('flu-banner --- onAdTapped');
}
@override
void onAdLoaded(ApexAdxBannerAd ad) {
print('flu-banner --- onAdLoaded');
}
}2.3 Banner广告加载
dart
bannerAd.fetchAd();2.4 横幅广告展示
dart
bool isReady = await bannerAd.isAvailable();
if (isReady) {
BannerAdWidget bannerAdWidget = BannerAdWidget(
apexAdxBannerAd: bannerAd,
height: 50,
width: 320,
);
}