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


112

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

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

W / Ads: Нет заполнения с сервера объявлений

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>

Что могло быть не так?

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


1
Проблема возникла из-за неправильной языковой конфигурации. Что кажется странным, так это то, что эта конфигурация не создает проблем с устройствами IOS, но имеет место с устройствами Android.
MHogge

2
не могли бы вы пояснить, о какой «языковой конфигурации» вы имели в виду? Кажется, я столкнулся с той же проблемой.
isapego 01

Это было больше года назад, и у меня больше нет доступа к учетной записи DoubleClick, поэтому я не могу вам так сильно помочь. Я знаю, что у меня было 3 языка (Fr, Nl, En) с Fr, установленным по умолчанию, и я не мог получить NL и EN. Если я хорошо помню, я переключился на EN в качестве языковой конфигурации по умолчанию, и все. Я до сих пор не понимаю, почему это решило мою проблему, извините за то, что не помог.
MHogge

1
Проверьте ответ ниже stackoverflow.com/a/52165214/3073945
Md. Sajedul Karim

В моем случае я только перешел на другое виртуальное устройство, и реклама начала загружаться.
Теофило Исраэль Вискаино Родриг

Ответы:


163

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

Согласно документации, вы получаете следующий код ошибки:

общедоступный статический окончательный int ERROR_CODE_NO_FILL

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

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

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

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

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


29
Что за засыпка? В документе об этом не упоминалось.
Kimi Его

3
Сэр! У меня есть другое приложение, которое принадлежит той же учетной записи AdMob, и оно показывает рекламу. Пожалуйста, объясните
Билал Мустафа

2
У меня та же проблема, он может сначала показывать рекламу, но теперь выдает ошибку 3
llb

7
Странно то, что у меня это происходит с идентификатором теста, который, как сказано в документации,/6499/example/banner
GVillani82

1
Привет, у меня такая же проблема, раньше реклама показывалась нормально, но теперь я получил код ошибки 3. Пожалуйста, помогите
Розмари

25

В нашем случае помог один вариант. Как упоминал @blizzard в настройках вашего приложения в консоли разработчика Google, есть раздел, который называется «Цены и распространение». В этом разделе есть галочка «СОДЕРЖИТ ОБЪЯВЛЕНИЕ». В нашем случае он был отключен. После включения мы успешно получили рекламу.

введите описание изображения здесь


1
Не могли бы вы добавить снимок экрана или подробный путь для определения цены и распространения, пожалуйста? Также он есть на панели инструментов apps.admob.com или в консоли разработчика Google?
Кришна Карки

1
Перейдите в консоль Google Play , после этого выберите Все приложения справа, выберите свое приложение, выберите присутствие в магазине справа, в раскрывающемся меню выберите Цены и распространение
Александр Овчинников

Ты спаситель! Я отключил свой, я только что его включил.
Макари Кевин

Этот квест посвящен коду ошибки 3. Это ответ на этот код ошибки?
Ахамадулла Сайкат

2
Теперь он находится в разделе «Контент приложения» вместо «Цены и распространение»
Aurasphere

18

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


1
В настоящее время addTestDevice устарел, и вы установили идентификатор блока AD. Ссылка: developers.google.com/admob/android/test-ads
Антон Балашов

6

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

Мне потребовалось несколько дней, чтобы осознать и найти ответ. Надеюсь, ты вернешь свою рекламу.


Не могли бы вы упомянуть, что вы пишете в разделе: «Какие изменения вы внесли в свое приложение или учетную запись, чтобы соответствовать нашим правилам программы? *»
Арбаз Алам

Я добавил необходимую политику конфиденциальности
Мариус Разван Варварей

Вы имели в виду, что вам нужно скопировать и вставить свою политику конфиденциальности в это поле для апелляции?
Arbaz Alam

На самом деле мое приложение теперь доступно в игровом магазине после отправки обновленного приложения с политикой конфиденциальности, но реклама Admob не включена.
Arbaz Alam

1
@MariusRazvanVarvarei Я не могу получить доступ к этой форме. Он перенаправляет на support.google.com/admob/…
Аммар,

5

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

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

Добавьте приведенный ниже код

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

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

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


1
что здесь accountSettingsBinding?
Рахул Тивари,

accountSettingsBinding.adView.loadAd (adRequest); вы можете указать свой рекламный идентификатор
Вивек Маквана,

Круто понял. Это сработало для меня, но примерно через 24 часа после нескольких запросов. Спасибо.
Рахул Тивари,

4

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

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

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


1
вы знаете какой-нибудь конкретный учебник для этого?
Амин Пинджари,

1
Я просто следовал инструкциям по этой ссылке. В любом случае, я обнаружил, что inmobi не показывал рекламу часто (даже в 50% случаев), поэтому я больше не использую его.
Пабло Альфонсо

1
Прямо сейчас (15.08.2019) у меня работает Google Admob (мое приложение «Match4app»). Коэффициент совпадения составляет 100%, а коэффициент шоу составляет 80% для США, Канады и Испании, 75% для Германии и т. Д.
Пабло Альфонсо

4

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

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

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

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

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

часто задаваемые вопросы о рекламном мобе re: сколько времени нужно, чтобы показывать рекламу

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


Необязательно, чтобы ваше приложение
размещалось

2

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

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

Вариант 2 : перейдите в Настройки-> Google-> Реклама-> Сбросить рекламный идентификатор-> ОК.

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

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


это находится в меню AdMob?
coderInrRain 04

1
Нигде НЕТ такой вещи, как меню "сбросить рекламный идентификатор" Google. Куда?
Panini Luncher

2

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


1

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


1

Если ваше опубликованное приложение не имеет admob и его настройки в консоли разработчика Google (называемые «Цены и распространение») «СОДЕРЖИТ ОБЪЯВЛЕНИЕ» не отмечены. Всегда разрабатывайте с тестовым идентификатором с выводом logcat.


1

В новой версии admob ИСПОЛЬЗУЙТЕ это:

// Загрузите ваш 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, а не с вами.

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


1

Эта ошибка может быть вызвана слишком большим количеством причин. Сначала попробуйте использовать testAds с идентификатором ca-app-pub, чтобы избежать проблем с аккаунтом admob.

Убедитесь, что вы расширяете AppCompatActivity в своем mainActivity, в моем случае это была проблема

Также проверьте все эти шаги еще раз https://developers.google.com/admob/android/quick-start?hl=en-419#import_the_mobile_ads_sdk


0

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


0

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

Как только я исправил идентификатор места размещения, все заработало.


0

Для меня причина заключалась в том, что одно устройство, Xiaomi Mi 9, просто больше не работало и не отображало рекламу, поэтому я вытащил свой планшет и не увидел ошибок, а в выпуске отображалась реклама.


0

Это может быть одна из причин, по которой вы могли создать свою рекламу из консоли adMob, нажав Да, что ваше приложение уже находится в игровом магазине и указав URL-адрес вашего действующего приложения. Теперь в этом случае вы не сможете запускать свою рекламу в каких-либо других проектах. который имеет идентификатор пакета diff, а затем живую (даже не тестовую рекламу). Вы должны реализовать рекламу в реальном проекте, содержащем тот же идентификатор пакета, а в другом случае будет получаться реклама, не удалось загрузить объявление: 3.

Спасибо! Удачного кодирования!


0
Your ad units are not displaying ads because you haven't yet verified your address (PIN).

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


0

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

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

Итак, в моем случае я прокомментировал keywords:свойство загружать все типы рекламы. Теперь мое объявление загружается правильно.

static final MobileAdTargetingInfo targetingInfo = MobileAdTargetingInfo(
        testDevices: testDevice != null ? <String>[testDevice] : null,
        nonPersonalizedAds: true,
        //keywords: <String>['Fitness', 'Yoga', 'Health', 'Exercise', 'Game', 'Doctor', 'Medical'],);

0

Это работает для меня


Настройки-> Google-> Реклама-> Сбросить рекламный ID-> ОК

Но в некоторых случаях реклама появляется автоматически после загрузки в игровой магазин.


Где это меню ??
moondaddi

Я не понял, о каком меню вы говорите. Но этот параметр есть в настройках вашего телефона.
Кошик Бора,

Подскажите точнее где это вариант? Я нигде не вижу
Dyno Cris

@DynoCris Эти настройки находятся в разделе Google, его местоположение отличается от разных телефонов. Но еще один момент: если мы не видим ваше объявление и получаем сообщение об ошибке «Не удалось загрузить объявление: 3», это нормально. Вы увидите рекламу, когда загрузите приложение в игровой магазин или, возможно, при создании выпущенной версии apk.
Кошик Бора,

0
  1. Проверьте и убедитесь, что вы не связали две учетные записи с AdSense, как я по ошибке сделал в моем случае.

  2. если вы просто создаете свою учетную запись admob, подождите 24 часа и попробуйте еще раз


0

Моя проблема была в оплате. Я обновил свой способ оплаты, и это мне помогло.


-1

Я получал эту ошибку во Flutter. Проверьте консоль отладки и найдите эту команду

Use.RequestConfiguration.Builder (). SetTestDeviceIds (Arrays.asList ("")

И скопируйте идентификатор устройства из списка в MobileAdTargetingInfo testDevices, и он будет работать !!!

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.