nie udało się załadować reklamy: 3


112

Ustawiam reklamę w mojej aplikacji na Androida za pomocą DoubleClick i nie mogę wyświetlić ostatecznej reklamy. Czy ktoś może mi pomóc?

Gdy testuję reklamę, dodając „.addTestDevice („ xxx ... ”)”, pojawia się reklama testowa, ale po usunięciu tej linii pojawia się następujący błąd:

W / Ads: brak wypełnienia z serwera reklam

W / Ads: Nie udało się załadować reklamy: 3

Ustawiam swoją reklamę w ten sposób:

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

A mój widok wydawcy wygląda tak:

    <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>

Co się stało?

Dzięki z góry za odpowiedzi.


1
Problem był spowodowany nieprawidłową konfiguracją języka. Dziwne jest to, że ta konfiguracja nie powoduje żadnych problemów z urządzeniami IOS, ale robi z systemem Android.
MHogge

2
czy możesz wyjaśnić, do jakiego rodzaju „konfiguracji języka” miałeś na myśli? Wydaje mi się, że mam ten sam problem.
isapego

To było ponad rok temu i nie mam już dostępu do konta DoubleClick, więc nie mogę Ci tak bardzo pomóc. Wiem, że miałem 3 języki (Fr, Nl, En) z ustawieniem Fr jako domyślnym i nie mogłem uzyskać języków NL i EN. Jeśli dobrze pamiętam, przełączyłem się na EN jako domyślną konfigurację języka i to wszystko. Nadal nie rozumiem, dlaczego to rozwiązało mój problem. Przepraszam, że nie pomogłem tak bardzo.
MHogge


W moim przypadku zmieniłem tylko na inne urządzenie wirtualne i zaczęły się ładować reklamy.
Teofilo Israel Vizcaino Rodrig

Odpowiedzi:


163

W / Ads: Nie udało się załadować reklamy: 3

Zgodnie z dokumentacją otrzymujesz następujący kod błędu:

public static final int ERROR_CODE_NO_FILL

Żądanie reklamy powiodło się, ale żadna reklama nie została zwrócona z powodu braku zasobów reklamowych.

Wartość stała: 3

Na podstawie posta onFailedToReceiveAd - Żądanie reklamy powiodło się, ale żadna reklama nie została zwrócona z powodu braku zasobów reklamowych podczas korzystania z admob z adwhirl :

Jeśli otrzymujesz ten błąd, oznacza to, że kod jest poprawny. Problem polega na tym, że AdMob nie zawsze ma reklamę do zwrócenia dla każdego żądania. Może się tak zdarzyć szczególnie wtedy, gdy właśnie zarejestrowałeś swój identyfikator wydawcy AdMob, ponieważ zajmuje trochę czasu i wiele żądań, zanim nowy identyfikator zacznie zwracać reklamy.

Innym powodem, dla którego Twój współczynnik wypełnienia może być niski, jest to, że nie masz włączonych reklam zapasowych AdSense lub odfiltrowałeś niektóre reklamy. Sprawdź ustawienia aplikacji, aby zobaczyć, czy tak jest.


29
Co jest zasypką? Dokument o tym nie wspomniał.
Kimi Chiu,

3
Pan! Mam inną aplikację, która należy do tego samego konta AdMob i wyświetla reklamy. Proszę wyjaśnić
Bilal Mustafa

2
Mam ten sam problem, najpierw może wyświetlać reklamy, ale teraz pojawia się błąd 3
llb

7
Dziwne jest to, że dzieje się to dla mnie z identyfikatorem testu, który, jak mówi dokumentacja, to/6499/example/banner
GVillani82

1
Cześć, mam ten sam problem, reklamy wcześniej się wyświetlały, ale teraz otrzymałem kod błędu 3. Proszę o pomoc
Rosemary

25

Jest jedna opcja, która pomogła w naszym przypadku. Jak @blizzard wspomniał w ustawieniach aplikacji w Google Developer Console, istnieje sekcja o nazwie „Ceny i dystrybucja”. W tej sekcji znajduje się pole wyboru „ZAWIERA REKLAMY”. W naszym przypadku był wyłączony. Po włączeniu pomyślnie otrzymaliśmy reklamy.

wprowadź opis obrazu tutaj


1
Czy możesz dodać zrzut ekranu lub szczegółową ścieżkę do wyceny i dystrybucji? Czy jest też w panelu apps.admob.com lub w konsoli programisty Google?
Krishna Karki

1
Przejdź do Konsoli Google Play , a następnie wybierz Wszystkie aplikacje po prawej stronie, wybierz swoją aplikację, wybierz Obecność w sklepie po prawej stronie, w menu rozwijanym wybierz Ceny i dystrybucja
Alexander Ovchinnikov

Jesteś zbawicielem! Miałem wyłączony mój, właśnie go włączyłem.
Makari Kevin

To pytanie dotyczy kodu błędu 3. Czy to odpowiedź na ten kod błędu?
Ahamadullah Saikat

2
Teraz jest w sekcji „Zawartość aplikacji” zamiast „Ceny i dystrybucja”
Aurasphere

18

Wystąpił ten sam błąd w mojej aplikacji. Uruchomiłem aplikację w konfiguracji debugowania. Problem został rozwiązany, gdy tylko uruchomiłem nową wersję mojej aplikacji na tym samym urządzeniu. W Android Studio po prostu przejdź do Build -> Generate Signed APK i wybierz konfigurację wydania. Następnie zainstaluj wersję .apk na swoim urządzeniu. W konfiguracji debugowania możesz również sprawdzić, czy wyświetlają się reklamy testowe , dodając AdRequest.Builder.addTestDevice („TWOJE URZĄDZENIE TESTOWE”). Jeśli wyświetlanie reklam jest w porządku, oznacza to, że potrzebujesz tylko konfiguracji wersji.


1
Obecnie addTestDevice jest przestarzałe i musisz ustawić identyfikator jednostki reklamowej. Źródła: developers.google.com/admob/android/test-ads
Anton Balashov

6

Jedna nowa i zaktualizowana odpowiedź: wiele aplikacji, które zostały usunięte w październiku (2018 r.) Z powodu braku Polityki prywatności, nie może otrzymywać reklam po ich powrocie do Sklepu Play. Musisz użyć tego formularza, aby poprosić o „zresetowanie” reklam w tej aplikacji. https://support.google.com/admob/contact/appeal_policy_violation

Kilka dni zajęło mi uświadomienie sobie i znalezienie odpowiedzi. Mamy nadzieję, że odzyskasz swoje reklamy.


Czy możesz wspomnieć, co piszesz w sekcji: „Jakie zmiany wprowadziłeś w swojej aplikacji lub koncie w celu zapewnienia zgodności z naszymi zasadami programu? *”
Arbaz Alam,

Dodałem wymaganą politykę prywatności
Marius Razvan Varvarei

Czy chodziło Ci o to, że skopiowałeś i wkleiłeś swoją politykę prywatności w tym polu odwołania?
Arbaz Alam

W rzeczywistości moja aplikacja jest teraz dostępna w sklepie playstore po przesłaniu zaktualizowanej aplikacji z polityką prywatności, ale reklamy AdMob nie są włączone.
Arbaz Alam

1
@MariusRazvanVarvarei Nie mam dostępu do tego formularza. Przekierowuje na support.google.com/admob/ ...
Ammar,

5

W / Ads: Nie udało się załadować reklamy: 3

Oznacza to, że kod jest poprawny, ale z powodu mniejszej liczby żądań do serwera reklamy nie są widoczne. Aby sprawdzić Test ADS, powinieneś umieścić kod w pętli na jakiś czas i musisz wysłać wiele żądań, aby Twój admob otrzymał wiele żądań i natychmiast załadował reklamy.

Dodaj poniższy kod

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

Ponownie uruchom aplikację wielokrotnie.

Usuń pętlę po rozpoczęciu otrzymywania reklam .


1
co to jest accountSettingsBinding tutaj?
Rahul Tiwari

accountSettingsBinding.adView.loadAd (adRequest); możesz podać swój identyfikator porady
Vivek Makwana

Fajnie to rozumiem. To zadziałało, ale po około 24 godzinach odpalania wielu żądań. Dzięki.
Rahul Tiwari

4

To jest proste OBEJŚCIE (brak rozwiązania):

Możesz zainstalować zapośredniczenie, takie jak InMobi: https://developers.google.com/admob/android/mediation/inmobi

W ten sposób, jeśli z jakiegokolwiek powodu AdMob nie wyświetla Ci reklam, możesz nadal wyświetlać je z innych sieci reklamowych.


1
czy znasz jakiś konkretny tutorial do tego?
Amin Pinjari

1
Po prostu postępowałem zgodnie z instrukcjami z tego linku. W każdym razie odkryłem, że inmobi nie wyświetlał reklam często (nawet w 50% przypadków), więc już go nie używam.
Pablo Alfonso

1
W tej chwili (15.08.2019) pracuje dla mnie Google AdMob (moja aplikacja to „Match4app”). Współczynnik dopasowania wynosi 100%, a wskaźnik emisji 80% dla USA, Kanady i Hiszpanii, 75% dla Niemiec itd.
Pablo Alfonso

4

Nie opublikowałem jeszcze wersji mojej aplikacji z reklamami.

Widziałem kod błędu 3: ERROR_CODE_NO_FILL po przełączeniu się z emulatorów z wersją debugowania na rzeczywiste urządzenie z wersją wydania (instalowane za pomocą poleceń powłoki adb).

Czekałem ponad 12 godzin i mogłem zobaczyć żądania reklam w portalu AdMob, ale bez dopasowań (współczynnik dopasowania 0%). Poszedłem do Play Console > Store Presence > Pricing & distributioni włączył przycisk opcji Contains adsdo Yes, it has ads. Próbowałem nawet przesłać pakiet aplikacji (bez publikowania) do Konsoli Play. Żadne z nich nie działało.

W różnych artykułach pomocy AdMob (w tym link poniżej) wspomina się, że jeśli widzisz reklamy testowe (reklamy z etykietą „Reklama testowa”), oznacza to, że kod działa, a prawdziwe reklamy powinny działać zgodnie z oczekiwaniami (po utworzeniu zasobów reklamowych) .

Mając to na uwadze, opublikowałem moją aplikację w Sklepie Play, a gdy aktualizacja została uruchomiona, pobrałem ją za pośrednictwem aplikacji Sklep Play na moim prawdziwym telefonie, a reklamy ładowały się bez problemu, a mój współczynnik dopasowania wynosi teraz 66 % w AdMob. Z artykułu z najczęściej zadawanymi pytaniami dotyczącymi AdMob wynika, że ​​zazwyczaj zajmuje to kilka godzin, a wyświetlanie reklam mogło zająć do 24 godzin.

ad mob - najczęściej zadawane pytania dotyczące: jak długo trwa wyświetlanie reklam

Źródło: https://support.google.com/admob/answer/2993019?hl=en


Nie jest konieczne, aby Twoja aplikacja była dostępna w Google Play lub innej platformie, jeśli aktywujesz reklamy testowe :)
Genaut

2

Opcja 1 : Przejdź do Ustawienia-> szukaj Resetuj identyfikator reklamowy -> kliknij Resetuj identyfikator reklamowy -> OK . Powinieneś zacząć otrzymywać reklamy już teraz

Brak opcji wyszukiwania? Wypróbuj opcję 2

Opcja 2 : Wybierz Ustawienia-> Google-> Reklamy-> Zresetuj identyfikator reklamowy-> OK

Brak opcji Google w Ustawieniach? Wypróbuj opcję 3

Opcja 3 : Poszukaj Ustawień Google (NIE USTAWIEŃ) -> Reklamy-> Resetuj identyfikator wyświetlania reklam


czy to znajduje się w menu AdMob?
coderInrRain

1
Nie ma nigdzie czegoś takiego jak menu „resetowanie identyfikatora reklamowego” Google. Gdzie?
Panini Luncher

2

Nie zapomnij dodać metod płatności w Google AdMod. To był mój problem z „Kodem błędu 3”. W każdym razie, gdy Twoje konto Google AdMod będzie gotowe do wyświetlania reklam (dla testowanego urządzenia lub prawdziwych użytkowników), wyślą Ci e-mail, że Twoje konto jest zweryfikowane i gotowe do pracy! Po tym liście wszystko powinno działać dobrze.


1

Zostawię to tutaj, na wypadek, gdyby dla kogoś zadziałało. Po wypróbowaniu wszystkich poprawek wymienionych na wszystkich forach i postach, co zadziałało, to po prostu użycie AdRequestobiektu globalnego . Używałbym tego samego obiektu do wywoływania loadAdkażdego adViewz nich Activity. Widziałem, że ma tendencję do ładowania tej samej reklamy na każdym z nich, AdViewniezależnie od aktywności, ale przynajmniej teraz dostaję reklamy.


1

Jeśli opublikowana aplikacja nie ma konta admob, a jej ustawienia w Google Developer Console (zwane „Cenami i dystrybucją”) „ZAWIERA REKLAMY” nie są zaznaczone. Zawsze programuj z identyfikatorem testu z wyjściem logcat.


1

W nowej wersji AdMob UŻYJ tego:

// Załaduj wcześniej 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();
        }




    });

Jeśli reklamy ładują się na emulator, co oznacza, że ​​zwracają reklamy testowe, powinno to oznaczać, że nie ma nic złego w Twoim kodzie. Czy ładują również reklamy testowe na Twoim telefonie?

Jeśli możesz zobaczyć reklamy testowe na emulatorze i urządzeniach testowych, zwykle oznacza to po prostu, że AdMob (zakładając, że korzystasz z AdMob) nie może zwrócić reklamy z powodu braku zasobów reklamowych. W takim przypadku, patrząc na Logcat, powinieneś zobaczyć wiersz W / Ads: Failed to load: 3 .

To, co powinieneś zrobić, to podłączyć telefon z Androidem do komputera, a następnie w Android Studio kliknąć Logcat, aw lewym górnym rogu powinieneś zobaczyć kilka urządzeń do wyboru. Wybierz swój telefon, jeśli jest na liście (powinien być). Logcat wydrukuje teraz wszystko, co drukuje Twój telefon. Na pasku filtrów wpisz reklamy, aby odfiltrować treści, których nie potrzebujesz.

Następnie otwórz aplikację w telefonie i sprawdź logcat. Upewnij się, że Twoje urządzenie nie jest uważane za urządzenie testowe. Jeśli widzisz W / Ads: Failed to load: 3 , oznacza to, że problem leży po stronie AdMob, a nie Ciebie.

Jeśli tego nie mówi, a mówi coś innego, to oczywiście nie wiem.



0

Jeśli błąd będzie się powtarzał, ostatnią próbą jest utworzenie nowego miejsca docelowego w admob. To działa dla mnie. Bez zmiany niczego (poza ciągiem identyfikatora miejsca docelowego) inne reklamy w kodzie zaczną się wyświetlać.


0

Popełniłem najgłupszy błąd. Identyfikator aplikacji został przekazany MobileAds.initializez jednej aplikacji i użyty identyfikator miejsca docelowego loadAdz innej aplikacji AdMob.

Po poprawieniu identyfikatora miejsca docelowego wszyscy zaczęli działać.


0

Dla mnie powodem było to, że jedno urządzenie, Xiaomi Mi 9 po prostu już nie działało i nie wyświetlało reklam, więc wyciągnąłem tablet i nie widziałem żadnych błędów i wyświetlało reklamy w wydaniu.


0

Może istnieć jeden z powodów, dla których mogłeś utworzyć reklamę z konsoli adMob, klikając tak, że Twoja aplikacja jest już w sklepie playstore i podając adres URL aplikacji na żywo. W takim przypadku nie będziesz w stanie wyświetlać reklam w żadnym innym projekcie który ma różnicowy identyfikator pakietu niż ten na żywo (nawet nie testuje reklamy). Musisz zaimplementować reklamy w rzeczywistym projekcie zawierającym ten sam identyfikator pakietu, aw innym przypadku reklama nie załaduje się ad: 3.

Dzięki! Miłego kodowania!


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

Może to pomaga innym, otrzymałem to powiadomienie na moim koncie AdSense. wprowadź opis obrazu tutaj


0

W / Ads: Nie udało się załadować reklamy: 3

Oznacza: żądanie reklamy powiodło się, ale żadna reklama nie została zwrócona z powodu braku zasobów reklamowych.

Tak więc w moim przypadku skomentowałem keywords:właściwość, aby załadować wszystkie typy reklam. Teraz moja reklama ładuje się prawidłowo.

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

0

To działa dla mnie


Ustawienia-> Google-> Reklamy-> Zresetuj identyfikator reklamowy-> OK

Ale w niektórych przypadkach reklamy są automatycznie wyświetlane po przesłaniu do Sklepu Play.


Gdzie są te menu?
moondaddi

Nie rozumiem, o jakim rodzaju menu mówisz. Ale to ustawienie znajduje się w ustawieniach telefonu.
Kaushik Borah

Czy możesz powiedzieć dokładniej, gdzie jest to opcja? Nigdzie nie widzę
Dyno Cris

@DynoCris Te ustawienia są dostępne w sekcji Google, jego lokalizacja różni się od różnych telefonów. Ale jeszcze jedno, jeśli nie widzimy Twojej reklamy i otrzymujemy błąd „Nie udało się załadować reklamy: 3”, wszystko jest w porządku. Zobaczysz reklamę, gdy prześlesz aplikację do sklepu Play lub może podczas tworzenia wydanej wersji apk.
Kaushik Borah

0
  1. Sprawdź i upewnij się, że nie połączyłeś dwóch kont z Adsense, jak to zrobiłem omyłkowo w moim przypadku.

  2. jeśli dopiero tworzysz konto admob na 24 godziny i spróbuj ponownie


0

Mój problem dotyczył płatności. Odświeżyłem swoją metodę płatności i to mi pomogło.


-1

Otrzymałem ten błąd we Flutterze. Sprawdź konsolę debugowania i znajdź to polecenie

Use.RequestConfiguration.Builder (). SetTestDeviceIds (Arrays.asList („”)

I skopiuj identyfikator urządzenia z listy do MobileAdTargetingInfo testDevices i zadziała !!!

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.