Android中用于Admob的XML或Java关键字

del*_*116 3 android keyword admob

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

当尝试从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());
Run Code Online (Sandbox Code Playgroud)

如果我尝试调用前面提到的方法(例如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>
Run Code Online (Sandbox Code Playgroud)

在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"/>
Run Code Online (Sandbox Code Playgroud)

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

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

如果AdMob网站上有关于此的文档,我表示歉意.但如果是这样的话,他们很难找到它.

谢谢

Dan*_*yer 8

setKeywords是一种AdRequest类的方法,而不是AdView.

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