Android Admob-如何在清单中声明AdActivity

Android Admob-如何在清单中声明AdActivity,android,admob,Android,Admob,我试图为AdMob创建一个简单的示例,但失败了。这是我的源代码 主动性 public class AdMobActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } } main.xml <?xml vers

我试图为AdMob创建一个简单的示例,但失败了。这是我的源代码

主动性

public class AdMobActivity extends Activity {
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
  }
}
main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
    android:id="@+id/linearLayout"
    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="myId"
         ads:adSize="BANNER"
         ads:loadAdOnCreate="true" />
</LinearLayout>

Manifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="my.ad.mob"
android:versionCode="1"
android:versionName="1.0" >
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="9"/>

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <activity
        android:name=".AdMobActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
            <activity android:name="com.google.ads.AdActivity"
              android:configChanges="keyboard|keyboardHidden|orientation"/>
</application>
</manifest>

我使用AdMob 4.3.1,Android目标=Android-13


当我尝试执行项目时,需要添加的地方是一条消息:“您必须在AndroidManifest.xml中声明AdActivity,并使用configChanges”。那么我的错误在哪里呢?

AdActivity必须进行以下配置更改:


键盘|键盘隐藏|方向|屏幕布局| uiMode |屏幕大小|最小屏幕大小

对于使用谷歌移动服务的现代adMob的用户,完整答案应该是:

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


(注意,
android:name
changed)

我尝试了这个,现在那里是一个黑屏,什么都没有(我只看到我添加的TextView)。。。您是否用实际的成人身份替换了
id
?如果没有,你会在日志中得到一个警告,说“请求无效”。在日志中,我有这样一个警告:onFailedToReceiveAd(广告请求成功,但没有广告返回,因为缺乏广告库存。)我的id是好的。如果你得到了,那么一切都很好。如果您希望在调试时看到ads,只需在adview元素中添加一个测试设备即可。它现在可以工作了,谢谢,但这只是测试添加,因为这意味着当我删除ads:testDevices=“TEST\u EMULATOR,TEST\u device\u ID”时,我将在real davice上获得真正的加载项,因为在EMULATOR上,没有ads:testDevices,我不会获得添加项=“测试仿真器,测试设备ID”?