Android,为什么AdView不显示任何内容?

时间:2014-01-26 06:40:23

标签: android intellij-idea admob google-play-services adview

根据documentation says,我将AdView添加到我的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/res-auto"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.v4.view.ViewPager
            android:id="@+id/viewPager"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />

    <com.google.android.gms.ads.AdView
            android:id="@+id/adView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            ads:adUnitId="@string/api_key_admob"
            ads:adSize="BANNER"/>

</LinearLayout>

这是我添加到我的活动中的方法:

private void displayAdmob() {
        AdView adView = (AdView)this.findViewById(R.id.adView);
        AdRequest adRequest = new AdRequest.Builder().build();
        adView.loadAd(adRequest);
    }

我已将这些代码行添加到清单文件中:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="mobilesoft.asia.malaysia_directory"
          android:versionCode="10"
          android:versionName="2.0">

    <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="15"/>

    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

    <application
            android:label="@string/app_name"
            android:icon="@drawable/ic_launcher"
            android:allowBackup="true"
            android:theme = "@style/Theme.Example">

        <meta-data
                android:name="com.google.android.gms.version"
                android:value="@integer/google_play_services_version"/>
        <activity
                android:name="com.google.android.gms.ads.AdActivity"
    android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>

...

    </application>
</manifest>

当我运行应用程序时,AdView不会显示。我希望在我的查看寻呼机下方看到它,但没有AdView。我对ads:adUnitId="MY_AD_UNIT_ID"持怀疑态度。创建Android应用时,AdMob页面中没有AD_UNIT_ID。我正在使用AdMob提供的“发布商ID”,而是将其分配给ads:adUnitId="Publisher_ID"。你认为这是我的问题吗?

其次,我没有使用AdMob SDK。我已将“google_play_services_lib”添加到我的项目中并使用此库而非AdMob SDK。

任何建议都将不胜感激。感谢

1 个答案:

答案 0 :(得分:0)

糟糕,我的XML设计存在问题。

我将视图寻呼机的设计更改为以下代码,并且AdView在屏幕底部正常工作:

<android.support.v4.view.ViewPager
            android:id="@+id/viewPager"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"/>