💡Tips
- 为提高开屏广告的加载效率可以参考预置策略
- 可根据实际业务需要传入期望的开屏广告加载超时时间,建议传入 6000ms - 10000ms
- 广告加载超时时间,即可以等待开屏广告加载的最长时间(仅为等待广告加载的超时,不包括广告展示的时间)
- ⚠️ 传入的超时时间太短或没有根据传入的超时时间去作为开屏等待加载广告的时间,可能会影响开屏广告的效果
- ⚠️ HyperBid Tools控制台-应用管理-聚合单元-高级设置中若启用价格优先模式,则价格优先回调超时时间的优先级将高于传入的 fetchTimeout
/**
* @param fetchTimeout 加载超时时间,单位:ms
*/
MCAppOpenAd mSplashAd = new MCAppOpenAd(activity, "your mediation unit id", fetchTimeout);
mSplashAd.setListener(new MCAppOpenAdListener() {
@Override
public void onAdLoaded(MCAdInfo mcAdInfo) {
// 加载成功回调
}
@Override
public void onAdLoadTimeout() {
// 加载超时回调
}
@Override
public void onAdDisplayed(MCAdInfo mcAdInfo) {
// 展示成功回调
}
@Override
public void onAdHidden(MCAdInfo mcAdInfo) {
// 广告关闭回调,建议在此回调中移除view
if (mSplashAdContainer != null) {
mSplashAdContainer.removeAllViews();
}
// 热启开屏推荐进行pre-load
// mSplashAd.loadAd();
}
@Override
public void onAdClicked(MCAdInfo mcAdInfo) {
// 触发点击回调
}
@Override
public void onAdLoadFailed(MCError mcError) {
// 加载失败回调
}
@Override
public void onAdDisplayFailed(MCAdInfo mcAdInfo, MCError mcError) {
// 展示失败回调
// 热启开屏推荐进行pre-load
// mSplashAd.loadAd();
}
});
mSplashAd.setRevenueListener(new MCAdRevenueListener() {
@Override
public void onAdRevenuePaid(MCAdInfo adInfo) {
// 可在此回调获取广告收益
}
});
mSplashAd.loadAd();
if (mSplashAd.isReady()) {
// mSplashAdContainer 显示开屏广告的父容器
mSplashAd.showAd(activity, mSplashAdContainer, null);
} else {
mSplashAd.loadAd();
}
if (mSplashAd != null) {
mSplashAd.destroy();
}
MCAppOpenAd mSplashAd = new MCAppOpenAd(activity, "your mediation unit id");
mSplashAd.setListener(new MCAdListener() {
...
@Override
public void onAdLoaded(MCAdInfo mcAdInfo) {
// 获取自定义参数
mcAdInfo.getOriginJsonString();
}
...
});
Map<String, Object> loadExtraParameter = new HashMap<>();
loadExtraParameter.put("test_load_extra_key", "test_load_extra_value");
mSplashAd.setLoadExtraParameter(loadExtraParameter);
Map<String, String> extraParameter = new HashMap<>();
extraParameter.put("test_extra_key", "test_extra_value");
mSplashAd.setExtraParameter(extraParameter);
mSplashAd.loadAd();