横幅广告
<h1>横幅广告<a href="https://doc.sigmob.com/ToBid%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/Flutter/%E5%B9%BF%E5%91%8A%E7%B1%BB%E5%9E%8B/%E6%A8%AA%E5%B9%85%E5%B9%BF%E5%91%8A/#%E6%A8%AA%E5%B9%85%E5%B9%BF%E5%91%8A"></a></h1>
<h2>1. 接口API说明<a href="https://doc.sigmob.com/ToBid%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/Flutter/%E5%B9%BF%E5%91%8A%E7%B1%BB%E5%9E%8B/%E6%A8%AA%E5%B9%85%E5%B9%BF%E5%91%8A/#_1-%E6%8E%A5%E5%8F%A3api%E8%AF%B4%E6%98%8E"></a></h2>
<h3>1.1 横幅广告请求类<a href="https://doc.sigmob.com/ToBid%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/Flutter/%E5%B9%BF%E5%91%8A%E7%B1%BB%E5%9E%8B/%E6%A8%AA%E5%B9%85%E5%B9%BF%E5%91%8A/#_1-1-%E6%A8%AA%E5%B9%85%E5%B9%BF%E5%91%8A%E8%AF%B7%E6%B1%82%E7%B1%BB"></a></h3>
<p><strong>AdRequest</strong></p>
<table>
<thead>
<tr>
<th>参数</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>placementId</td>
<td>广告位</td>
</tr>
<tr>
<td>userId</td>
<td>媒体用户体系ID ,可选 ,默认null</td>
</tr>
<tr>
<td>options</td>
<td>扩展参数,默认null</td>
</tr>
</tbody>
</table>
<h3>1.2 横幅广告对象类<a href="https://doc.sigmob.com/ToBid%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/Flutter/%E5%B9%BF%E5%91%8A%E7%B1%BB%E5%9E%8B/%E6%A8%AA%E5%B9%85%E5%B9%BF%E5%91%8A/#_1-2-%E6%A8%AA%E5%B9%85%E5%B9%BF%E5%91%8A%E5%AF%B9%E8%B1%A1%E7%B1%BB"></a></h3>
<p><strong>WindmillBannerAd</strong></p>
<table>
<thead>
<tr>
<th>方法</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>WindmillBannerAd(required AdRequest request, required WindmillBannerListener WindmillBannerAd listener)</td>
<td>初始化横幅广告对象,request 为广告请求对象,必传, listener 横幅广告回调接口 必传</td>
</tr>
<tr>
<td>loadAd()</td>
<td>发起广告加</td>
</tr>
<tr>
<td>isReady()</td>
<td>判断当前BannerAd是否存在可展示的广告</td>
</tr>
<tr>
<td>getAdInfo()</td>
<td>获取广告信息</td>
</tr>
<tr>
<td>getCacheAdInfoList()</td>
<td>查询当前广告位的所有缓存信息的AdInfo对象、在广告加载成功后调用</td>
</tr>
<tr>
<td>destroy()</td>
<td>销毁并关闭广告</td>
</tr>
</tbody>
</table>
<h3>1.2 横幅广告Widget对象类<a href="https://doc.sigmob.com/ToBid%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/Flutter/%E5%B9%BF%E5%91%8A%E7%B1%BB%E5%9E%8B/%E6%A8%AA%E5%B9%85%E5%B9%BF%E5%91%8A/#_1-2-%E6%A8%AA%E5%B9%85%E5%B9%BF%E5%91%8Awidget%E5%AF%B9%E8%B1%A1%E7%B1%BB"></a></h3>
<p><strong>BannerAdWidget</strong></p>
<table>
<thead>
<tr>
<th>方法</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>BannerAdWidget({ required this.windmillBannerAd, double this.width = 320, double this.height = 0})</td>
<td>构造横幅广告Widget对象, windmillBannerAd 横幅广告对象类,必传, width widget宽, height widget 高度</td>
</tr>
<tr>
<td>updateAdSize(Size size)</td>
<td>更新广告Widget 大小</td>
</tr>
</tbody>
</table>
<h3>1.3 横幅广告回调说明<a href="https://doc.sigmob.com/ToBid%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/Flutter/%E5%B9%BF%E5%91%8A%E7%B1%BB%E5%9E%8B/%E6%A8%AA%E5%B9%85%E5%B9%BF%E5%91%8A/#_1-3-%E6%A8%AA%E5%B9%85%E5%B9%BF%E5%91%8A%E5%9B%9E%E8%B0%83%E8%AF%B4%E6%98%8E"></a></h3>
<p><strong>WindmillBannerListener</strong> 横幅广告回调说明</p>
<table>
<thead>
<tr>
<th>回调方法</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>onAdFailedToLoad (WindmillBannerAd ad, WMError error)</td>
<td>广告加载失败</td>
</tr>
<tr>
<td>onAdLoaded (WindmillBannerAd ad)</td>
<td>广告加载成功</td>
</tr>
<tr>
<td>onAdOpened (WindmillBannerAd ad)</td>
<td>广告开始展示</td>
</tr>
<tr>
<td>onAdShowError (WindmillBannerAd ad, WMError error)</td>
<td>广告开始展示失败</td>
</tr>
<tr>
<td>onAdClicked (WindmillBannerAd ad)</td>
<td>广告被用户点击</td>
</tr>
<tr>
<td>onAdClosed (WindmillBannerAd ad)</td>
<td>广告关闭</td>
</tr>
<tr>
<td>onAdAutoRefreshed (WindmillBannerAd ad)</td>
<td>自动刷新广告成功</td>
</tr>
<tr>
<td>OnAdAutoRefreshFail (WindmillBannerAd ad,WMError error)</td>
<td>自动刷新广告失败</td>
</tr>
</tbody>
</table>
<h2>2. 示例代码<a href="https://doc.sigmob.com/ToBid%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/Flutter/%E5%B9%BF%E5%91%8A%E7%B1%BB%E5%9E%8B/%E6%A8%AA%E5%B9%85%E5%B9%BF%E5%91%8A/#_2-%E7%A4%BA%E4%BE%8B%E4%BB%A3%E7%A0%81"></a></h2>
<h3>2.1 创建横幅广告对象<a href="https://doc.sigmob.com/ToBid%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/Flutter/%E5%B9%BF%E5%91%8A%E7%B1%BB%E5%9E%8B/%E6%A8%AA%E5%B9%85%E5%B9%BF%E5%91%8A/#_2-1-%E5%88%9B%E5%BB%BA%E6%A8%AA%E5%B9%85%E5%B9%BF%E5%91%8A%E5%AF%B9%E8%B1%A1"></a></h3>
<p>dart</p>
<pre><code>AdRequest request = AdRequest(placementId: placementId);
WindmillBannerAd bannerAd = WindmillBannerAd( request:request, listener: listener);</code></pre>
<h3>2.1 设置监听回调<a href="https://doc.sigmob.com/ToBid%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/Flutter/%E5%B9%BF%E5%91%8A%E7%B1%BB%E5%9E%8B/%E6%A8%AA%E5%B9%85%E5%B9%BF%E5%91%8A/#_2-1-%E8%AE%BE%E7%BD%AE%E7%9B%91%E5%90%AC%E5%9B%9E%E8%B0%83"></a></h3>
<p>dart</p>
<pre><code>class IWindmillBannerListener extends WindmillBannerListener&lt;WindmillBannerAd&gt; {
@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');
}
}</code></pre>
<h3>2.2 横幅广告加载<a href="https://doc.sigmob.com/ToBid%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/Flutter/%E5%B9%BF%E5%91%8A%E7%B1%BB%E5%9E%8B/%E6%A8%AA%E5%B9%85%E5%B9%BF%E5%91%8A/#_2-2-%E6%A8%AA%E5%B9%85%E5%B9%BF%E5%91%8A%E5%8A%A0%E8%BD%BD"></a></h3>
<p>C#</p>
<pre><code>bannerAd.loadAd();</code></pre>
<h3>2.3 横幅广告播放<a href="https://doc.sigmob.com/ToBid%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/Flutter/%E5%B9%BF%E5%91%8A%E7%B1%BB%E5%9E%8B/%E6%A8%AA%E5%B9%85%E5%B9%BF%E5%91%8A/#_2-3-%E6%A8%AA%E5%B9%85%E5%B9%BF%E5%91%8A%E6%92%AD%E6%94%BE"></a></h3>
<p>dart</p>
<pre><code>bool isReady = await bannerAd.isReady();
if(isReady){
BannerAdWidget bannerAdWidget = BannerAdWidget(
windmillBannerAd: bannerAd,
height: 50,
width: 320,
);
}</code></pre>