2013-06-24 81 views
0

我是一個初學者,我試圖設置一個admob添加在我的app.But我有一些錯誤女巫我無法管理。admob不顯示在android

XMLFILE

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context=".MainActivity" > 

<com.google.ads.AdView android:id="@+id/main" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
ads:adUnitId="MY_AD_UNIT_ID" 
ads:adSize="BANNER" 
ads:testDevices="TEST_EMULATOR, TEST_DEVICE_ID" 
ads:loadAdOnCreate="true"/> 
</RelativeLayout> 

清單文件。

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.example.admob" 
android:versionCode="1" 
android:versionName="1.0" > 
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" /> 

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

<activity 
android:name="com.example.admob.MainActivity" 
android:label="@string/app_name" > 
<intent-filter> 
<action android:name="android.intent.action.MAIN" /> 
<category android:name="android.intent.category.LAUNCHER" /> 
</intent-filter> 
     </activity> 
     <activity 
      android:name="com.google.ads.AdActivity"    
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|scre enSize|smallestScreenSize" /> 

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

Java代碼:

package com.example.admob; 

import com.google.ads.AdRequest; 
import com.google.ads.AdSize; 
import com.google.ads.AdView; 
import android.os.Bundle; 
import android.app.Activity; 
import android.view.Menu; 
import android.widget.LinearLayout; 
import android.widget.RelativeLayout; 

public class MainActivity extends Activity 
{ 
private static final String MY_AD_UNIT_ID = null; 
private AdView adView; 

@Override 
protected void onCreate(Bundle savedInstanceState) 
{ 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_main); 
adView = new AdView(this, AdSize.BANNER, MY_AD_UNIT_ID); 
RelativeLayout main = (RelativeLayout)findViewById(R.id.main); 
main.addView(adView); 
adView.loadAd(new AdRequest()); 
AdRequest adRequest = new AdRequest(); 
adRequest.addTestDevice(AdRequest.TEST_EMULATOR);    
adRequest.addTestDevice("TEST_DEVICE_ID"); 
} 

@Override 
public void onDestroy() { 
adView.destroy(); 
super.onDestroy(); 
} 
} 

當活動開始這種類型的錯誤發生onFailedToReceivedAd(InvalidAdRequest)
我不知道是什麼問題。

回答

0

您尚未加載註冊過測試設備的AdRequest。將您的代碼更改爲:

//.... 
main.addView(adView); 

AdRequest adRequest = new AdRequest(); 
adRequest.addTestDevice(AdRequest.TEST_EMULATOR);    
adRequest.addTestDevice("TEST_DEVICE_ID"); 
adView.loadAd(adRequest); 
+0

它並沒有幫助男人:/,我越來越瘋狂,我不知道該怎麼辦@Jong – Whady

0

在包含adview的相關佈局中,是否在adview之後附加了內容佈局。如果是這樣,android:layout_width和android:layout_height值是什麼。如果您對兩者都使用fill_parent/match_parent,則您的adview將永遠不會顯示。

訣竅是將relativelayout更改爲linearlayout。然後,對於此線路佈局中的內容佈局,請設置其android:layout_width =「fill_parent」和android:layout_height =「0dp」。爲內容佈局添加一個新屬性android:layout_weight =「1」。這些做的是要求內容佈局在adview佔據其位置後容納linearlayout的剩餘空間。希望這可以幫助。