Admob整合 - 问题

时间:2011-11-03 12:56:54

标签: android integration admob

我正在将AdMob集成到我的Android应用程序中。

我的main.xml

`<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" 
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<com.google.ads.AdView android:id="@+id/adView"
                               android:layout_width="wrap_content"
                               android:layout_height="wrap_content"
                               ads:adUnitId="XXX"
                               ads:loadAdOnCreate="true"
                               ads:adSize="BANNER" />
</LinearLayout>`

我的manifest.xml

<activity android:name="com.google.ads.AdActivity"
              android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:configChanges="orientation|keyboard|keyboardHidden"/>

我的课程:

AdView adView = (AdView)findViewById(R.id.adView);
        adView.loadAd(new AdRequest());

我正在使用Android 2.1。当我在模拟器上运行时,它会显示我:

  

您必须在AndroidManifest.xml中使用configChanges

声明AdActivity

有人能帮助我吗?

1 个答案:

答案 0 :(得分:2)

来自AdMob Documentation

AdMob 4.3.1要求您在清单中的AdActivity中添加一些额外的configChanges。 AdActivity条目现在应该如下所示。

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

这些新的configChanges直到Android 3.2才会引入,因此您需要至少获得Android 3.2 SDK,并在project.properties中设置target=android-13以针对Android 3.2 SDK进行编译。

别担心,您仍然可以在2.1及更高版本上运行您的应用。 AdMob SDK仍然支持1.5以来的每个版本。要允许您的应用在2.1及更高版本上投放,请将uses-sdk元素的android:minSdkVersion设置为7。

最后一点:由于您在xml中使用ads:loadAdOnCreate属性,因此无需在代码中加载广告。