更改屏幕方向时,Admob Banner会消失

时间:2014-02-20 15:09:29

标签: android admob screen-orientation adsense

我已经成功地在我的Android应用程序和我的项目的清单文件中集成了一个admob横幅,我使用了以下配置

  <activity android:name="com.google.android.gms.ads.AdActivity"
         android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/> 

但是当我更改设备的屏幕方向时,广告视图会消失吗?

我做错了什么?

1 个答案:

答案 0 :(得分:0)

我使用onConfigurationChanged方法解决了问题,问题是当我回到纵向模式时,广告单元尺寸大于可用尺寸。

这是解决方案

      @Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);

   LinearLayout parent= (LinearLayout) adView.getParent();
   parent.removeView(adView);

    /**
     * Admob paremetrization
     */

    final float density = getResources().getDisplayMetrics().density;
    int width = getWindowManager().getDefaultDisplay().getWidth();
    width  = Math.round(((float)width )/density);
    int height;
    if( width >= 936 ) // tablet
    {
      height = Math.round(density*60f);
    }
    else if( width >= 640 )
    {
      height = Math.round(density*50f);
    }
    else height = Math.round(density*32f);

            adView = new AdView(this);

            switch value of height adView.setAdSize(AdSize.FULL_BANNER or BANNER                  SMART_BANNER....);




    adView.setAdUnitId("ca-app-pub-xxxxxxxxxxxxxxxxxxxxxxxx");
    parent.addView(adView);
    AdRequest adRequest = new AdRequest.Builder().addTestDevice(AdRequest.DEVICE_ID_EMULATOR)        
            .addTestDevice("myDeviceId")   phone
            .build();
    adView.loadAd(adRequest);

}