2012-09-16 49 views
-1

以下代码是我为实现admob广告检索而实施的,但我无法获得任何广告,尽管代码甚至没有崩溃。 请告知这段代码有什么问题。Admob代码不起作用

public class MainActivity extends Activity { 

    public AdView admobView; 
    public View mainView; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     admobView = new AdView(this, AdSize.BANNER, "Top secret"); 
     RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(
       RelativeLayout.LayoutParams.WRAP_CONTENT, 
       RelativeLayout.LayoutParams.WRAP_CONTENT); 
     lp.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); 
     admobView.setLayoutParams(lp); 
     //mainView.setLayoutParams(lp); 

     RelativeLayout layout = new RelativeLayout(this); 

     AdRequest adRequest = new AdRequest(); 

     //tested this 
     adRequest.addTestDevice(AdRequest.TEST_EMULATOR);    // Emulator 

     //tested this 
     //adRequest.addTestDevice("20cb18e8ffc74ad2"); 

     //tested this 
     //adRequest.addMediationExtra("3d879f364d5747c5", null); 
     admobView.loadAd(adRequest); 
     layout.addView(admobView); 
     //layout.addView(mainView); 

     setContentView(layout); 
    } 
+0

您是否获得LogCat中的'onReceiveAd()'或'onFailedToReceiveAd()'通知? –

回答

2

您是否在您的menifest中添加了admob权限和congifchanges。因为我已经运行了你的代码,它显示在我的模拟器中。并且也为了显示为您应用的targetSdkVersion必须大于14

<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|smallestScreenSize" > 
     </activity> 

活动是像你

public AdView admobView; 
    public View mainView; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     admobView = new AdView(this, AdSize.BANNER, "a14f39f0b52dce6"); 
     RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(
       RelativeLayout.LayoutParams.WRAP_CONTENT, 
       RelativeLayout.LayoutParams.WRAP_CONTENT); 
     lp.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); 
     admobView.setLayoutParams(lp); 
     //mainView.setLayoutParams(lp); 

     RelativeLayout layout = new RelativeLayout(this); 

     AdRequest adRequest = new AdRequest(); 

     //tested this 
     adRequest.addTestDevice(AdRequest.TEST_EMULATOR);    // Emulator 

     //tested this 
     //adRequest.addTestDevice("20cb18e8ffc74ad2"); 

     //tested this 
     //adRequest.addMediationExtra("3d879f364d5747c5", null); 
     admobView.loadAd(adRequest); 
     layout.addView(admobView); 
     //layout.addView(mainView); 

     setContentView(layout); 
    } 

和明显的是==

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.ee" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="15" /> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
    <application 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name=".MainActivity" 
      android:label="@string/title_activity_main" > 
      <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|screenSize|smallestScreenSize" > 
     </activity> 
    </application> 

</manifest> 
+0

如果“布局”变量向下声明,我如何在上面调用它? –

+0

上面的代码实际上并没有崩溃,我不能在logcat中做这件事,但广告不可见。 我/广告(601):收到的广告网址:

+0

我编辑了我的答案,请检查它。 –