使用admob进行广告时出错

时间:2014-01-02 02:30:31

标签: android admob

我使用google admob时出错。当移动屏幕大于4英寸时,一切正常,但如果更少,广告将不会显示。在模拟器上我收到此错误

  

没有足够的空间来展示广告!想要:< 240,37>,你< 216,377>

这是我的代码

<RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads">

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

这是java代码

lytMain = (LinearLayout) findViewById(R.id.lytMain);
adView = new AdView(this, AdSize.BANNER, "Num google");
lytMain.addView(adView);
adView.bringToFront();
adView.loadAd(new AdRequest());

不适用于android 2.3,屏幕为4“:/仅在4英寸以上的屏幕和4.0以上的Android

我编辑代码,现在看到此错误

The following classes could not be instantiated:
- com.google.ads.AdView (Open Class, Show Error Log)
See the Error Log (Window > Show View) for more details.


java.lang.ClassNotFoundException: org.json.JSONException
    at java.net.URLClassLoader$1.run(    at java.net.URLClassLoader$1.run(    at java.security.AccessController.doPrivileged(    at java.net.URLClassLoader.findClass(    at java.lang.ClassLoader.loadClass(    at java.lang.ClassLoader.loadClass(    at com.google.ads.AdView.a(SourceFile:184)
    at com.google.ads.AdView.a(SourceFile:352)
    at com.google.ads.AdView.<init>(SourceFile:125)

3 个答案:

答案 0 :(得分:0)

您需要在横向和横向留出足够的空间,以便展示广告。您需要更改布局,以便在所有设备和屏幕尺寸上都有足够的空间(错误消息中列出)。

横幅尺寸列在Admob page上。如果是AdSize.BANNER,则为320x50。

答案 1 :(得分:0)

最好使用RelativeLayout包装AdView。这是我使用BANNER Admob的工作配置。

在我的XML文件中,我将我的广告包装在RelativeLayout

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:id="@+id/layout" >
<com.google.ads.AdView
    android:id="@+id/adView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    ads:adSize="BANNER"
    ads:adUnitId="youradsid"
    ads:loadAdOnCreate="true" />

</RelativeLayout>

答案 2 :(得分:0)

您需要在布局中添加 com.google.ads.AdView 元素。如果您使用的是LinearLayout,请使用重力为其提供足够的空间以满足最小空间标准。请注意,广告中的图片和文字在屏幕上占用的空间最小。

我建议您使用高级RelativeLayout,覆盖 com.google.ads.AdView 元素底部中心。这样,无论您如何定位,您的某些内容都会与广告重叠。