💡Tips
- 🚀 采用预加载机制提升用户体验
- ⚠️ 注意处理生命周期防止内存泄漏
- 🔧 推荐使用标准化回调处理流程
- ⭐ 自动刷新功能 请详见-HyperBid Tools控制台-应用管理-聚合单元-高级设置
MCAdView mBannerView = new MCAdView(activity, "your mediation unit id");
mBannerView.setListener(new MCAdViewAdListener() {
@Override
public void onAdExpanded(MCAdInfo adInfo) {
// 若广告平台支持,折叠横幅展开会触发
}
@Override
public void onAdCollapsed(MCAdInfo adInfo) {
// 若广告平台支持,折叠横幅折叠会触发
}
@Override
public void onAdLoaded(MCAdInfo mcAdInfo) {
// 加载成功回调
}
@Override
public void onAdDisplayed(MCAdInfo mcAdInfo) {
// 展示成功回调
}
@Override
public void onAdHidden(MCAdInfo mcAdInfo) {
// 广告关闭回调
}
@Override
public void onAdClicked(MCAdInfo mcAdInfo) {
// 触发点击回调
}
@Override
public void onAdLoadFailed(MCError mcError) {
// 加载失败回调
}
@Override
public void onAdDisplayFailed(MCAdInfo mcAdInfo, MCError mcError) {
// 展示失败回调
}
});
mBannerView.setRevenueListener(new MCAdRevenueListener() {
@Override
public void onAdRevenuePaid(MCAdInfo adInfo) {
// 可在此回调获取广告收益
}
});
// 加载和显示广告时应始终保持容器和 BannerView 可见
mBannerView.setVisibility(View.VISIBLE);
//示例:加载的广告宽高为320x50
Map<String, Object> loadExtraParameter = new HashMap<>();
loadExtraParameter.put(MCAdConst.KEY.AD_WIDTH, MCSDKUtil.dpToPx(context, 320));
loadExtraParameter.put(MCAdConst.KEY.AD_HEIGHT, MCSDKUtil.dpToPx(context, 50));
mBannerView.setLoadExtraParameter(loadExtraParameter);
if (mBannerViewContainer != null && mBannerView != null) {
mBannerViewContainer.addView(mBannerView, new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, mBannerViewContainer.getLayoutParams().height));
}
mBannerView.loadAd();
if (mBannerViewContainer != null) {
mBannerViewContainer.removeAllViews();
}
if (mBannerView != null) {
mBannerView.destroy();
}
mBannerView = new MCAdView(activity, "your mediation unit id");
mBannerView.setListener(new MCAdViewAdListener() {
...
@Override
public void onAdLoaded(MCAdInfo adInfo) {
// 获取自定义参数
mcAdInfo.getOriginJsonString();
}
...
});
Map<String, Object> loadExtraParameter = new HashMap<>();
loadExtraParameter.put("test_load_extra_key", "test_load_extra_value");
loadExtraParameter.put("adaptive_banner_width", 400);
mBannerView.setLoadExtraParameter(loadExtraParameter);
Map<String, String> extraParameter = new HashMap<>();
extraParameter.put("test_extra_key", "test_extra_value");
extraParameter.put("adaptive_banner", "true");
mBannerView.setExtraParameter(extraParameter);
mBannerView.loadAd();