💡Tips
- 🚀 采用预加载机制提升用户体验
- ⚠️ 注意处理生命周期防止内存泄漏
- 🔧 推荐使用标准化回调处理流程
DTGInterstitialAd mInterstitialAd = new DTGInterstitialAd(activity, "your placement id");
mInterstitialAd.setListener(new DTGAdListener() {
@Override
public void onAdLoaded(DTGAdInfo dtgAdInfo) {
// 加载成功回调
}
@Override
public void onAdDisplayed(DTGAdInfo dtgAdInfo) {
// 展示成功回调
}
@Override
public void onAdHidden(DTGAdInfo dtgAdInfo) {
// 广告关闭回调
// pre-load
mInterstitialAd.loadAd();
}
@Override
public void onAdClicked(DTGAdInfo dtgAdInfo) {
// 触发点击回调
}
@Override
public void onAdLoadFailed(DTGError dtgError) {
// 加载失败回调
// 需延迟2S/4S/8S...再次加载重试有限次(禁止在此循环重试加载)
mInterstitialAd.loadAd();
}
@Override
public void onAdDisplayFailed(DTGAdInfo dtgAdInfo, DTGError dtgError) {
// 展示失败回调
// pre-load
mInterstitialAd.loadAd();
}
});
mInterstitialAd.setRevenueListener(new DTGAdRevenueListener() {
@Override
public void onAdRevenuePaid(DTGAdInfo adInfo) {
// 可在此回调获取广告收益
}
});
mInterstitialAd.loadAd();
if (mInterstitialAd.isReady()) {
mInterstitialAd.showAd(activity, null);
} else {
// 当前广告位没有可用缓存,建议重新加载
mInterstitialAd.loadAd();
}
if (mInterstitialAd != null) {
mInterstitialAd.destroy();
}