激励视频
<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%BF%80%E5%8A%B1%E8%A7%86%E9%A2%91/#%E6%BF%80%E5%8A%B1%E8%A7%86%E9%A2%91%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/Android/%E5%B9%BF%E5%91%8A%E7%B1%BB%E5%9E%8B/%E6%BF%80%E5%8A%B1%E8%A7%86%E9%A2%91/#_1-%E4%B8%BB%E8%A6%81api"></a></h2>
<h3>1.1 HJAdsSdkReward<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%BF%80%E5%8A%B1%E8%A7%86%E9%A2%91/#_1-1-wmrewardad"></a></h3>
<ul>
<li>com.hzhj.openads.HJAdsSdkReward</li>
</ul>
<table>
<thead>
<tr>
<th>方法名</th>
<th>方法介绍</th>
</tr>
</thead>
<tbody>
<tr>
<td>HJAdsSdkReward(Activity activity, HJRewardAdRequest request, HJOnAdsSdkRewardListener listener)</td>
<td>构造方法。参数说明:activity(展示广告的 activity)、request(广告请求对象)、 回调监听</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 HJRewardAdRequest<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%BF%80%E5%8A%B1%E8%A7%86%E9%A2%91/#_1-2-wmrewardadrequest"></a></h3>
<ul>
<li>com.hzhj.openads.req.HJRewardAdRequest</li>
</ul>
<table>
<thead>
<tr>
<th>方法名</th>
<th>方法介绍</th>
</tr>
</thead>
<tbody>
<tr>
<td>HJRewardAdRequest(String placementId, String userId, Map<String, Object> options)</td>
<td>构造方法。参数说明:placementId(广告位Id)、userId(用户Id可选)、options(扩展参数,可传任意)。</td>
</tr>
</tbody>
</table>
<h3>1.3 HJOnAdsSdkRewardListener<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%BF%80%E5%8A%B1%E8%A7%86%E9%A2%91/#_1-3-wmrewardadlistener"></a></h3>
<ul>
<li>com.hzhj.openads.listener.HJOnAdsSdkRewardListener</li>
</ul>
<table>
<thead>
<tr>
<th>方法名</th>
<th>方法介绍</th>
</tr>
</thead>
<tbody>
<tr>
<td>onVideoAdLoadSuccess(String placementId)</td>
<td>广告成功加载。参数说明:placementId(广告位Id)。</td>
</tr>
<tr>
<td>onVideoAdLoadError(HJAdError error, String placementId)</td>
<td>广告加载失败。参数说明:error(报错信息,具体可看其内部code和message)、placementId(报错的广告位Id)。</td>
</tr>
<tr>
<td>onVideoAdPlayStart()</td>
<td>广告成功展示,媒体可在此记录曝光。</td>
</tr>
<tr>
<td>onVideoAdPlayError(HJAdError error, String placementId)</td>
<td>广告播放出错。参数说明:error(报错信息,具体可看其内部code和message)、placementId(报错的广告位Id)。</td>
</tr>
<tr>
<td>onVideoAdPlayEnd()</td>
<td>广告播放结束。</td>
</tr>
<tr>
<td>onVideoAdClicked()</td>
<td>广告被点击。</td>
</tr>
<tr>
<td>onVideoRewarded(String transId)</td>
<td>广告获取奖励。参数说明: transId(标识本次广告播放行为的唯一id)</td>
</tr>
<tr>
<td>onVideoAdClosed()</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%BF%80%E5%8A%B1%E8%A7%86%E9%A2%91/#_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%BF%80%E5%8A%B1%E8%A7%86%E9%A2%91/#_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 HJAdsSdkReward rewardVideoAd;
/**
* PLACEMENT_ID 必填
* USER_ID 可选
* OPTIONS 自定义参数 可选
*/
HJRewardAdRequest request = new HJRewardAdRequest(PLACEMENT_ID, USER_ID, OPTIONS);
HJOnAdsSdkRewardListener listener = new HJOnAdsSdkRewardListener() {
@Override
public void onVideoAdLoadSuccess(String placementId) {
}
@Override
public void onVideoAdPlayEnd() {
}
@Override
public void onVideoAdPlayStart() {
}
@Override
public void onVideoAdClicked() {
}
@Override
public void onVideoRewarded(String transId) {
}
@Override
public void onVideoAdClosed() {
}
/**
* 加载广告错误回调
* HJAdError 激励视频错误内容
* placementId 广告位
*/
@Override
public void onVideoAdLoadError(HJAdError error, final String placementId) {
}
/**
* 播放错误回调
* HJAdError 激励视频错误内容
* placementId 广告位
*/
@Override
public void onVideoAdPlayError(HJAdError error, final String placementId) {
}
}
rewardVideoAd = new HJAdsSdkReward(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%BF%80%E5%8A%B1%E8%A7%86%E9%A2%91/#_2-2-%E6%BF%80%E5%8A%B1%E8%A7%86%E9%A2%91%E5%B9%BF%E5%91%8A%E5%8A%A0%E8%BD%BD"></a></h3>
<p>java</p>
<pre><code>/**
*同一个rewardVideoAd不建议在广告playing中重复load
*同一个rewardVideoAd在onVideoAdClosed中可以load下一次广告
*/
if (rewardVideoAd != null) {
rewardVideoAd.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%BF%80%E5%8A%B1%E8%A7%86%E9%A2%91/#_2-3-%E6%BF%80%E5%8A%B1%E8%A7%86%E9%A2%91%E5%B9%BF%E5%91%8A%E6%92%AD%E6%94%BE"></a></h3>
<p>java</p>
<pre><code>/**
* 收到onVideoAdLoadSuccess回调代表广告已ready
* option 自定义参数(可选)
*/
if (rewardVideoAd != null &amp;&amp; rewardVideoAd.isReady()) {
//广告播放
HashMap option = new HashMap();
option.put(&quot;key1&quot;, &quot;567&quot;);
option.put(&quot;key2&quot;, &quot;转盘抽奖&quot;);
rewardVideoAd.show(this, option);
}</code></pre>
<ul>
<li>
<p>需要在平台开启预加载功能。</p>
</li>
<li>
<p>开启预加载功能后,sdk内部会在广告播放中再次去请求广告,成功后会再次回调onVideoAdLoadSuccess。(**相当于load一次广告会有两次onVideoAdLoadSuccess。)</p>
</li>
<li>
<p>开启预加载功能后,要注意全局使用同一个HJAdsSdkReward对象。(<strong>new注意判null</strong>)</p>
</li>
<li>广告播放时可先判断isReady(),如果ready直接播放,否则可再次调用loadAd()。</li>
</ul>
<p>java</p>
<pre><code>private HJAdsSdkReward mRewardAd;//全局对象
/**
* 加载广告
*/
private void loadAd() {
if (mRewardAd == null) {
mRewardAd = new HJAdsSdkReward(this, new HJRewardAdRequest(placementId, userID, options), new HJOnAdsSdkRewardListener() {
@Override
public void onVideoAdLoadSuccess(String placementId) {
}
@Override
public void onVideoAdPlayEnd() {
}
@Override
public void onVideoAdPlayStart() {
}
@Override
public void onVideoAdClicked() {
}
@Override
public void onVideoRewarded(String transId) {
}
@Override
public void onVideoAdClosed() {
}
/**
* 加载广告错误回调
* HJAdError 激励视频错误内容
* placementId 广告位
*/
@Override
public void onVideoAdLoadError(HJAdError error, final String placementId) {
}
/**
* 播放错误回调
* HJAdError 激励视频错误内容
* placementId 广告位
*/
@Override
public void onVideoAdPlayError(HJAdError error, final String placementId) {
}
});
}
mRewardAd.loadAd();
}</code></pre>