SDK说明


激励视频

<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 WMRewardAd<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.windmill.sdk.reward.WMRewardAd</li> </ul> <table> <thead> <tr> <th>方法名</th> <th>方法介绍</th> </tr> </thead> <tbody> <tr> <td>WMRewardAd(Activity activity, WMRewardAdRequest request)</td> <td>构造方法。参数说明:activity(展示广告的 activity)、request(广告请求对象)。</td> </tr> <tr> <td>setRewardedAdListener(WMRewardAdListener rewardAdListener)</td> <td>回调监听。广告相关状态会通过 rewardAdListener 通知开发者。</td> </tr> <tr> <td>loadAd()</td> <td>拉取广告。</td> </tr> <tr> <td>isReady()</td> <td>广告是否准备好,未准备好广告将无法展示。</td> </tr> <tr> <td>show(Activity activity, HashMap&lt;String, String&gt; options)</td> <td>展示广告。参数说明:activity(展示广告的 activity)、options(广告展示时的扩展参数,可选,可参考demo)。</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%BF%80%E5%8A%B1%E8%A7%86%E9%A2%91/#_1-2-wmrewardadrequest">​</a></h3> <ul> <li>com.windmill.sdk.reward.WMRewardAdRequest</li> </ul> <table> <thead> <tr> <th>方法名</th> <th>方法介绍</th> </tr> </thead> <tbody> <tr> <td>WMRewardAdRequest(String placementId, String userId, Map&lt;String, Object&gt; options)</td> <td>构造方法。参数说明:placementId(广告位Id)、userId(用户Id可选)、options(扩展参数,可传任意)。</td> </tr> </tbody> </table> <h3>1.3 WMRewardAdListener<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.windmill.sdk.reward.WMRewardAdListener</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(WindMillError error, String placementId)</td> <td>广告加载失败。参数说明:error(报错信息,具体可看其内部code和message)、placementId(报错的广告位Id)。</td> </tr> <tr> <td>onVideoAdPlayStart(AdInfo adInfo)</td> <td>广告成功展示,媒体可在此记录曝光。参数说明:adInfo(广告信息,具体可看其内部成员变量)。</td> </tr> <tr> <td>onVideoAdPlayError(WindMillError error, String placementId)</td> <td>广告播放出错。参数说明:error(报错信息,具体可看其内部code和message)、placementId(报错的广告位Id)。</td> </tr> <tr> <td>onVideoAdPlayEnd(AdInfo adInfo)</td> <td>广告播放结束。参数说明:adInfo(广告信息,具体可看其内部成员变量)。</td> </tr> <tr> <td>onVideoAdClicked(AdInfo adInfo)</td> <td>广告被点击。参数说明:adInfo(广告信息,具体可看其内部成员变量)。</td> </tr> <tr> <td>onVideoRewarded(AdInfo adInfo, WMRewardInfo rewardInfo)</td> <td>广告获取奖励。参数说明:adInfo(广告信息,具体可看其内部成员变量)、rewardInfo(奖励信息)。</td> </tr> <tr> <td>onVideoAdClosed(AdInfo adInfo)</td> <td>广告关闭。参数说明:adInfo(广告信息,具体可看其内部成员变量)。</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 WMRewardAd rewardVideoAd; /** * PLACEMENT_ID 必填 * USER_ID 可选 * OPTIONS 自定义参数 可选 */ WMRewardAdRequest request = new WMRewardAdRequest(PLACEMENT_ID, USER_ID, OPTIONS); rewardVideoAd = new WMRewardAd(this, request); rewardVideoAd.setRewardedAdListener(new WMRewardAdListener() { @Override public void onVideoAdLoadSuccess(String placementId) { } @Override public void onVideoAdPlayEnd(AdInfo adInfo)) { } @Override public void onVideoAdPlayStart(AdInfo adInfo) { } @Override public void onVideoAdClicked(AdInfo adInfo) { } /** * WMRewardInfo 激励内容 * placementId 广告位 */ @Override public void onVideoRewarded(AdInfo adInfo, WMRewardInfo rewardInfo) { } @Override public void onVideoAdClosed(AdInfo adInfo) { } /** * 加载广告错误回调 * WindMillError 激励视频错误内容 * placementId 广告位 */ @Override public void onVideoAdLoadError(final WindMillError error, final String placementId) { } /** * 播放错误回调 * WindMillError 激励视频错误内容 * placementId 广告位 */ @Override public void onVideoAdPlayError(final WindMillError error, final String placementId) { } });</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>/** *同一个WMRewardAd不建议在广告playing中重复load *同一个WMRewardAd在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;&amp;amp; rewardVideoAd.isReady()) { //广告播放 HashMap option = new HashMap(); option.put(WMConstants.AD_SCENE_ID, &amp;quot;567&amp;quot;); option.put(WMConstants.AD_SCENE_DESC, &amp;quot;转盘抽奖&amp;quot;); rewardVideoAd.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%BF%80%E5%8A%B1%E8%A7%86%E9%A2%91/#_2-4-%E6%BF%80%E5%8A%B1%E5%9B%9E%E8%B0%83%E9%A3%8E%E6%8E%A7%E7%9B%B8%E5%85%B3">​</a></h3> <p>&gt; 在激励回调onVideoRewarded方法中获取rewardInfo对象的内部数据。</p> <ul> <li>com.windmill.sdk.reward.WMRewardInfo</li> </ul> <table> <thead> <tr> <th>方法名</th> <th>方法介绍</th> </tr> </thead> <tbody> <tr> <td>isReward()</td> <td>是否奖励</td> </tr> <tr> <td>getCustomData()</td> <td>customData数据目前只针对穿山甲渠道</td> </tr> <tr> <td>getTrans_id()</td> <td>请求的唯一ID。</td> </tr> <tr> <td>getThird_trans_id()</td> <td>获取第三方平台的请求的唯一ID。目前支持优量汇、百度等渠道</td> </tr> <tr> <td>getUser_id()</td> <td>获取userID。</td> </tr> </tbody> </table> <p>&gt; 穿山甲customData数据取值可参考下方代码。</p> <p>java</p> <pre><code>/** * 穿山甲激励回调 */ @Override public void onRewardVerify(boolean rewardVerify, int rewardAmount, String rewardName, int errorCode, String errorMsg) { Map&amp;lt;String, Object&amp;gt; customData = new HashMap&amp;lt;&amp;gt;(); customData.put(&amp;quot;rewardVerify&amp;quot;, rewardVerify); customData.put(&amp;quot;errorCode&amp;quot;, errorCode); customData.put(&amp;quot;errorMsg&amp;quot;, errorMsg); callVideoAdRewardWithData(rewardVerify, customData); }</code></pre> <h3>2.5 激励视频广告预加载注意事项<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-5-%E6%BF%80%E5%8A%B1%E8%A7%86%E9%A2%91%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内部会在广告播放中再次去请求广告,成功后会再次回调onVideoAdLoadSuccess。(<strong>相当于load一次广告会有两次onVideoAdLoadSuccess。3.3.0版本及以后不再回调两次</strong>)</p> </li> <li> <p>开启预加载功能后,要注意全局使用同一个WMRewardAd对象。(<strong>new注意判null</strong>)</p> </li> <li>广告播放时可先判断isReady(),如果ready直接播放,否则可再次调用loadAd()。</li> </ul> <p>java</p> <pre><code>private WMRewardAd mRewardAd;//全局对象 /** * 加载广告 */ private void loadAd() { if (mRewardAd == null) { mRewardAd = new WMRewardAd(this, new WMRewardAdRequest(placementId, userID, options)); } mRewardAd.setRewardedAdListener(new WMRewardAdListener() { @Override public void onVideoAdLoadSuccess(final String placementId) { } @Override public void onVideoAdPlayEnd(AdInfo adInfo) { } @Override public void onVideoAdPlayStart(AdInfo adInfo) { } @Override public void onVideoAdClicked(AdInfo adInfo) { } @Override public void onVideoAdClosed(AdInfo adInfo) { } @Override public void onVideoRewarded(AdInfo adInfo, final WMRewardInfo rewardInfo) { } @Override public void onVideoAdLoadError(final WindMillError error, final String placementId) { } @Override public void onVideoAdPlayError(final WindMillError error, final String placementId) { } }); mRewardAd.loadAd(); }</code></pre>

页面列表

ITEM_HTML