没有足够的空间来显示Admob广告错误

时间:2012-02-21 19:41:08

标签: android admob

这不是一个新的错误,但没有一个在线答案看起来更适合我,请帮助我解决这个问题。 我在我的申请中加入了Admob。它正在完美地在一些屏幕上工作,但在另一些屏幕上却无法正常工作。当我查看日志时,它说。

Not enough space to show ad! Wants: <480, 75>, Has: <464, 762>

我想知道有一种简单的方法可以在所有屏幕尺寸上展示广告并避免此类错误。

我的XML代码如下。

<com.google.ads.AdView
    android:id="@+id/adView"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    ads:adSize="BANNER"
    ads:adUnitId="ADMOB_PUBLISHER_ID"
    ads:loadAdOnCreate="true" />

我已经提供了Internet和Access网络状态的权限。

4 个答案:

答案 0 :(得分:8)

你的主要布局的每一面都有8dp的边距/填充吗? AdView需要整个屏幕宽度(纵向)才能显示广告,但它只有464dp的宽度空间。

答案 1 :(得分:3)

尝试:

android:layout_width="480dp" android:layout_height="wrap_content"

android:layout_width="480dp" android:layout_height="75dp"

答案 2 :(得分:1)

问题在于

android:layout_width="fill_parent"

布局容器不大,应该包含adview。尝试将其设置为:  android:layout_width="320dp",这会询问广告尺寸不同(较小)的广告。

答案 3 :(得分:0)

here i give a sample example code. you can follow.
step 1:

design your activity layout like this
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:orientation="vertical"
    android:layout_height="fill_parent">
    <com.google.ads.AdView
             xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
             android:id="@+id/adView"
             android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            ads:adSize="SMART_BANNER"
            android:background="#2d2f2f"
            ads:adUnitId="ADMOB_PUBLISHER_ID" />
</LinearLayout>
step 2:
follow this code in activity
 final AdView adview=(AdView)findViewById(R.id.adView);
        MainActivity.this.runOnUiThread(new Runnable() {

            @Override
            public void run() {
                // TODO Auto-generated method stub
                AdRequest re = new AdRequest();
                //re.setTesting(true);
                adview.loadAd(re);
            }
        });     

step 3:
add permission in application manifest
 <uses-sdk
        android:minSdkVersion="7" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

also add admob activity in manifest
<activity android:name="com.google.ads.AdActivity"  android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>