我第一次尝试集成admob。我遵循了这里的文档规则,并且我已经看过几个 相关的 页面,但我似乎仍然做错了什么。
我正在使用 GoogleAdMobAdsSdk-6.1.0.jar 以及 android sdk 版本 13 (Android 3.2)。
我包括了几件我发现需要从各种来源获得的东西。
<uses-sdk
android:minSdkVersion="7"
android:targetSdkVersion="13" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<activity android:name="com.google.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
在我的 AndroidManifest.xml 中。
包括我
target=android-13
在我的 project.properties 中。
上述配置无法编译。我在 eclipse(版本:4.2.0)中收到错误,说明如下:
error: Error: String types not allowed (at 'configChanges' with value 'keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize'
如果我将其更改为旧样式
android:configChanges="keyboard|keyboardHidden|orientation"
该项目编译得很好,但是当我开始我的活动时,我遇到了以下问题:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/Aqua"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/adLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</LinearLayout>
</LinearLayout>
我活动中的代码如下所示:
public class TutorialActivity extends Activity {
private static final String PUBLISHER_ID = "blah"; //omitted
private AdView adView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tutorial_layout);
AdRequest request = new AdRequest();
request.addTestDevice("what i believe is my device id");
adView = new AdView(this, AdSize.BANNER, PUBLISHER_ID);
LinearLayout layout = (LinearLayout) findViewById(R.id.adLayout);
layout.addView(adView);
adView.loadAd(request);
}
@Override
public void onDestroy() {
if (adView != null) {
adView.destroy();
}
super.onDestroy();
}
}
当我运行此代码并导航到我的活动时,我看到屏幕顶部看起来像我所期望的广告框,其中包含以下文本:您必须在 AndroidManifest.xml 中使用 configChanges 声明 AdActivity .
我是一个困惑的人。在将其发布到谷歌应用商店之前,这是我最不想包含在我的应用中的东西,非常感谢任何建议或帮助。如果我遗漏了什么,我深表歉意。