Невозможно разместить рекламу AdMob на Android с помощью Google SDK - PullRequest
6 голосов
/ 26 марта 2011

Я долго искал ответ, но не могу найти такой же набор обстоятельств, поэтому обращаюсь к вам за помощью ...

Я пытаюсь использовать Google SDK (не AdMob SDK), чтобы разместить рекламу в моем приложении для Android. При запуске приложения в эмуляторе отображаются сообщения журнала:

03-25 22:35:17.457: INFO/Ads(853): adRequestUrlHtml: [ contains two <script> tags ]
03-25 22:35:21.028: INFO/Ads(853): Received ad url: [ big long url ]

Иногда я получаю:

03-25 22:35:21.828: INFO/Ads(853): onFailedToReceiveAd(No ad to show.)

что, возможно, я могу понять, но я также получаю:

03-25 22:50:56.817: INFO/Ads(1084): onFailedToReceiveAd(A network error occurred.)

Если я нажму "большой длинный URL" выше в своем браузере на рабочем столе, я получу объявление примерно в 1/2 раза, а остальные 1/2 - пустым. (Привет, Блюдо Сеть) Я никогда не получаю ошибку.

Я могу просматривать веб-страницы с помощью браузера эмулятора, поэтому сетевой компонент работает.

Приложение имеет интернет-привилегии.

Я разочарован отсутствием пригодного для использования примера кода - я вижу много людей, использующих старый пакет admob SDK, и несколько фрагментов кода людей, использующих google SDK, но не пример / учебник "супа к орехам".

Я закомментировал остальную часть своего кода, но безрезультатно. Вот основной кусок кода:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    AdView adView = new AdView(this, AdSize.BANNER, ADMOB_PUBLISHER_ID);
    LinearLayout layout = (LinearLayout)findViewById(R.id.mainLayout);
    layout.addView(adView);
    AdRequest req = new AdRequest();
    // req.setTesting(true);
    adView.loadAd(req);
}

Мой манифест включает это:

<activity android:name="com.google.ads.AdActivity"
          android:configChanges="keyboard|keyboardHidden|orientation"/>

и

<uses-permission android:name="android.permission.INTERNET" /> 

Мой main.xml содержит этот макет страницы:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/yellow"
android:id="@+id/mainLayout"
>

Поддержка Adobe не ответила.

Может кто-нибудь помочь мне или хотя бы отослать меня к идеальному руководству по Google SDK для admob noobs?

Спасибо!

Ответы [ 3 ]

1 голос
/ 20 мая 2011

Вы добавили файл attr.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"/>
  </declare-styleable>
 </resources>
0 голосов
/ 30 апреля 2011

Друзья, я сталкиваюсь с той же проблемой сегодня. Я следовал инструкции Google. Наконец то я понял. Вы можете настроить запрос на загрузку звонка. Как это:

AdRequest re = new AdRequest();
//re.setTesting(true);
re.setGender(AdRequest.Gender.FEMALE); 
adview.loadAd(re);

Вы можете попробовать мой пример, я разместил мой apk и исходный код здесь:

Добавление Google Admob в приложение для Android

0 голосов
/ 27 апреля 2011

попробуйте добавить эту строку разрешений в файл AndroidManifest.xml

 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
...