主题
激励视频广告
1. 主要API
1.1 ApexAdxReward
com.apex.adx.ApexAdxReward
| 方法名 | 方法介绍 |
|---|---|
| ApexAdxReward(Activity activity, ApexAdxRewardRequest request, ApexAdxRewardListener listener) | 构造方法。参数说明:activity(展示广告的 activity)、request(广告请求对象)、 回调监听 |
| loadRewardAd() | 广告加载。 |
| isReady() | 广告是否准备好,未准备好广告将无法展示。 |
| show(HashMap<String, String> options) | 展示广告。参数说明:options(广告展示时的扩展参数,可选)。 |
| show(Activity targetActivity, HashMap<String, String> options) | 展示广告。targetActivity:指定目标Activity,参数说明:options(广告展示时的扩展参数,可选)。 |
| destroy() | 销毁广告。 |
1.2 ApexAdxRewardRequest
com.apex.adx.req.ApexAdxRewardRequest
| 方法名 | 方法介绍 |
|---|---|
| ApexAdxRewardRequest(String pid, String userId, Map<String, Object> options) | 构造方法。参数说明:pid(广告位Id)、userId(用户Id可选)、options(扩展参数,可传任意)。 |
1.3 ApexAdxRewardListener
com.apex.adx.listener.ApexAdxRewardListener
| 方法名 | 方法介绍 |
|---|---|
| onVideoAdLoadSuccess(String pid) | 广告成功加载。参数说明:pid(广告位Id)。 |
| onVideoAdLoadError(ApexAdxError error, String pid) | 广告加载失败。参数说明:error(报错信息,具体可看其内部code和msg)、pid(报错的广告位Id)。 |
| onVideoAdPlayStart() | 广告成功展示,媒体可在此记录曝光。 |
| onVideoAdPlayError(ApexAdxError error, String pid) | 广告播放出错。参数说明:error(报错信息,具体可看其内部code和msg)、pid(报错的广告位Id)。 |
| onVideoAdPlayEnd() | 广告播放结束。 |
| onVideoAdClicked() | 广告被点击。 |
| onVideoRewarded(String transId, AdRewardVerify rewardVerify) | 广告获取奖励。参数说明: transId(标识本次广告播放行为的唯一id)、rewardVerify:奖励对象 |
| onVideoAdClosed() | 广告关闭。 |
2. 接入代码示例
2.1 设置监听回调
java
private ApexAdxReward apexAdxReward;
/**
* PID 必填
* USER_ID 可选
* OPTIONS 自定义参数 可选
*/
ApexAdxRewardRequest request = new ApexAdxRewardRequest(PID, USER_ID, OPTIONS);
ApexAdxRewardListener listener = new ApexAdxRewardListener() {
@Override
public void onVideoAdLoadSuccess(String pid) {
}
@Override
public void onVideoAdPlayEnd() {
}
@Override
public void onVideoAdPlayStart() {
}
@Override
public void onVideoAdClicked() {
}
@Override
public void onVideoRewarded(String transId, AdRewardVerify rewardVerify) {
}
@Override
public void onVideoAdClosed() {
}
/**
* 加载广告错误回调
* ApexAdxError 激励视频错误内容
* pid 广告位
*/
@Override
public void onVideoAdLoadError(ApexAdxError error, String pid) {
}
/**
* 播放错误回调
* ApexAdxError 激励视频错误内容
* pid 广告位
*/
@Override
public void onVideoAdPlayError(ApexAdxError error, String pid) {
}
}
apexAdxReward = new ApexAdxReward(this, request, listener);2.2 激励视频广告加载
java
/**
*同一个reward对象不建议在广告playing中重复load
*同一个reward对象在onVideoAdClosed中可以load下一次广告
*/
if (apexAdxReward != null) {
apexAdxReward.loadAd();
}2.3 激励视频广告播放
java
/**
* 收到onLoadSuccess回调代表广告已ready
* option 自定义参数(可选)
*/
if (apexAdxReward != null && apexAdxReward.isReady()) {
//广告播放,可根据需要是否传入扩展参数,不传可以传入null
HashMap option = new HashMap();
option.put("key1", "value1");
apexAdxReward.show(option);
}- 平台默认开启预加载功能。
- sdk内部会在广告播放中再次去请求广告。
- 要注意当前页面全局使用同一个ApexAdxReward对象。
- 广告播放时可先判断isReady(),如果ready直接播放,否则可再次调用loadAd()。
java
private ApexAdxReward apexAdxReward; //全局对象
/**
* 加载广告示例
*/
private void loadAdDemo() {
// 先判断全局对象是否不为null 并且 是ready状态,如果是可以直接播放,否则去重新加载
if (apexAdxReward != null && apexAdxReward.isReady()) {
apexAdxReward.show(null);
} else {
// 如果对象是null,先创建对象
if (apexAdxReward == null) {
ApexAdxRewardRequest apexAdxRewardRequest = new ApexAdxRewardRequest(PID, userId, null);
apexAdxReward = new ApexAdxReward(MainActivity.this, MainActivity.this, apexAdxRewardRequest, ApexAdxRewardListener);
}
// 加载广告
apexAdxReward.loadRewardAd();
}
}