我似乎找不到任何关于通过 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 网站上有与此相关的文档,我深表歉意。但如果是这样,他们就很难找到它。
谢谢
最佳答案
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);
关于android - Android for Admob 中的 XML 或 Java 关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5687737/