激励互动广告
简介
全屏视频广告,用户完整观看或完成互动后获得奖励。
互动类:奖励与用户的交互有关(如:打开App并停留等),在用户完成任务后,触发奖励验证和回调;
视频观看类:播放完毕后,触发奖励验证和回调。
接口说明
方法 | 说明 |
UMUnionSdk.loadRewardAd(UMAdConfig, AdLoadListener<UMRewardAD>) | 请求激励视频 |
UMAdConfig 激励专用参数
方法 | 说明 |
setSlotId(String) | 设置代码位ID |
setUserId(String) | 设置服务端验证用用户ID(可选) |
setCustomData(String) | 设置服务端验证自定义数据(可选) |
UMRewardAD
方法 | 说明 |
show(Activity activity) | 显示激励视频,必须传入Activity |
setAdEventListener(RewardAdListener) | 设置奖励及事件回调 |
disableShake() | 关闭摇一摇 |
getECPM() | 获取出价(单位分),PD模式返回-1 |
isValid() | 广告是否有效 |
win(Double highestLossPrice) | 竞胜后调用,用于优化广告填充 |
loss(Double winPrice, LossReason reason) | 竞败后调用,用于优化广告填充 |
RewardAdListener
方法 | 说明 |
onReward(boolean valid, Map<String, Object> extra) | 奖励验证回调 |
onDismissed() | 广告关闭回调 |
onExposed() | 曝光回调 |
onClicked(View view) | 点击回调 |
onError(int code, String message) | 错误回调 |
AdRenderListener
扩展 AdLoadListener,区分广告填充和素材渲染两个阶段,适用于被聚合场景:
方法 | 说明 |
onSuccess(AdType, UMRewardAD) | 广告请求成功,可用于比价 |
onFailure(AdType, String) | 广告请求失败 |
onRenderSuccess(AdType, UMRewardAD) | 素材加载完成,可以展示 |
onRenderFailure(AdType, String) | 素材渲染失败 |
调用示例
UMAdConfig config = new UMAdConfig.Builder()
.setSlotId("your_slot_id")
.setUserId("user_12345")
.setCustomData("{\"level\":5}")
.build();
UMUnionSdk.loadRewardAd(config, new UMUnionApi.AdRenderListener<UMRewardAD>() {
@Override
public void onSuccess(UMUnionApi.AdType type, UMRewardAD display) {
// 广告请求成功,可用于比价
}
@Override
public void onFailure(UMUnionApi.AdType type, String message) { }
@Override
public void onRenderSuccess(UMUnionApi.AdType type, UMRewardAD display) {
// 素材加载完成,可以展示
display.setAdEventListener(new UMUnionApi.RewardAdListener() {
@Override
public void onReward(boolean valid, Map<String, Object> extra) {
if (valid) { /* 发放奖励 */ }
}
@Override public void onDismissed() { }
@Override public void onExposed() { }
@Override public void onClicked(View v) { }
@Override public void onError(int code, String msg) { }
});
display.show(MyActivity.this);
}
@Override
public void onRenderFailure(UMUnionApi.AdType type, String message) {
// 素材渲染失败
}
});