AdMob横幅广告请求失败,代码为ERROR_CODE_INVALID_REQUEST 1

时间:2016-01-02 19:24:01

标签: android admob banner

我在展示AdMob横幅方面遇到了一些问题。我收到错误1,意思是ERROR_CODE_INVALID_REQUEST。当我更改setAdUnitId并使用UnitId进行测试时,它可以正常运行。但是当我使用UnitId提供的AdMob时,我收到错误。

这是布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:tools="http://schemas.android.com/tools"
            xmlns:ads="http://schemas.android.com/apk/res-auto"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="#262626"
            tools:context="com.elis91.elis.contatti.Contatti">

<LinearLayout
    android:id="@+id/linearLayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#1e88e6"
    android:orientation="horizontal">

    <TextView
        android:id="@+id/textView5MSGnonLetti"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="You have 0 new messagges"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textColor="#cdfff9f9"
        android:textSize="20dp"/>
</LinearLayout>

<ListView
    android:id="@+id/listView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_below="@+id/linearLayout"
    android:layout_above="@+id/relativeLayout3"/>

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="52dp"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:id="@+id/relativeLayout3"
    android:gravity="bottom">

    <com.google.android.gms.ads.AdView
        android:id="@+id/adView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_alignParentBottom="true"
        ads:adSize="BANNER"
        ads:adUnitId="@+id/banner_ad_unit_id">
    </com.google.android.gms.ads.AdView>

</RelativeLayout>

这是Android:

    private void setupGoogleAds(){
    AdView mAdView = (AdView) findViewById(R.id.adView);
    AdRequest adRequest = new AdRequest.Builder()
            //.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
            .build();

    mAdView.loadAd(adRequest);
    mAdView.setAdListener(new AdListener() {
        @Override
        public void onAdOpened() {
            Log.d("esx", "onAdOpened");
            // Save app state before going to the ad overlay.
        }

        @Override
        public void onAdLoaded() {
            Log.d("esx", "onAdLoaded");
            // Save app state before going to the ad overlay.
        }

        @Override
        public void onAdFailedToLoad(int errorCode) {

            Log.d("esx", "onAdFailedToLoad: " + errorCode+"--"+AdRequest.ERROR_CODE_NO_FILL+"-"+AdRequest.ERROR_CODE_NETWORK_ERROR+"-"+AdRequest.ERROR_CODE_INVALID_REQUEST+"-"+AdRequest.ERROR_CODE_INTERNAL_ERROR+"-");
            // Save app state before going to the ad overlay.
        }

        @Override
        public void onAdClosed() {
            Log.d("esx", "onAdClosed");
            // Save app state before going to the ad overlay.
        }

        @Override
        public void onAdLeftApplication() {
            Log.d("esx", "onAdLeftApplication");
            // Save app state before going to the ad overlay.
        }
    });
}

1 个答案:

答案 0 :(得分:3)

ERROR_CODE_INVALID_REQUEST 表示:

  

广告请求无效;例如,广告单元ID是   不正确。

Source

检查您是否传递了正确的广告单元ID。

我检查了你的代码并认为问题就在这里。

你写过

ads:adUnitId="@+id/banner_ad_unit_id"

你一定要打算写

ads:adUnitId="@string/banner_ad_unit_id"

假设您已将广告单元ID存储在字符串资源中。如果它不在您的字符串资源中,请按如下方式直接输入:

ads:adUnitId="XXXXXXXXXXXXXXXX" // Replace XXXXXXXXXXXXXXXX with your ad unit id.