跳转到主要内容
PRODUCT DOCUMENTS

快速找到所需文档,高效完成接入与排障

浏览产品文档与友盟 Skill,展开目录并阅读正文。

激励互动广告

简介

全屏视频广告,用户完整观看或完成互动后获得奖励。

互动类:奖励与用户的交互有关(如:打开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) {
        // 素材渲染失败
    }
});