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

Не удалось загрузить объявление: 3

Я устанавливаю объявление в свое приложение для Android с помощью DoubleClick и не могу показать окончательное объявление, может кто-нибудь мне помочь?

Когда я тестирую объявление, добавляя ".addTestDevice(" xxx... ")" Я получаю тестовое объявление, но когда я удаляю эту строку, я получаю следующую ошибку:

W/Реклама: заполнение с сервера объявлений не выполняется

W/Ads: Не удалось загрузить объявление: 3

Я установил свое объявление следующим образом:

PublisherAdRequest adRequest = new PublisherAdRequest.Builder().build();
mPublisherAdView.loadAd(adRequest);

И мой publisherView выглядит так:

    <com.google.android.gms.ads.doubleclick.PublisherAdView
        android:id="@+id/pronostics_ad"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        android:layout_gravity="center"

        ads:adSize="BANNER"
        ads:adUnitId="@string/ad_unit_pronostic">
    </com.google.android.gms.ads.doubleclick.PublisherAdView>

Что может быть неправильным?

Заранее благодарим за ваши ответы.

4b9b3361

Ответ 1

W/Ads: Не удалось загрузить объявление: 3

В соответствии с Документация вы получаете следующий код ошибки:

public static final int ERROR_CODE_NO_FILL

Запрос объявления был успешным, но объявление не было получено из-за отсутствия рекламный ресурс.

Постоянное значение: 3

Исходя из сообщения onFailedToReceiveAd - запрос объявления успешно, но объявление не было из-за отсутствия рекламного ресурса при использовании admob с adwhirl:

Если вы получаете эту ошибку, то ваш код верен. Проблема что AdMob не всегда имеет объявление для возврата для каждого запроса. Это может произойти, особенно если вы только что зарегистрировали свой AdMob Идентификатор издателя, так как требуется некоторое время и несколько запросов до новый идентификатор начинает возвращать объявления.

Другая причина, по которой ваша ставка заполнения может быть низкой, заключается в том, что у вас нет Заполнение AdSense включено, или вы отфильтровали некоторые объявления. Проверьте настройки вашего приложения, чтобы убедиться, что это так.

Ответ 2

Есть один вариант, который помог в нашем случае. Поскольку @blizzard упоминается в настройках вашего приложения в Google Developer Console, есть раздел, который называется "Ценообразование и распределение". В этом разделе есть флажок "СОДЕРЖИТ ADS". В нашем случае он был отключен. После включения мы успешно получили рекламу. Надеюсь, что это поможет.

Ответ 3

Один новый и обновленный ответ: многие приложения, которые были удалены в октябре (2018 г.) из-за отсутствия Политики конфиденциальности, не могут получать рекламу после того, как они вернутся в Play Маркете. Вы должны использовать эту форму для запроса "перезагрузки" для этих объявлений приложений. https://support.google.com/admob/contact/appeal_policy_violation

Мне потребовалось несколько дней, чтобы понять и найти ответ. Надеюсь, вы вернете свои объявления.

Ответ 4

Вариант 1: перейдите к Settings-> поиск Сбросить идентификатор рекламы → нажмите " Сбросить рекламный идентификатор" → " ОК". Вы должны начать получать Объявления сейчас

Нет опции поиска? Попробуйте вариант 2

Вариант 2. Перейдите в Settings-> Google → Ads-> Сбросить рекламу ID-> OK

Нет настроек Google в настройках? Попробуйте вариант 3

Вариант 3: Ищите настройки Google (НЕ НАСТРОЙКИ) → Ads-> Сброс идентификатора рекламы

Ответ 5

У меня была та же ошибка в моем приложении. Я запускал приложение в отладочной конфигурации. Проблема была решена, как только я запускаю версию выпуска моего приложения на том же устройстве. В Android Studio просто зайдите в Build → Generate Signed APK и выберите конфигурацию выпуска. Затем установите релиз .apk на вашем устройстве. В конфигурации отладки вы также можете проверить, появляются ли ваши тестовые объявления, добавив AdRequest.Builder.addTestDevice("ВАШЕ ИСПЫТАТЕЛЬНОЕ УСТРОЙСТВО"). Если все в порядке с показом рекламы, значит, вам просто нужна конфигурация релиза.

Ответ 6

Это простой WORKAROUND (без решения):

Вы можете установить посредничество, такое как InMobi: https://developers.google.com/admob/android/mediation/inmobi

Таким образом, если по какой-либо причине admob не показывает ваши объявления, вы все равно можете показать их из других рекламных сетей.

Ответ 7

W/Ads: Не удалось загрузить объявление: 3

Это означает, что ваш код правильный, но из-за меньшего количества запросов к серверу ваши объявления не видны. Чтобы проверить тестовый ADS, вы должны поместить код в цикл на некоторое время, и вам нужно дать несколько запросов, чтобы ваш admob получил несколько запросов и немедленно загрузил рекламу.

Добавьте код ниже

for(int i=0;i<1000;i++) {
            AdRequest adRequest = new AdRequest
                    .Builder()
                    .addTestDevice("B431EE858B5F1986E4D89CA31250F732")
                    .build();
            accountSettingsBinding.adView.loadAd(adRequest);
        } 

Перезапустите приложение несколько раз.

Удалите Loop после того, как вы начнете получать рекламу.

Ответ 8

Я просто собираюсь оставить это здесь, если это работает для кого-то. После того, как я попробовал все исправления, упомянутые на всех форумах и постах, у меня AdRequest просто использовать глобальный объект AdRequest. Я хотел бы использовать один и тот же объект при вызове loadAd на каждом adView в каждой Activity. Я видел, что он имеет тенденцию загружать одно и то же объявление в каждом AdView независимо от активности, но по крайней мере теперь я получаю объявления.

Ответ 9

Не забудьте добавить способы оплаты в Google AdMod. Это была моя проблема с "Код ошибки 3". В любом случае, когда ваш аккаунт Google AdMod будет готов показывать объявления (для проверенных устройств или реальных пользователей), они отправят вам электронное письмо с подтверждением вашего аккаунта и готовностью к работе! После этого письма все должно работать нормально.

Ответ 10

Если ошибка продолжается, последняя попытка - создать новое место размещения в admob. Это работает для меня. Без изменения чего-либо (кроме строки идентификатора места) еще раз показывается код.

Ответ 11

Если ваше опубликованное приложение не имеет AdMob и его настройки в консоли разработчика Google (называемые "Ценообразование и распространение") не отображаются, "СОДЕРЖИТ РЕКЛАМУ". Всегда разрабатывайте с идентификатором теста с выходом logcat.

Ответ 12

На новой версии ADMOB USE это:

//Загрузка вашего adView перед

    adView.setAdListener(new AdListener() {    


        @Override
        public void onAdFailedToLoad(int errorCode) {
            // Code to be executed when an ad request fails.
            Toast.makeText(Your current activity.this, "Ad failed: " + errorCode, Toast.LENGTH_SHORT).show();
        }




    });

Если реклама загружается на ваш эмулятор, а это означает, что они возвращают тестовые объявления, это должно означать, что с вашим кодом все в порядке. Они загружают тестовые объявления на ваш телефон?

Если вы видите тестовую рекламу на эмуляторе и тестовых устройствах, то это обычно означает, что AdMob (при условии, что вы используете AdMob) не может вернуть рекламу из-за отсутствия рекламных ресурсов. Если это так, то при просмотре Logcat вы должны увидеть строку W/Ads: Failed to load ad: 3.

Что вам нужно сделать, это подключить телефон Android к компьютеру, а затем в Android Studio нажмите Logcat, и в левом верхнем углу вы увидите несколько устройств для выбора. Выберите свой телефон, если он указан (так и должно быть). Logcat теперь будет печатать все, что печатает ваш телефон. На панели фильтров введите рекламу, чтобы отфильтровать то, что вам не нужно видеть.

Затем откройте свое приложение в телефоне и проверьте logcat. Убедитесь, что ваше устройство не считается тестовым устройством. Если вы видите W/Ads: Failed to load ad: 3, это должно означать, что проблема связана с AdMob, а не с вами.

Если это не говорит это, и это говорит что-то еще, тогда я очевидно не знаю.

Ответ 13

Я сделал самую глупую ошибку. Передал идентификатор приложения в MobileAds.initialize из одного приложения и использовал идентификатор размещения в loadAd из другого приложения admob.

После того как я исправил размещение идентификатора все приходят на работу.

Ответ 14

Я еще не опубликовал версию своего приложения с рекламой.

Я обнаружил код ошибки 3: ERROR_CODE_NO_FILL после переключения с эмуляторов с отладочной версией на реальное устройство с версией выпуска (установленной с помощью команд оболочки adb).

Я ждал 12+ часов и мог видеть запросы объявлений на портале AdMob, но ни одного совпадения (коэффициент совпадения 0%). Я подошел к Play Console > Store Presence > Pricing & distribution и переключил переключатель для Contains ads на Yes, it has ads. Я даже пытался загрузить свой пакет приложений (без публикации) в Play Console. Ни один из них не работал.

В различных справочных статьях AdMob (включая ссылку, приведенную ниже) упоминается, что если вы видели тестовые объявления (объявления с пометкой "Тестовое объявление"), то ваш код работает, и реальные объявления должны работать, как и ожидалось (после создания ресурсов)..

Имея это в виду, я пошел дальше и опубликовал свое приложение в Play Store, и как только обновление вышло в эфир, я загрузил его через приложение Play Store на свой реальный телефон, и объявления загрузились без проблем, и мой матч ставка сейчас на 66% сидит на AdMob. Из статьи часто задаваемых вопросов об AdMob кажется, что для начала показа рекламы обычно требуется несколько часов, а показ объявлений может занять до 24 часов.

ad mob FAQ re: how long does it take ads to show

Источник: https://support.google.com/admob/answer/2993019?hl=en