2016-01-02 60 views
0

我在展示AdMob横幅时遇到了一些问题。我得到错误1,这意味着ERROR_CODE_INVALID_REQUEST。当我更改setAdUnitId并使用UnitId进行测试时,它可以正常工作。但是当我使用从AdMob提供的我的UnitId时,出现错误。AdMob横幅广告请求失败,代码为ERROR_CODE_INVALID_REQUEST 1

这是布局:

<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. 
     } 
    }); 
} 

回答

2

ERROR_CODE_INVALID_REQUEST指:

广告请求WA无效;例如,广告单元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. 
+0

THX的人,问题是@ + ID /,我changet为@ string /和工作 – Ares91

+0

OMG香港专业教育学院的“CA-前有空格...“从复制,谢谢 – urSus