1

我对 AdSence 有疑问。最近几天我试图解决它,但没有任何好的结果。我使用了开发人员指南,但它在横幅的位置仍然是空的。

我在应用程序中做什么。首先,我添加了一个 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: INFO/Ads(576): 收到广告 url: <"url": "http://r.admob.com:80/ad_source.php?... > 06-13 18 :04:40.406:信息/广告(576):onReceiveAd()

日志中对我来说唯一奇怪的是:

06-13 18:04:40.336: WARN/webcore(576): 第一次布局后无法获取 viewWidth

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

更新

我有课:

public class QuestEngine extends Activity {

然后我尝试在方法中生成新的 AdView:

public IntroView(QuestEngine engine) {

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

4

2 回答 2

0

将新的 AdView 声明更改为:

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

引擎对象不包含其维度的上下文。表格行的尺寸在活动上下文“this”中

于 2011-06-13T18:28:03.680 回答
0

好吧,如果您要设置您的adView通孔xml/layout file,请按照以下说明进行操作:-

在您的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写下这段代码: -onCreate() MethodActivity Life Cycle

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

现在,如果您想AdView在 Activity 中进行编程设置,请按照以下步骤操作:-

在你的 中写下如下代码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());

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

于 2014-09-26T11:05:55.063 回答