Хейзап только показывает баннер на экране

Я пытаюсь показать 2 баннера на 1 экране, но он показывает только 1 баннер. Баннер 1 загружен и отображается, но когда баннер 2 загружен, он отображается, и баннер 1 пуст. Мой код не может отображать оба баннера. Вы можете мне помочь.

Мой код:

@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();
}

1 ответ

Решение

Сожалею, что если вы используете наш новый унифицированный SDK 10.x, мы больше не поддерживаем одновременное размещение нескольких баннеров. Это ограничение нового SDK, и в настоящее время мы будем искать лучшее решение.

Если вы используете 9.x SDK, я могу дать вам несколько замечаний:

Чтобы повысить надежность показа объявлений, мы рекомендуем вам не изменять View видимость BannerAdView самостоятельно и оставить вид как VISIBLE на протяжении всего жизненного цикла баннера.

Следующее примечание заключается в том, что следующий код уничтожает любые существующие баннеры, когда вы звоните addBannerAds,

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

Если вы удалите этот код из своей реализации, вы сможете добавить несколько баннеров в bannerWrapper сразу и надеюсь увидеть несколько баннеров.

Другие вопросы по тегам