Подтвердить что ты не робот

Admob - нет рекламы для показа

Привет Я пытаюсь сделать пример программы, показывающей рекламу на телефоне Android, и я пытаюсь проверить ее на эмуляторе v2.2 Все в коде кажется прекрасным, но AdListener в отладчике говорит, что:

Ответное сообщение равно нулю или null; onFailedToReceiveAd (показ объявления не отображается).

Есть ли какой-то способ для меня быть моей виной? Кто-нибудь сталкивался с такой же проблемой? Вот код Манифест:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.AdTest"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
    <activity android:name=".AdTest"
              android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
<!-- AdMobActivity definition -->
<activity android:name="com.google.ads.AdActivity"
android:configChanges="orientation|keyboard|keyboardHidden" />
</application>
<uses-sdk android:minSdkVersion="7"></uses-sdk>
<!-- AdMob SDK requires Internet permission -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

Макет xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
>
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
/>
</LinearLayout>

и код операции

package com.AdTest;
import com.google.ads.*;
import com.google.ads.AdRequest.ErrorCode;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.LinearLayout;

public class AdTest extends Activity implements AdListener{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) { 
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  LinearLayout layout = (LinearLayout)findViewById(R.id.main);
   AdView adView = new AdView(this, AdSize.BANNER, "anonymouse");
   // Unit ID is correct, I changed it on purpose while pasting here
    adView.setAdListener(this);
    layout.addView(adView);
    AdRequest request= new AdRequest();
    adView.loadAd(request);            
  }

 public void onFailedToReceiveAd(AdView adView)
    {
        Log.d("AdListener", "onFailedToReceiveAd");
    }

    public void onFailedToReceiveRefreshedAd(AdView adView)
    {
        Log.d("AdListener", "onFailedToReceiveRefreshedAd");
    }

    public void onReceiveAd(AdView adView)
    {
        Log.d("AdListener", "onReceiveAd");
    }

    public void onReceiveRefreshedAd(AdView adView)
    {
        Log.d("AdListener", "onReceiveRefreshedAd");
    }

    @Override
    public void onDismissScreen(Ad arg0) {
        // TODO Auto-generated method stub

    }

    @Override
    public void onFailedToReceiveAd(Ad arg0, ErrorCode arg1) {
          Log.d("AdListener", "onFailedToReceiveAD");

    }

    @Override
    public void onLeaveApplication(Ad arg0) {
        // TODO Auto-generated method stub

    }

    @Override
    public void onPresentScreen(Ad arg0) {
        // TODO Auto-generated method stub

    }

    @Override
    public void onReceiveAd(Ad arg0) {
         Log.d("AdListener", "Received succesfully");

    }
}
4b9b3361

Ответ 1

Я столкнулся с той же проблемой с

onFailedToReceiveAd (объявления не отображаются).

Кажется, AdMob не отправил рекламный контент для нашего приложения по некоторым причинам. Даже когда я в режиме тестирования до сих пор нет рекламы.

Я создаю объявление своего дома в AdMob для проверки моего приложения. Это более простой способ разработки, чем режим тестирования.

Ответ 2

Я внедрил AdListener в свою активность и установил его как прослушиватель AdView, а затем добавил следующий

    public void onFailedToReceiveAd(Ad arg0, ErrorCode arg1)
{
    Log.d("AdMob", "Failed to receive an Ad.  Requesting a new one..." + arg1);
    arg0.stopLoading();
    arg0.loadAd(new AdRequest());

}

Ответ 3

У меня была такая же проблема. Поэтому я изменил код, чтобы установить тестовый режим true, затем тестовое объявление Admob начало отображаться на эмуляторе. Попробуйте это в методе OnCreate():

LinearLayout layout = (LinearLayout)findViewById(R.id.main);    
AdView adView = new AdView(this, AdSize.BANNER, "anonymouse");    
// Unit ID is correct, I changed it on purpose while pasting here     
adView.setAdListener(this);     
AdRequest request = new AdRequest();
request.setTesting(true);     
adView.loadAd(request);

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

Ответ 4

Измените тестовый режим на true. Обратите внимание, что показ объявлений не будет отображаться до тех пор, пока не будет сделано не менее 3 попыток доступа в течение дня.

Ответ 5

Похоже, что последняя версия admob SDK 4.0.4 не отображает объявления на 1,5 устройствах.

В эмуляторе он отлично работает для 1.6+, но не 1.5.

Я думаю, что это связано с новой перекрестной рекламой с AdSense. Насколько я могу судить, SDK теперь обертывает webview как визуальный компонент представления, поэтому он может публиковать разные виды рекламы. Тесный взгляд на журнал показывает, что WebView.multitouch включен - поскольку 1.5 не поддерживает multitouch (для нас разработчики на Java) из-за того, что Apple выбрасывает свои игрушки из коляски и имеет dummyspit (я понимаю, они считают, что им разрешено используйте сразу два пальца..) и, возможно, включение multitouch в веб-просмотр вызывает внутреннее исключение, и представление никогда не создается и, следовательно, не может получить ответ HTML из HTTP-сервера admob.

Также см. ссылку

Ответ 6

1/получите последнюю версию SDK
2/try admob demo с вашим идентификатором издателя

3/попробуйте в тестовом режиме (это должно работать всегда)
4/попробуйте добавить некоторые образцы домашних объявлений (показано, когда нет другого объявления)
5/попробуйте изменить ключевые слова

В общем случае admob печатает подробную ошибку в журнале (идентификатор отсутствует, активность отсутствует в манифесте и т.д.).

Ответ 7

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

поэтому, пожалуйста, используйте код ниже:

Мне кажется, вам нужно удалить textview из main.xml

а также попробуйте следующее:

1) Создайте новое приложение в своем admob a/c 2), то просто замените id предыдущего приложения на новый

попробуйте его.

Ответ 8

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

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

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

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