webentwicklung-frage-antwort-db.com.de

Admob-Anzeige wird nicht geladen. Fehler 2. Es hat vorher funktioniert, aber plötzlich gestoppt

Hier ist die gesamte Klasse, die ich versuche, eine Banneranzeige in die (createAd () - Methode) zu laden, die die Arbeit erledigt.

public class HomeActivity extends Activity {

    private HomeView homeView;
    private ImageView playButton;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);

//        playButton = (ImageView)findViewById(R.id.playButton);
//        playButton.setImageBitmap(BitmapFactory.decodeResource(getResources(),
//                R.drawable.play));
//        setListener();
        setContentView(R.layout.home_main);
        createAd();

    }

    private void setListener (){
        playButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                playButton.setImageBitmap(BitmapFactory.decodeResource(getResources(),
                        R.drawable.play2));
                playGame();
            }
        });
    }

    private void createAd(){
        setContentView(R.layout.home_main);
        AdView adView = (AdView)findViewById(R.id.bottomAd);
        AdRequest.Builder adRequestBuilder = new AdRequest.Builder();
        adRequestBuilder.addTestDevice("FEACCF89D31180ABDD853C9C3DD2E871");
//                .addTestDevice("1744314CD0C7B0619F94D44CE2E5093E");

        adView.loadAd(adRequestBuilder.build());
    }

    public void playGame() {
        SharedPreferences savedData = getApplicationContext()
                .getSharedPreferences("lastScore", Context.MODE_PRIVATE);
        int score = savedData.getInt("lastScore", Context.MODE_PRIVATE);
        Intent intent = new Intent(HomeActivity.this, GamePlay.class);
        intent.putExtra("lastScore", score);
        startActivity(intent);
        finish();
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}

Hier ist die XML von home_main

<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    xmlns:tools="http://schemas.Android.com/tools"
    Android:id="@+id/homeRelative"
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content"
    Android:paddingBottom="@dimen/activity_vertical_margin"
    Android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".HomeActivity">

    <com.google.Android.gms.ads.AdView
        xmlns:ads="http://schemas.Android.com/apk/res-auto"
        Android:id="@+id/bottomAd"
        Android:layout_width="fill_parent"
        Android:layout_height="wrap_content"
        ads:adSize="SMART_BANNER"
        ads:adUnitId="@string/admob_banner_id">
    </com.google.Android.gms.ads.AdView>

</RelativeLayout>

Hier ist mein Log nach dem letzten Lauf

 01-01 16:00:32.235  26387-26387/com.rune.colorhunt D/OpenGLRenderer﹕ Enabling debug mode 0
01-01 16:00:32.275      652-796/? I/CrashAnrDetector﹕ onPackageUpdateFinished : com.rune.colorhunt
01-01 16:00:37.351  26387-26416/com.rune.colorhunt D/dalvikvm﹕ DexOpt: --- BEGIN 'ads976472321.jar' (bootstrap=0) ---
01-01 16:00:37.361  26387-26387/com.rune.colorhunt V/WebViewChromium﹕ Binding Chromium to the main looper Looper (main, tid 1) {41d00b38}
01-01 16:00:37.361  26387-26387/com.rune.colorhunt I/chromium﹕ [INFO:library_loader_hooks.cc(112)] Chromium logging enabled: level = 0, default verbosity = 0
01-01 16:00:37.361  26387-26387/com.rune.colorhunt I/BrowserProcessMain﹕ Initializing chromium process, renderers=0
01-01 16:00:37.391  26387-26426/com.rune.colorhunt W/chromium﹕ [WARNING:proxy_service.cc(888)] PAC support disabled because there is no system implementation
01-01 16:00:37.421  26387-26387/com.rune.colorhunt I/Ads﹕ Starting ad request.
01-01 16:00:37.441  26387-26416/com.rune.colorhunt D/dalvikvm﹕ DexOpt: --- END 'ads976472321.jar' (success) ---
01-01 16:00:37.441  26387-26416/com.rune.colorhunt D/dalvikvm﹕ DEX prep '/data/data/com.rune.colorhunt/cache/ads976472321.jar': unzip in 0ms, rewrite 91ms
01-01 16:00:37.611  26387-26394/com.rune.colorhunt I/dalvikvm﹕ Total arena pages for JIT: 11
01-01 16:00:37.611  26387-26394/com.rune.colorhunt I/dalvikvm﹕ Total arena pages for JIT: 12
01-01 16:00:37.621  26387-26394/com.rune.colorhunt I/dalvikvm﹕ Total arena pages for JIT: 13
01-01 16:00:37.621  26387-26394/com.rune.colorhunt I/dalvikvm﹕ Total arena pages for JIT: 14
01-01 16:00:37.651  26387-26431/com.rune.colorhunt W/Ads﹕ There was a problem getting an ad response. ErrorCode: 2
01-01 16:00:37.691  26387-26387/com.rune.colorhunt I/Ads﹕ Scheduling ad refresh 60000 milliseconds from now.
01-01 16:00:37.691  26387-26387/com.rune.colorhunt W/Ads﹕ Failed to load ad: 2
01-01 16:01:37.715  26387-26387/com.rune.colorhunt I/Ads﹕ Starting ad request.
01-01 16:01:37.825  26387-26490/com.rune.colorhunt W/Ads﹕ There was a problem getting an ad response. ErrorCode: 2
01-01 16:01:37.845  26387-26387/com.rune.colorhunt I/Ads﹕ Scheduling ad refresh 60000 milliseconds from now.
01-01 16:01:37.845  26387-26387/com.rune.colorhunt W/Ads﹕ Failed to load ad: 2
01-01 16:02:37.889  26387-26387/com.rune.colorhunt I/Ads﹕ Starting ad request.
01-01 16:02:38.009  26387-26531/com.rune.colorhunt W/Ads﹕ There was a problem getting an ad response. ErrorCode: 2
01-01 16:02:38.039  26387-26387/com.rune.colorhunt I/Ads﹕ Scheduling ad refresh 60000 milliseconds from now.
01-01 16:02:38.039  26387-26387/com.rune.colorhunt W/Ads﹕ Failed to load ad: 2
01-01 16:03:38.972  26387-26387/com.rune.colorhunt I/Ads﹕ Starting ad request.
01-01 16:03:39.062  26387-26783/com.rune.colorhunt W/Ads﹕ There was a problem getting an ad response. ErrorCode: 2
01-01 16:03:39.062  26387-26387/com.rune.colorhunt I/Ads﹕ Scheduling ad refresh 60000 milliseconds from now.
01-01 16:03:39.062  26387-26387/com.rune.colorhunt W/Ads﹕ Failed to load ad: 2

Wenn mir jemand helfen würde, wäre das erstaunlich. Ich habe buchstäblich keine Ahnung, was das Problem sein könnte. Vielleicht fehlt mir etwas sehr einfaches und ich brauche nur ein anderes Augenpaar. Jede Hilfe wird geschätzt, danke. 

13

Stellen Sie sicher, dass Ihr Gerät über eine korrekte Internetverbindung verfügt. Ohne Internetverbindung erhalten Sie keine Anzeigen.

28
MikeL

Admob-Anzeige wird nicht geladen. Wenn das Datum oder die Uhrzeit auf Ihrem Gerät falsch ist, wird Fehler 2 angezeigt. Stellen Sie einfach die automatische Korrektur des Geräts ein

12
NickUnuchek

Fehler Nr. 2 bedeutet ERROR_CODE_NETWORK_ERROR. . Überprüfen Sie also Ihre Internetverbindung und schalten Sie immer noch keine Anzeigen ein. Starten Sie dann Ihr Handy neu und prüfen Sie, ob ... das für mich funktioniert hat.

8
kalandar

Ein weiteres Problem könnte eine Adblocker-Anwendung sein, wie in diesem Beitrag vorgeschlagen: https://stackoverflow.com/a/36010639/3596576 von @Durian.

Für mich war das das Problem.

2
Ionut Negru

Wenn Sie ein echtes Gerät verwenden, überprüfen Sie auch andere Apps, die wissen, dass sie Anzeigen enthalten. Überprüfen Sie auch einzeln im Mobilfunknetz und im WLAN.

Für mich wird es nicht nur im Mobilfunknetz und in allen Apps angezeigt. Löschen von Daten der Google Play-Dienste Hilfe und Anzeigen werden wieder angezeigt. Bis GPS seine Daten zurücklädt. Es hat also etwa eine Minute geklappt. :-D

1
Velda

Ich hatte das ähnliche Problem. Die Internetverbindung war in Ordnung und es war kein Werbeblocker installiert.

Das Problem könnte mit Ihrem Testgerät zusammenhängen. Prüfen Sie, ob Sie eine andere Anwendung haben, die Admob enthält, mit Ihrem Testgerät. Sie können auch ein anderes Gerät und eine andere App, die Admob enthält, prüfen.

In meinem Fall habe ich festgestellt, dass mein Testgerät über eine Internetverbindung verfügt, aber keine Admob-Anzeigen in verschiedenen Anwendungen angezeigt werden. Also habe ich versucht mein Testgerät neu zu starten und es hat funktioniert.

1
Erdem

Ich hatte das gleiche Problem, dass die Anzeige nicht auf dem Bildschirm des physischen Testgeräts angezeigt wurde.

Ich stellte mein WLAN aus und begann mit der Verwendung von 3G-Mobildaten. Dann wurden meine Anzeigen auf den physischen Testgeräten geschaltet.

Ich habe auch einen Unterschied in Abhängigkeiten: 

com.google.Android.gms:play-services-ads:9.2.0

anstelle von 11.6.2

1
anand

Im Emulator von Android Studio war mein Problem der falsche virtuelle Speicherort des Geräts: Sobald ich es als meinen realen Speicherort festgelegt habe, hat es funktioniert.

0

Dieses Verhalten wird durch eine App verursacht, die zu viele Anzeigenanforderungen auf einmal sendet, wodurch das SDK in einen fehlerhaften Zustand versetzt wird. Durch den Neustart der Google Play-Dienste, die effektiv durch Löschen aller Daten ausgeführt werden können, ist das Problem für mich behoben. Die SDK-Korrektur für dieses Problem wird in der nächsten Version der Google Play-Dienste enthalten sein. Sobald Ihr Gerät das Update aufnimmt, müssen Sie Ihre App nicht aktualisieren. Dies ist ein bekanntes Problem von SDK

machen Sie sich zunächst klar, welche Art von Add Sie laden möchten, Interstitial- oder Bannerwerbung. Wenn Sie Bannerwerbung laden möchten, erstellen Sie auf der Admob-Site ein Bannerwerbung ad_unit_id. Verwenden Sie dann AdView direkt in Ihrer Aktivitätsansicht wie folgt:

 <com.google.Android.gms.ads.AdView
    xmlns:ads="http://schemas.Android.com/apk/res-auto"
    Android:id="@+id/xadView"
    Android:layout_width="fill_parent"
    Android:layout_height="wrap_content"
    ads:adSize="SMART_BANNER"
    ads:adUnitId="@string/admob_banner_ad_unit_id" />

und fordern Sie einfach an, Bannerwerbung aus Ihrem Code wie folgt zu laden: Schreiben Sie diesen Code in Ihre Aktivität in oncreate after setcontentview

AdView mAdView = (AdView) findViewById(R.id.xadView);
AdRequest adRequest = new AdRequest.Builder().addTestDevice(
                AdRequest.DEVICE_ID_EMULATOR).build();
mAdView.loadAd(adRequest); 

UND

wenn Sie Interstial-Anzeigen laden möchten, erstellen Sie auf der Admob-Site eine Interstitial-Ad_unit_id, und verwenden Sie sie in der folgenden Methode:

public void showFullScreenAd() {
    try {

                com.google.Android.gms.ads.InterstitialAd interstitial = new com.google.Android.gms.ads.InterstitialAd(context);
                interstitial
                        .setAdUnitId(ADMOB_INTERSTITIAL_AD_UNIT_ID);

                // Check the logcat output for your hashed device ID to get test ads
                // on
                // a physical device.
                com.google.Android.gms.ads.AdRequest adRequest = new AdRequest.Builder()
                        .build();

                // Load the interstitial ad.
                interstitial.loadAd(adRequest);
                interstitial
                        .setAdListener(new com.google.Android.gms.ads.AdListener() {
                            @Override
                            public void onAdLoaded() {
                                interstitial.show();
                            }                           
                        });

    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

HINWEIS: Wichtig ist, dass wir manchmal Banner-Anzeigenblock-ID in Interstitial-Anzeigen oder Interstitial-Anzeigenblock-IDs in Banneranzeigen verwenden, so dass dieser Fehler auftritt.

0
Amrut Bidri

versuchen Sie, "Hintergrunddaten in Mobilfunknetzen deaktivieren" als in Google-Diensten deaktiviert zu setzen. Es funktioniert für mich