Ключевые слова XML или Java в Android для Admob - PullRequest
3 голосов
/ 16 апреля 2011

Кажется, я не могу найти надежную документацию по настройке ключевых слов для рекламы adMob через XML или Java.Я попробовал методы, показанные в этом потоке, но потерпел неудачу в обоих отношениях.Мои сбои для каждого случая приведены ниже.

При попытке использовать методы setKeywords (), setSearchQuery () или requestFreshAd () из класса AdView, 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 есть документация, относящаяся к этому, я приношу свои извинения.Но если так, то их было чертовски трудно найти.

Спасибо

Ответы [ 2 ]

8 голосов
/ 26 апреля 2011

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);
2 голосов
/ 29 января 2012

Google добавил возможность указывать ключевые слова в качестве атрибута XML в версии 4.1.1 Admob SDK (см. Примечания к выпуску в [1]). К сожалению, это не задокументировано, но в [2] вы можете увидеть ответ от Google, в котором уточняется имя атрибута XML. Правильный атрибут - "ads: ключевые слова", и он принимает список ключевых слов через запятую. Вот пример:

<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

...