Android Admob-如何在清单中声明AdActivity
我试图为AdMob创建一个简单的示例,但失败了。这是我的源代码 主动性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
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”?