【问题标题】:XML or Java Keywords in Android for AdmobAndroid for Admob 中的 XML 或 Java 关键字
【发布时间】:2011-04-16 16:05:54
【问题描述】:

我似乎找不到任何关于通过 XML 或 Java 为 adMob 广告设置关键字的可靠文档。我尝试了this 线程中看到的方法,但在这两个方面都失败了。我在每种情况下的失败情况如下。

当尝试使用 AdView 类中的方法 setKeywords()、setSearchQuery() 或 requestFreshAd() 时,Eclipse 似乎无法识别这些方法是 AdView 类的一部分。我可以不正确地实例化这个类吗?我的java代码如下:

import com.google.ads.AdRequest;
import com.google.ads.AdView;

AdView adView = (AdView)this.findViewById(R.id.adView);
    adView.loadAd(new AdRequest());

如果我尝试调用上述方法(例如 adView.setKeywords() ),Eclipse 将无法识别这些方法。我做错了什么?

当我尝试通过 XML 设置关键字时,代码似乎运行正常,但我没有收到任何有效的添加请求。日志返回“无广告可显示”消息。在这种情况下,我不知道是我没有从我的关键字中获得结果,还是我没有正确设置关键字字符串。

以下描述了我如何通过 XML 设置关键字:

...在 attrs.xml 中:

<?xml version="1.0" encoding="utf-8"?>
 <resources>
  <declare-styleable name="com.google.ads.AdView">
   <attr name="adSize">
      <enum name="BANNER" value="1"/>
      <enum name="IAB_MRECT" value="2"/>
      <enum name="IAB_BANNER" value="3"/>
      <enum name="IAB_LEADERBOARD" value="4"/>
   </attr>
   <attr name="adUnitId" format="string"/>
   <attr name="test" format="boolean"/>
   <attr name="keywords" format="string"/>
  </declare-styleable>
 </resources>

在 layout.xml....

    <com.google.ads.AdView android:id="@+id/adView"
        android:layout_width="fill_parent"
        android:layout_gravity="bottom"
        android:layout_height="wrap_content"
        ads:adUnitId="blahblahblhal"
        ads:adSize="BANNER"
        ads:test="true"
        ads:keywords="farts cheese stink pooper"/>

显然,这些不是我使用的关键字,但我设置关键字的语法与我一直使用的相同。

如果没有广告可展示,是因为我使用了太多关键字、语法不正确,以及如果我想使用短语而不是关键字怎么办?我该怎么做呢?

如果 AdMob 网站上有与此相关的文档,我深表歉意。但如果是这样,他们就很难找到了。

谢谢

【问题讨论】:

    标签: android keyword admob


    【解决方案1】:

    setKeywordsAdRequest 类的方法,而不是AdView

    AdRequest request = new AdRequest();
    Set<String> keywords = new HashSet<String>();
    keywords.add("keyword1");
    keywords.add("keyword2");
    request.setKeywords(keywords);
    adView.loadAd(request);
    

    【讨论】:

    • 谢谢。我认为没有人会回答这个问题。
    • 他们是否使用了关键字?我的印象是它们实际上并没有做任何事情,但将来可以使用。不幸的是,我不记得我在哪里读到了。
    【解决方案2】:

    Google 在 Admob SDK 4.1.1 版中添加了将关键字指定为 XML 属性的功能(请参阅 [1] 中的发行说明)。不幸的是,它没有记录在案,但在 [2] 中,您可以看到来自 Google 的响应,其中阐明了 XML 属性的名称。正确的属性是“ads:keywords”,它接受以逗号分隔的关键字列表。这是一个例子:

    <com.google.ads.AdView
                android:id="@+id/adView"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                ads:adUnitId="YOUR_PUBLISHER_ID"
                ads:adSize="BANNER"
                ads:loadAdOnCreate="true"
                ads:keywords="keyword1,keyword2,keyword3"
    />
    

    [1]http://code.google.com/mobile/ads/docs/rel-notes.html

    [2]http://groups.google.com/group/google-admob-ads-sdk/browse_thread/thread/b9b0b81858234adb

    【讨论】:

      猜你喜欢
      • 2011-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多