横幅广告
<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/Android/%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>
<p>> 注意事项:横幅广告视图需要开发者手动移除,具体接入可参考[Demo]</p>
<h3>1.1 WMBannerView<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/Android/%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-wmbannerview"></a></h3>
<ul>
<li>com.windmill.sdk.banner.WMBannerView</li>
</ul>
<table>
<thead>
<tr>
<th>方法名</th>
<th>方法介绍</th>
</tr>
</thead>
<tbody>
<tr>
<td>WMBannerView(Activity activity)</td>
<td>构造方法。参数说明:activity(请求广告的 activity)。</td>
</tr>
<tr>
<td>setAdListener(WMBannerAdListener listener)</td>
<td>回调监听。广告相关状态会通过 listener 通知开发者。</td>
</tr>
<tr>
<td>setAutoAnimation(boolean anima)</td>
<td>刷新广告时是否开启动画。参数说明:anima(true开启、false关闭)。</td>
</tr>
<tr>
<td>loadAd(WMBannerAdRequest request)</td>
<td>拉取广告。参数说明:request(广告请求对象)。</td>
</tr>
<tr>
<td>isReady()</td>
<td>广告是否准备好,未准备好广告将无法展示。</td>
</tr>
<tr>
<td>checkValidAdCaches()</td>
<td>查询当前广告位的所有缓存信息的<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/Android/%E9%AB%98%E7%BA%A7%E8%AE%BE%E7%BD%AE/%E5%B9%BF%E5%91%8A%E5%AF%B9%E8%B1%A1/">AdInfo</a>对象、在广告加载成功后调用。</td>
</tr>
<tr>
<td>destroy()</td>
<td>销毁广告。</td>
</tr>
</tbody>
</table>
<h3>1.2 WMRewardAdRequest<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/Android/%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-wmrewardadrequest"></a></h3>
<ul>
<li>com.windmill.sdk.banner.WMBannerAdRequest</li>
</ul>
<table>
<thead>
<tr>
<th>方法名</th>
<th>方法介绍</th>
</tr>
</thead>
<tbody>
<tr>
<td>WMBannerAdRequest(String placementId, String userId, Map<String, Object> options)</td>
<td>构造方法。参数说明:placementId(广告位Id)、userId(用户Id可选)、options(扩展参数,可传任意)。</td>
</tr>
</tbody>
</table>
<h3>1.3 WMBannerAdListener<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/Android/%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-wmbanneradlistener"></a></h3>
<ul>
<li>com.windmill.sdk.banner.WMBannerAdListener</li>
</ul>
<table>
<thead>
<tr>
<th>方法名</th>
<th>方法介绍</th>
</tr>
</thead>
<tbody>
<tr>
<td>onAdLoadSuccess(String placementId)</td>
<td>广告成功加载。参数说明:placementId(广告位Id)。</td>
</tr>
<tr>
<td>onAdLoadError(WindMillError error, String placementId)</td>
<td>广告加载失败。参数说明:error(报错信息,具体可看其内部code和message)、placementId(报错的广告位Id)。</td>
</tr>
<tr>
<td>onAdShown(AdInfo adInfo)</td>
<td>广告成功展示,媒体可在此记录曝光。参数说明:adInfo(广告信息,具体可看其内部成员变量)。</td>
</tr>
<tr>
<td>onAdClicked(AdInfo adInfo)</td>
<td>广告被点击。参数说明:adInfo(广告信息,具体可看其内部成员变量)。</td>
</tr>
<tr>
<td>onAdClosed(AdInfo adInfo)</td>
<td>广告关闭。参数说明:adInfo(广告信息,具体可看其内部成员变量)。</td>
</tr>
<tr>
<td>onAdAutoRefreshed(AdInfo adInfo)</td>
<td>广告刷新成功。参数说明:adInfo(广告信息,具体可看其内部成员变量)。</td>
</tr>
<tr>
<td>onAdAutoRefreshFail(WindMillError error, String placementId)</td>
<td>广告刷新失败。参数说明:error(报错信息,具体可看其内部code和message)、placementId(报错的广告位Id)。</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/Android/%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-%E6%8E%A5%E5%85%A5%E4%BB%A3%E7%A0%81%E7%A4%BA%E4%BE%8B"></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/Android/%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>java</p>
<pre><code>private WMBannerView bannerView;
bannerView = new WMBannerView(this);
bannerView.setAutoAnimation(true);
bannerView.setAdListener(new WMBannerAdListener() {
@Override
public void onAdLoadSuccess(String placementId) {
}
@Override
public void onAdLoadError(WindMillError error, String placementId) {
}
@Override
public void onAdShown(AdInfo adInfo) {
}
@Override
public void onAdClicked(AdInfo adInfo) {
}
@Override
public void onAdClosed(AdInfo adInfo) {//开发者可以在此回调中移除bannerView
}
@Override
public void onAdAutoRefreshed(AdInfo adInfo) {
}
@Override
public void onAdAutoRefreshFail(WindMillError error, String placementId) {
}
});</code></pre>
<h3>2.2 Banner广告加载<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/Android/%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-banner%E5%B9%BF%E5%91%8A%E5%8A%A0%E8%BD%BD"></a></h3>
<p>java</p>
<pre><code>/**
* PLACEMENT_ID 必填
* USER_ID 可选
* OPTIONS 自定义参数 可选
*/
WMBannerAdRequest request = new WMBannerAdRequest(PLACEMENT_ID, USER_ID, OPTIONS);
if (bannerView != null) {
bannerView.loadAd(request);
}</code></pre>
<h3>2.3 Banner广告展示<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/Android/%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-banner%E5%B9%BF%E5%91%8A%E5%B1%95%E7%A4%BA"></a></h3>
<p>java</p>
<pre><code>/**
* 收到onAdLoadSuccess回调代表广告已ready
*/
if (bannerView != null &amp;&amp; bannerView.isReady()) {
//媒体最终将要展示广告的容器
if (adContainer != null) {
adContainer.removeAllViews();
adContainer.addView(bannerView);
}
}</code></pre>