Android AdSense。无法在应用程序中看到广告

时间:2011-06-13 16:10:06

标签: android adview

我遇到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);

之后我将这个“banner”对象添加到另一个视图中。最后 - 那里没有输出。如果我将AdView更改为TextView,只是为了概念验证,它可以正常工作。

输出日志:

06-13 18:04:38.476:INFO / Ads(576):收到的广告网址:<“url”:“http://r.admob.com:80 / ad_source.php?...&gt ; 06-13 18:04:40.406:INFO / Ads(576):onReceiveAd()

对我来说唯一奇怪的是:

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

我没有找到它意味着什么,是因为AdSence。

更新

我有课:

public class QuestEngine extends Activity {

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

public IntroView(QuestEngine engine) {

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

2 个答案:

答案 0 :(得分:0)

将新的AdView声明更改为:

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

引擎对象不包含其维度的上下文。表行的维度位于“活动”上下文“this”

答案 1 :(得分: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() Method的{​​{1}}中写下此代码: -

Activity 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中写下以下代码, 我正在为onCreate() method进行演示,因此请在Fragment中编写以下代码。

onActivityCreated()Method

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