Heyzap 仅在屏幕上显示横幅
Heyzap only show a banner on a screen
我尝试在 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();
}
很抱歉,如果您使用我们新的 10.x 统一 SDK,我们将不再支持同时放置多个横幅。这是新 SDK 的一个限制,我们目前正在寻找最佳解决方案。
如果您使用的是 9.x SDK,我可以给您一些注意事项:
为了提高广告投放的可靠性,我们建议您不要自行修改 BannerAdView
的 View
可见性,并在 VISIBLE
的整个生命周期内保留视图横幅。
下一个注意事项是,当您调用 addBannerAds
时,以下代码会销毁任何现有的横幅。
if(bannerWrapper.getChildCount() > 0)
bannerWrapper.removeAllViews();
如果您从实施中删除此代码,您应该能够一次向 bannerWrapper
添加多个横幅,并希望看到多个横幅。
我尝试在 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();
}
很抱歉,如果您使用我们新的 10.x 统一 SDK,我们将不再支持同时放置多个横幅。这是新 SDK 的一个限制,我们目前正在寻找最佳解决方案。
如果您使用的是 9.x SDK,我可以给您一些注意事项:
为了提高广告投放的可靠性,我们建议您不要自行修改 BannerAdView
的 View
可见性,并在 VISIBLE
的整个生命周期内保留视图横幅。
下一个注意事项是,当您调用 addBannerAds
时,以下代码会销毁任何现有的横幅。
if(bannerWrapper.getChildCount() > 0)
bannerWrapper.removeAllViews();
如果您从实施中删除此代码,您应该能够一次向 bannerWrapper
添加多个横幅,并希望看到多个横幅。