Почему мой баннер Admob перезагружается вверх при перезагрузке? - PullRequest
1 голос
/ 07 апреля 2019

Я создал Adview и переместил его в нижнюю часть экрана.Объявление начинается правильно в нижней части, но всякий раз, когда оно загружает новое объявление, оно кратковременно переходит в верхнюю часть экрана, а затем возвращается в нижнюю часть.

Я инициализирую и показываю объявление следующим образом ...

//
// Create Adview...
//
mBanner=new AdView(mActivity);
mBanner.setAdSize(AdSize.SMART_BANNER);
mBanner.setAdUnitId("...my admob id...");
mBanner.setAdListener(new AdListener()
{
    @Override public void onAdLoaded() {mBannerLoaded=true;}
    @Override public void onAdFailedToLoad(int errorCode) {mBannerLoaded=false;mActivity.Out("(Banner)onAdFailedToLoad: "+errorCode);if (errorCode==3) ShowBanner(true);}
    @Override public void onAdOpened() {}
    @Override public void onAdLeftApplication() {}
    @Override public void onAdClosed() {mBannerLoaded=false;}
});

//
// Position it at the bottom of the activity's layout...
//
RelativeLayout.LayoutParams aParams=new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT);
aParams.addRule(RelativeLayout.CENTER_HORIZONTAL);
mActivity.mLayout.setGravity(Gravity.BOTTOM);
aParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
mActivity.mLayout.addView(mBanner,aParams);

//
// Load the ad...
//
Bundle aExtras=new Bundle();
aExtras.putString("max_ad_content_rating",mActivity.mContentRating);
if (Build.VERSION.SDK_INT>18) if (ConsentInformation.getInstance(mActivity.getApplicationContext()).isRequestLocationInEeaOrUnknown()) if (mActivity.mConsentStatus != ConsentStatus.PERSONALIZED) aExtras.putString("npa", "1");
mBanner.loadAd(new AdRequest.Builder().addNetworkExtrasBundle(AdMobAdapter.class,aExtras).build());

Ожидаемый результат: Adview всегда находится внизу экрана, несмотря ни на что.

Фактический результат: всякий раз, когда он обновляется с новым объявлением (и это, кажется, толькоболее сложные объявления с дочерними представлениями - простое графическое объявление или текстовое объявление - это нормально). Adview на мгновение перевернется на верхнюю часть экрана (для того, что выглядит как один кадр), а затем вернется к нижней части.

...