💡Tips
- 为提高开屏广告的加载效率可以参考预置策略
- 可根据实际业务需要传入期望的开屏广告加载超时时间,建议传入 6000ms - 10000ms
- 广告加载超时时间,即可以等待开屏广告加载的最长时间(仅为等待广告加载的超时,不包括广告展示的时间)
- ⚠️ 传入的超时时间太短或没有根据传入的超时时间去作为开屏等待加载广告的时间,可能会影响开屏广告的效果
- ⚠️ HyperBid Tools控制台-应用管理-聚合单元-高级设置中若启用价格优先模式,则价格优先回调超时时间的优先级将高于传入的 fetchTimeout
/**
* @param fetchTimeout 加载超时时间,单位:ms
*/
DTGAppOpenAd mSplashAd = new DTGAppOpenAd(activity, "your mediation unit id", fetchTimeout);
mSplashAd.setListener(new DTGAppOpenAdListener() {
@Override
public void onAdLoaded(DTGAdInfo dtgAdInfo) {
// 加载成功回调
}
@Override
public void onAdLoadTimeout() {
// 加载超时回调
}
@Override
public void onAdDisplayed(DTGAdInfo dtgAdInfo) {
// 展示成功回调
}
@Override
public void onAdHidden(DTGAdInfo dtgAdInfo) {
// 广告关闭回调,建议在此回调中移除view
if (mSplashAdContainer != null) {
mSplashAdContainer.removeAllViews();
}
// pre-load
mSplashAd.loadAd();
}
@Override
public void onAdClicked(DTGAdInfo dtgAdInfo) {
// 触发点击回调
}
@Override
public void onAdLoadFailed(DTGError dtgError) {
// 加载失败回调
}
@Override
public void onAdDisplayFailed(DTGAdInfo dtgAdInfo, DTGError dtgError) {
// 展示失败回调
// pre-load
mSplashAd.loadAd();
}
});
mSplashAd.setRevenueListener(new DTGAdRevenueListener() {
@Override
public void onAdRevenuePaid(DTGAdInfo adInfo) {
// 可在此回调获取广告收益
}
});
mSplashAd.loadAd();
if (mSplashAd.isReady()) {
// mSplashAdContainer 显示开屏广告的父容器
mSplashAd.showAd(activity, mSplashAdContainer, null);
} else {
// 当前广告位没有可用缓存,建议重新加载
mSplashAd.loadAd();
}
if (mSplashAd != null) {
mSplashAd.destroy();
}