Программно установить строку идентификатора AdMob - PullRequest
1 голос
/ 17 августа 2011

У меня есть несколько приложений, над которыми я работаю, которые используют общие элементы интерфейса XML. Один из этих элементов загружает AdMob. Я могу продублировать элемент в каждом проекте и поместить уникальный ID для каждого приложения в дублированный файл XML, но мне интересно, есть ли какой-нибудь способ программной установки строки I D из приложения, сохраняя XML и не нужно дублировать его в каждом проекте.

Что-то похожее на:

    setContentView(R.layout.main);
    AdView aView = (AdView)findViewById(R.id.admob);
    aView.<method goes here that sets ads:adUnitId>

Я знаю, что вместо того, чтобы создавать AdMob из XML, я могу сделать это программно или что я могу скопировать main.xml в каждый проект и изменить там ID вместо использования одного в моя библиотека. Но я был бы счастлив с решением, похожим на мой пример кода выше, который позволяет мне хранить код AdMob в main.xml и не заставляет меня обновлять main.xml в n местах, когда он меняется.

Мне не удалось найти ссылку на класс или полное описание для результатов, которые поставляются с AdMob, и автозаполнение не показывает мне какой-либо метод, который, казалось бы, удовлетворял эту потребность. Если кто-нибудь укажет мне место, где есть хорошее описание классов AdMob, это очень поможет.

Ответы [ 2 ]

5 голосов
/ 17 августа 2011

Установите пустой вид заполнителя View (ListView для этого примера) для AdView в вашем XML, а затем добавьте AdView программно в Java, что-то вроде:

ListView lv = (ListView)findViewById(R.id.adplaceholder);

//create the AdView (replace MY_BANNER_UNIT_ID with the admob ID of your choice)
AdView av = new AdView(this, AdSize.BANNER, MY_BANNER_UNIT_ID);
lv.addView(av);//add the AdView to your layout

AdRequest request = new AdRequest();
adView.loadAd(request); 
4 голосов
/ 14 мая 2012

Я сделал следующее

  1. В проекте вашей библиотеки добавьте в string.xml элемент со значением "", представляющий adUnitId.

    <string name="ad_unit_id"></string>`
    
  2. В вашем макете вставьте adView с

    ads:adUnitId="@string/ad_unit_id"`
    
  3. В других ваших проектах добавьте в string.xml тот же элемент с текущим adunitId

    <string name="ad_unit_id">XXXXXXXXXXXXXXXXX</string>`
    

Наслаждайтесь:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...