插屏广告
<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%8F%92%E5%B1%8F%E5%B9%BF%E5%91%8A/#%E6%8F%92%E5%B1%8F%E5%B9%BF%E5%91%8A"></a></h1>
<p>> <strong>注意:</strong> 如果聚合集成了腾讯广告,则触发展示插屏广告的Activity需要配置:</p>
<pre><code>android:configChanges=&quot;keyboard|keyboardHidden|orientation|screenSize&quot;</code></pre>
<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/Android/%E5%B9%BF%E5%91%8A%E7%B1%BB%E5%9E%8B/%E6%8F%92%E5%B1%8F%E5%B9%BF%E5%91%8A/#_1-%E4%B8%BB%E8%A6%81api"></a></h2>
<h3>1.1 HJAdsSdkInterstitial<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%8F%92%E5%B1%8F%E5%B9%BF%E5%91%8A/#_1-1-wminterstitialad"></a></h3>
<ul>
<li>com.hzhj.openads.HJAdsSdkInterstitial</li>
</ul>
<table>
<thead>
<tr>
<th>方法名</th>
<th>方法介绍</th>
</tr>
</thead>
<tbody>
<tr>
<td>HJAdsSdkInterstitial(Activity activity, HJInterstitialAdRequest request, HJOnAdsSdkInterstitialListener listener)</td>
<td>构造方法。参数说明:activity(展示广告的 activity)、request(广告请求对象)。 listener(回调监听)</td>
</tr>
<tr>
<td>loadAd()</td>
<td>拉取广告。</td>
</tr>
<tr>
<td>isReady()</td>
<td>广告是否准备好,未准备好广告将无法展示。</td>
</tr>
<tr>
<td>show( HashMap<String, String> options)</td>
<td>展示广告。参数说明:options(广告展示时的扩展参数,可选)。</td>
</tr>
<tr>
<td>destroy()</td>
<td>销毁广告。</td>
</tr>
</tbody>
</table>
<h3>1.2 HJInterstitialAdRequest<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%8F%92%E5%B1%8F%E5%B9%BF%E5%91%8A/#_1-2-wminterstitialadrequest"></a></h3>
<ul>
<li>com.hzhj.openads.req.HJInterstitialAdRequest</li>
</ul>
<table>
<thead>
<tr>
<th>方法名</th>
<th>方法介绍</th>
</tr>
</thead>
<tbody>
<tr>
<td>HJInterstitialAdRequest(String placementId, String userId, Map<String, Object> options)</td>
<td>构造方法。参数说明:placementId(广告位Id)、userId(用户Id可选)、options(扩展参数,可传任意)。</td>
</tr>
</tbody>
</table>
<h3>1.3 HJOnAdsSdkInterstitialListener<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%8F%92%E5%B1%8F%E5%B9%BF%E5%91%8A/#_1-3-wminterstitialadlistener"></a></h3>
<ul>
<li>com.hzhj.openads.listener.HJOnAdsSdkInterstitialListener</li>
</ul>
<table>
<thead>
<tr>
<th>方法名</th>
<th>方法介绍</th>
</tr>
</thead>
<tbody>
<tr>
<td>onInterstitialAdLoadSuccess(String placementId)</td>
<td>广告成功加载。参数说明:placementId(广告位Id)。</td>
</tr>
<tr>
<td>onInterstitialAdLoadError(HJAdError error, String placementId)</td>
<td>广告加载失败。参数说明:error(报错信息,具体可看其内部code和message)、placementId(报错的广告位Id)。</td>
</tr>
<tr>
<td>onInterstitialAdPlayStart()</td>
<td>广告成功展示,媒体可在此记录曝光。参数说明:adInfo(广告信息,具体可看其内部成员变量)。</td>
</tr>
<tr>
<td>onInterstitialAdPlayError(HJAdError error, String placementId)</td>
<td>广告播放出错。参数说明:error(报错信息,具体可看其内部code和message)、placementId(报错的广告位Id)。</td>
</tr>
<tr>
<td>onInterstitialAdPlayEnd()</td>
<td>广告播放结束。</td>
</tr>
<tr>
<td>onInterstitialAdClicked()</td>
<td>广告被点击。</td>
</tr>
<tr>
<td>onInterstitialAdClosed()</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/Android/%E5%B9%BF%E5%91%8A%E7%B1%BB%E5%9E%8B/%E6%8F%92%E5%B1%8F%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%8F%92%E5%B1%8F%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 HJAdsSdkInterstitial interstitialAd;
/**
* PLACEMENT_ID 必填
* USER_ID 可选
* OPTIONS 自定义参数 可选
*/
HJInterstitialAdRequest request = new HJInterstitialAdRequest(PLACEMENT_ID, USER_ID, OPTIONS);
HJOnAdsSdkInterstitialListener listener = new HJOnAdsSdkInterstitialListener() {
@Override
public void onInterstitialAdLoadSuccess(String placementId) {
}
@Override
public void onInterstitialAdPlayStart() {
}
@Override
public void onInterstitialAdPlayEnd() {
}
@Override
public void onInterstitialAdClicked() {
}
@Override
public void onInterstitialAdClosed() {
}
/**
* 加载广告错误回调
* HJAdError 插屏错误内容
* placementId 广告位
*/
@Override
public void onInterstitialAdLoadError(final HJAdError error, final String placementId) {
}
/**
* 播放错误回调
* HJAdError 插屏错误内容
* placementId 广告位
*/
@Override
public void onInterstitialAdPlayError(final HJAdError error, final String placementId) {
}
}
interstitialAd = new HJAdsSdkInterstitial(this, request, listener);</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/Android/%E5%B9%BF%E5%91%8A%E7%B1%BB%E5%9E%8B/%E6%8F%92%E5%B1%8F%E5%B9%BF%E5%91%8A/#_2-2-%E6%8F%92%E5%B1%8F%E5%B9%BF%E5%91%8A%E5%8A%A0%E8%BD%BD"></a></h3>
<p>java</p>
<pre><code>/**
*同一个interstitialAd不建议在广告playing中重复load
*同一个interstitialAd在onInterstitialAdClosed中可以load下一次广告
*/
if (interstitialAd != null) {
interstitialAd.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/Android/%E5%B9%BF%E5%91%8A%E7%B1%BB%E5%9E%8B/%E6%8F%92%E5%B1%8F%E5%B9%BF%E5%91%8A/#_2-3-%E6%8F%92%E5%B1%8F%E5%B9%BF%E5%91%8A%E6%92%AD%E6%94%BE"></a></h3>
<p>java</p>
<pre><code>/**
* 收到onInterstitialAdLoadSuccess回调代表广告已ready
* option 自定义参数(可选)
*/
if (interstitialAd != null &amp;&amp; interstitialAd.isReady()) {
//广告播放
HashMap option = new HashMap();
option.put(&quot;key1&quot;, &quot;567&quot;);
option.put(&quot;key2&quot;, &quot;转盘抽奖&quot;);
interstitialAd.show(this, option);
}</code></pre>
<h3>2.4 插屏广告预加载注意事项<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%8F%92%E5%B1%8F%E5%B9%BF%E5%91%8A/#_2-4-%E6%8F%92%E5%B1%8F%E5%B9%BF%E5%91%8A%E9%A2%84%E5%8A%A0%E8%BD%BD%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9"></a></h3>
<ul>
<li>
<p>需要在平台开启预加载功能。</p>
</li>
<li>
<p>开启预加载功能后,sdk内部会在广告播放中再次去请求广告,成功后会再次回调onInterstitialAdLoadSuccess。(<strong>相当于load一次广告会有两次onInterstitialAdLoadSuccess</strong>)</p>
</li>
<li>
<p>开启预加载功能后,要注意全局使用同一个HJAdsSdkInterstitial对象。(<strong>new注意判null</strong>)</p>
</li>
<li>广告播放时可先判断isReady(),如果ready直接播放,否则可再次调用loadAd()。</li>
</ul>
<p>java</p>
<pre><code>private HJAdsSdkInterstitial mInterstitialAd;;//全局对象
/**
* 加载广告
*/
private void loadAd() {
if (mInterstitialAd == null) {
mInterstitialAd = new HJAdsSdkInterstitial(this, new HJInterstitialAdRequest(placementId, userID, options), new HJOnAdsSdkInterstitialListener() {
@Override
public void onInterstitialAdLoadSuccess(String placementId) {
}
@Override
public void onInterstitialAdPlayStart() {
}
@Override
public void onInterstitialAdPlayEnd() {
}
@Override
public void onInterstitialAdClicked() {
}
@Override
public void onInterstitialAdClosed() {
}
/**
* 加载广告错误回调
* HJAdError 插屏错误内容
* placementId 广告位
*/
@Override
public void onInterstitialAdLoadError(final HJAdError error, final String placementId) {
}
/**
* 播放错误回调
* HJAdError 插屏错误内容
* placementId 广告位
*/
@Override
public void onInterstitialAdPlayError(final HJAdError error, final String placementId) {
}
});
}
mInterstitialAd.loadAd();
}</code></pre>