💡Tips
- 🚀 采用预加载机制提升用户体验
- ⚠️ 注意处理生命周期防止内存泄漏
- 🔧 推荐使用标准化回调处理流程
DTGRewardedAd mRewardVideoAd = new DTGRewardedAd(activity, "your placement id");
mRewardVideoAd.setListener(new DTGRewardedAdListener() {
@Override
public void onUserRewarded(DTGAdInfo dtgAdInfo, DTGReward dtgReward) {
// 激励触发回调
}
@Override
public void onUserRewardFailed(DTGAdInfo dtgAdInfo) {
// 激励触发失败回调
}
@Override
public void onRewardedVideoStarted(DTGAdInfo dtgAdInfo) {
}
@Override
public void onRewardedVideoCompleted(DTGAdInfo dtgAdInfo) {
}
@Override
public void onAdLoaded(DTGAdInfo dtgAdInfo) {
// 加载成功回调
}
@Override
public void onAdDisplayed(DTGAdInfo dtgAdInfo) {
// 展示成功回调
}
@Override
public void onAdHidden(DTGAdInfo dtgAdInfo) {
// 广告关闭回调
// pre-load
mRewardVideoAd.loadAd();
}
@Override
public void onAdClicked(DTGAdInfo dtgAdInfo) {
// 触发点击回调
}
@Override
public void onAdLoadFailed(DTGError dtgError) {
// 加载失败回调
// 需延迟2S/4S/8S...再次加载重试有限次(禁止在此循环重试加载)
mRewardVideoAd.loadAd();
}
@Override
public void onAdDisplayFailed(DTGAdInfo dtgAdInfo, DTGError dtgError) {
// 展示失败回调
// pre-load
mRewardVideoAd.loadAd();
}
});
mRewardVideoAd.setRevenueListener(new DTGAdRevenueListener() {
@Override
public void onAdRevenuePaid(DTGAdInfo adInfo) {
// 可在此回调获取广告收益
}
});
mRewardVideoAd.loadAd();
if (mRewardVideoAd.isAdReady()) {
mRewardVideoAd.showAd(activity, null);
} else {
mRewardVideoAd.load();
}
if (mRewardVideoAd != null) {
mRewardVideoAd.destroy();
}
DTGRewardedAd mRewardVideoAd = new DTGRewardedAd(activity, "your placement id");
String userid = "test_userid_001";
String userdata = "test_userdata_001";
Map<String, Object> localMap = new HashMap<>();
localMap.put(DTGAdConst.KEY.USER_ID, userid);
localMap.put(DTGAdConst.KEY.USER_CUSTOM_DATA, userdata);
mRewardVideoAd.setLoadExtraParameter(localMap);
mRewardVideoAd.setListener(new DTGRewardedAdListener() {
...
@Override
public void onAdLoaded(DTGAdInfo dtgAdInfo) {
// 获取自定义参数
dtgAdInfo.getOriginJsonString();
}
...
});
mRewardVideoAd.loadAd();