2011-11-03 193 views
1

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

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。当我在模拟器上运行时,它向我显示:

You Must have AdActivity declared in AndroidManifest.xml with configChanges

有人能帮助我吗?

回答

2

AdMob Documentation

的AdMob 4.3.1需要你一些额外的configChanges添加到AdActivity在您的清单。 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及以上版本上运行您的应用程序。自1.5版以来,AdMob SDK仍然支持所有版本。为了让你的应用程序上运行2.1及以上,设置uses-sdk元素的android:minSdkVersion至7

最后一点:由于您使用的是ads:loadAdOnCreate属性,在XML中,你不需要加载广告的码。

+0

我已更新,但它显示我有同样的问题...任何人都可以发送给我一个应用程序与admob集成在我的电子邮件? [email protected]请帮忙 – Javo

+0

错误:错误:不允许使用字符串类型('configChanges'的值为'keyboard | keyboardHidden | orientation | screenLayout | uiMode | screenSize | smallestScreenSize') – Javo

+0

您是否将目标设置为android-13?您使用的是Android 3.2的Android库吗? –