2

我第一次尝试集成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|smallestScre‌​enSize"  />

在我的 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|smallestScre‌​enSize'

如果我将其更改为旧样式

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 .

我是一个困惑的人。在将其发布到谷歌应用商店之前,这是我最不想包含在我的应用中的东西,非常感谢任何建议或帮助。如果我遗漏了什么,我深表歉意。

4

1 回答 1

8

我有同样的问题。我会告诉你我做了什么。

右键单击eclipse中的项目文件夹

  • -特性
  • - 选择安卓
  • -选择固件 3.2 或更高版本

然后在清单中使用它

android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"

就这样

于 2012-08-18T05:02:13.037 回答