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/Flutter/%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/Flutter/%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-%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%BF%80%E5%8A%B1%E8%A7%86%E9%A2%91/#_1-1-%E6%BF%80%E5%8A%B1%E8%A7%86%E9%A2%91%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%BF%80%E5%8A%B1%E8%A7%86%E9%A2%91/#_1-2-%E6%BF%80%E5%8A%B1%E8%A7%86%E9%A2%91%E5%AF%B9%E8%B1%A1%E7%B1%BB">​</a></h3> <p><strong>WindmillRewardAd</strong></p> <table> <thead> <tr> <th>方法</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td>WindmillRewardAd(required AdRequest this.request, required WindmillRewardListener&lt;WindmillRewardAd&gt; this.listener)</td> <td>初始化激励视频广告对象, request 为广告请求对象,必传, listener 激励视频视频接口 必传</td> </tr> <tr> <td>loadAdData()</td> <td>发起广告加载</td> </tr> <tr> <td>isReady()</td> <td>判断当前广告是否存在可展示的广告</td> </tr> <tr> <td>showAd()</td> <td>展示广告</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.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/Flutter/%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-4-%E6%BF%80%E5%8A%B1%E8%A7%86%E9%A2%91%E5%9B%9E%E8%B0%83%E8%AF%B4%E6%98%8E">​</a></h3> <p><strong>WindmillRewardListener</strong> 激励视频回调说明</p> <table> <thead> <tr> <th>回调方法</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td>onAdFailedToLoad (WindmillRewardAd ad, WMError error)</td> <td>广告加载失败</td> </tr> <tr> <td>onAdLoaded (WindmillRewardAd ad)</td> <td>广告加载成功</td> </tr> <tr> <td>onAdOpened (WindmillRewardAd ad)</td> <td>广告开始展示</td> </tr> <tr> <td>onAdReward (WindmillRewardAd ad, RewardInfo rewardInfo )</td> <td>广告获得奖励</td> </tr> <tr> <td>onAdShowError (WindmillRewardAd ad, WMError error)</td> <td>广告开始展示失败</td> </tr> <tr> <td>onAdClicked (WindmillRewardAd ad)</td> <td>广告被用户点击</td> </tr> <tr> <td>onAdSkiped (WindmillRewardAd ad)</td> <td>用户跳过广告播放</td> </tr> <tr> <td>onAdVideoPlayFinished (WindmillRewardAd ad)</td> <td>广告视频播放结束</td> </tr> <tr> <td>onAdClosed (WindmillRewardAd ad)</td> <td>广告关闭</td> </tr> </tbody> </table> <p><strong>RewardInfo</strong> 奖励回调信息说明</p> <table> <thead> <tr> <th>参数</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td>isReward</td> <td>是否获得奖励</td> </tr> <tr> <td>transId</td> <td>标识本次广告播放行为的唯一id</td> </tr> <tr> <td>userId</td> <td>媒体用户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/Flutter/%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-%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%BF%80%E5%8A%B1%E8%A7%86%E9%A2%91/#_2-1-%E5%88%9B%E5%BB%BA%E6%BF%80%E5%8A%B1%E8%A7%86%E9%A2%91%E5%B9%BF%E5%91%8A%E5%AF%B9%E8%B1%A1">​</a></h3> <p>dart</p> <pre><code>AdRequest request = AdRequest(placementId: placementId); WindmillRewardAd rewardVideoAd = WindmillRewardAd( 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%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>dart</p> <pre><code>class IWindMillRewardListener extends WindmillRewardListener&amp;lt;WindmillRewardAd&amp;gt; { @override void onAdClicked(WindmillRewardAd ad) { print('onAdClicked -- ${ad.request.placementId}'); } @override void onAdClosed(WindmillRewardAd ad) { print('onAdClosed -- ${ad.request.placementId}'); } @override void onAdFailedToLoad(WindmillRewardAd ad, WMError error) { print('onAdFailedToLoad -- ${ad.request.placementId}, error: ${error.toJson()}'); } @override void onAdLoaded(WindmillRewardAd ad) { print('onAdLoaded -- ${ad.request.placementId}'); } @override void onAdOpened(WindmillRewardAd ad) { print('onAdOpened -- ${ad.request.placementId}'); } @override void onAdReward(WindmillRewardAd ad, RewardInfo rewardInfo) { print('onAdReward -- ${ad.request.placementId} -- IsReward -- ${rewardInfo.isReward} --- TransId -- ${rewardInfo.transId} -- UserId -- ${rewardInfo.userId} '); } @override void onAdSkiped(WindmillRewardAd ad) { print('onAdSkiped -- ${ad.request.placementId}'); } @override void onAdVideoPlayFinished(WindmillRewardAd ad) { print('onAdVideoPlayFinished -- ${ad.request.placementId}'); } @override void onAdShowError(WindmillRewardAd ad,WMError error) { print('onAdShowError -- ${ad.request.placementId}, error: ${error == null ? &amp;quot;null&amp;quot; : error.toJson()}'); } }</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%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>dart</p> <pre><code>rewardVideoAd.loadAdData();</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%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>dart</p> <pre><code>bool isReady = await rewardVideoAd.isReady(); if(isReady){ rewardVideoAd.showAd(); }</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/Flutter/%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%E8%A7%86%E9%A2%91%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内部会在广告播放中再次去请求广告,成功后会再次回调onAdLoaded。(<strong>相当于load一次广告会有两次onAdLoaded</strong>)</p> </li> <li> <p>开启预加载功能后,要注意全局使用同一个WindmillRewardAd对象。(<strong>new注意判null</strong>)</p> </li> <li>广告播放时可先判断isReady(),如果ready直接播放,否则可再次调用loadAdData()。</li> </ul> <p>dart</p> <pre><code>var WindmillRewardAd rewardVideoAd;//全局对象 /** * 加载广告 */ void loadAd() { if (rewardVideoAd == null) { AdRequest request = AdRequest(placementId: placementId); rewardVideoAd = WindmillRewardAd( request:request, listener: listener); } rewardVideoAd.loadAdData(); }</code></pre>

页面列表

ITEM_HTML