0

我尝试在 1 个屏幕上显示 2 个横幅,但它只显示 1 个横幅。横幅 1 已加载并显示,但是当横幅 2 加载时,它显示并且横幅 1 为空。我的代码不能同时显示 2 个横幅。你能帮助我吗。

我的代码:

@BindingAdapter({"bind:initAds"})
public static void initAds(FrameLayout view, MainData data) {
    if (data.getAds() > 0) {
        AdsUtil.addBannerAds(view, data);
    } else {
        view.setVisibility(View.GONE);
    }

    //AdsUtil.addBannerAds(view, data);
}

public static void addBannerAds(final FrameLayout bannerWrapper, final MainData data)
{
    Activity mActivity = IxuApplication.getInstance().getCurrentActivity();
    BannerAdView bannerAdView = new BannerAdView(mActivity);
    HeyzapAds.setNetworkCallbackListener(new HeyzapAds.NetworkCallbackListener() {
        @Override
        public void onNetworkCallback(String network, String event) {
            Log.e("tungtung",network + " " + event);
        }

    });
    HeyzapAds.BannerOptions bannerOptions = bannerAdView.getBannerOptions();
    bannerOptions.setFacebookBannerSize(HeyzapAds.CreativeSize.BANNER);
    bannerOptions.setAdmobBannerSize(HeyzapAds.CreativeSize.BANNER);
    bannerOptions.setGenericBannerSize(HeyzapAds.CreativeSize.BANNER);
    if(bannerWrapper.getChildCount()>0)
        bannerWrapper.removeAllViews();
    bannerWrapper.addView(bannerAdView);
    bannerAdView.setBannerListener(new HeyzapAds.BannerListener() {
        @Override
        public void onAdError(BannerAdView bannerAdView, HeyzapAds.BannerError bannerError) {

        }

        @Override
        public void onAdLoaded(BannerAdView bannerAdView) {
            if(data.getEnable()!=2)
                data.setShowLineForAds(1);
            bannerWrapper.setVisibility(View.VISIBLE);
        }

        @Override
        public void onAdClicked(BannerAdView bannerAdView) {

        }
    });
    bannerAdView.load();
}
4

1 回答 1

0

很抱歉,如果您使用我们新的 10.x 统一 SDK,我们将不再支持同时放置多个横幅。这是新 SDK 的限制,我们目前正在寻找最佳解决方案。

如果您使用的是 9.x SDK,我可以给您一些注意事项:

为了提高广告投放的可靠性,我们建议您不要自行修改View可见性,并在横幅的整个生命周期中BannerAdView保留视图。VISIBLE

下一个注意事项是,以下代码会在您调用addBannerAds.

if(bannerWrapper.getChildCount() > 0)
    bannerWrapper.removeAllViews();

如果您从实现中删除此代码,您应该能够bannerWrapper一次添加多个横幅,并希望看到多个横幅。

于 2016-10-06T18:36:43.250 回答