2011-06-13 68 views
1

我遇到了AdSence的问题。我试图在过去几天解决它,但没有任何好的结果。我使用开发人员指南,但它仍然在横幅的地方是空的。Android AdSense。在应用程序中看不到广告

我在做什么应用程序。首先,我添加了一个对象的TableRow并添加AdView的吧:

banner = new TableRow(engine); 
    banner.setGravity(Gravity.TOP & Gravity.RIGHT); 

    adView = new AdView(engine, AdSize.BANNER, "a14def8xxxxxxxx"); 
    banner.addView(adView); 
    AdRequest request = new AdRequest(); 
    adView.loadAd(request); 

后来我只是说这个“旗帜”对象到其他视图。最后 - 那里没有产出。如果我将AdView更改为TextView,只是为了证明概念,它工作正常。

输出日志:

06-13 18:04:38.476:信息/广告(576):接收到广告网址:< “URL”:“http://r.admob.com:80/ ?ad_source.php ...> 06-13 18:04:40.406:信息/广告(576):onReceiveAd()

在日志中我唯一奇怪的是:

06-13 18 :04:40.336:警告/ webcore(576):无法获得第一个布局后的viewWidth

我还没有找到它是什么意思,我这是因为AdSence。

更新

我有类:

public class QuestEngine extends Activity { 

然后我想在的方法来产生新的AdView:

public IntroView(QuestEngine engine) { 

这就是为什么在 “新的AdView” 我我正在使用引擎对象。

+0

尝试'request.setTesting(TESTING_MODE);'打电话之前'loadAd(..)'所以你总能看到广告同时调试您的问题。 – Haphazard 2011-06-13 16:17:33

+0

我试图添加这个。我也尝试过设置设备,但它仍然不起作用。 – belurd 2011-06-13 17:28:59

+0

不,它不会解决您的问题,但它可以让您在修复问题时轻松确认它已修复。你有没有尝试删除'setGravity()'方法?它显示了吗? – Haphazard 2011-06-13 17:32:20

回答

0

改变新的AdView声明:

adView = new AdView(this, AdSize.BANNER, "a14def820df0417"); 

引擎对象不包含它的尺寸范围内。表行的尺寸是在活动中,“这个”

0

那么如果你是通过xml/layout file设置你adView然后做如下指示: -

在你activity.xml文件中插入要将以下标记你AdView要显示: - :

-

<com.google.ads.doubleclick.DfpAdView 
     android:id="@+id/adView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     ads:adUnitId="/XXXXX/XXXXX" 
     ads:adSize="BANNER" 
     /> 

而在你Activity.java文件在您的Activity Life CycleonCreate() Method编写代码

// Look up the DfpAdView as a resource and load a request. 
     adView = (DfpAdView)this.findViewById(R.id.adView); 
     adView.loadAd(new AdRequest()); 

现在,如果你想编程设置你的活动,然后按照步骤AdView如下指示: -

写下面的代码在你的onCreate() method, 我展示了Fragment,所以写了下面的代码在你的onActivityCreated()Method

// Create an ad view as a second header for now to meet deadlines 
     DfpAdView mAdView=null; //you can also define this as a Global Variable. 
     if (mAdView == null) { 
      mAdView = new DfpAdView(getActivity(), AdSize.BANNER, "/XXXX/XXXX"); //give your adId incase of XXXX 
      iaddHeight= (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 50, getResources().getDisplayMetrics()); //This code is used to set the height of the addHeight as 50 pixels, which could be used in layout params. 

      RelativeLayout fl =new RelativeLayout(this.getActivity()); 
      RelativeLayout.LayoutParams flParams =new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, 
        LayoutParams.WRAP_CONTENT); 
      flParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); 

      FrameLayout.LayoutParams para =new FrameLayout.LayoutParams(LayoutParams.MATCH_PARENT, 
        LayoutParams.MATCH_PARENT); 
     para.setMargins(0, 0, 0,iaddHeight); 

     getListView().setLayoutParams(para); 

     this.getActivity().addContentView(fl, flParams);   
     fl.addView(mAdView,flParams); 
     } 
     mAdView.loadAd(new AdRequest()); 

希望这可以帮助任何未来的用户...