web-dev-qa-db-fra.com

Admob annonce ne sera pas chargée. Erreur 2. Cela fonctionnait avant mais s'est soudainement arrêté

Voici la classe entière dans laquelle j'essaye de charger une bannière publicitaire (la méthode createAd () fait le travail)

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);
    }
}

Voici le xml de 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>

Voici mon journal après la dernière course

 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

Si quelqu'un pouvait m'aider, ce serait génial. Je n'ai littéralement aucune idée de ce que pourrait être le problème. Peut-être que je manque quelque chose de très simple et juste besoin d'une autre paire d'yeux. Toute aide est appréciée, merci. 

13
Chuck Onwuzuruike

Vérifiez que votre appareil dispose d'une connexion Internet correcte. Sans connexion Internet, vous ne recevrez pas d'annonces.

28
MikeL

Admob annonce ne sera pas chargée. L'erreur 2 apparaît si la date ou l'heure est incorrecte sur votre appareil, il suffit de définir la correction de la saisie automatique sur votre appareil.

12
NickUnuchek

L'erreur n ° 2 signifie ERROR_CODE_NETWORK_ERROR. . Vérifiez votre connexion Internet et ne diffusez toujours pas d'annonces. Redémarrez simplement votre mobile et vérifiez ... que cela a fonctionné pour moi.

8
kalandar

Un autre problème pourrait être une application adblocker comme suggéré dans ce message: https://stackoverflow.com/a/36010639/3596576 de @Durian.

Pour moi, c'était le problème.

2
Ionut Negru

Si vous utilisez un appareil réel, vérifiez également les autres applications, vous savez qu'elles contiennent des annonces, si les annonces sont affichées. Également vérifier individuellement sur le réseau mobile et sur le Wi-Fi.

Pour moi, cela ne s'affiche pas uniquement sur le réseau mobile et dans toutes les applications. Suppression des données des services Google Play aidez-moi, et les annonces recommencent à être diffusées. Jusqu'à ce que le GPS télécharge ses données. Donc, cela a fonctionné pendant environ une minute. :-RÉ

1
Velda

J'ai eu le même problème. La connexion Internet était OK et il n'y avait pas de bloqueur de publicité installé.

Le problème peut être lié à votre périphérique de test. Vérifiez si vous avez une autre application contenant Admob avec votre périphérique de test. Vous pouvez également vérifier avec un autre périphérique et une autre application contenant Admob.

Dans mon cas, je me suis rendu compte que mon appareil de test dispose d'une connexion Internet, mais ne diffuse aucune annonce Admob dans différentes applications. J'ai donc essayé de redémarrer mon appareil de test et cela a fonctionné.

1
Erdem

J'ai eu le même problème de la publicité ne s'affiche pas sur l'écran du périphérique de test physique.

J'ai désactivé mon réseau wifi et commencé à utiliser les données mobiles 3g, puis mes annonces ont commencé à apparaître sur les appareils de test physiques.

J'ai aussi une différence de dépendances: 

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

au lieu de 11.6.2

1
anand

Ce problème est dû au fait qu'une application envoie trop de demandes d'annonce à la fois, ce qui met le SDK dans un mauvais état. Le redémarrage des services de Google Play, qui peut être effectué efficacement en effaçant toutes les données, résout le problème pour moi. Le correctif du kit SDK pour ce problème sera inclus dans la prochaine version des services de Google Play. Une fois que votre appareil a pris connaissance de la mise à jour, vous n'avez plus besoin de mettre à jour votre application. c'est un problème connu de sdk

commencez par préciser le type d’ajout que vous souhaitez charger, annonce interstitielle ou bannière. si vous souhaitez charger une bannière publicitaire, créez une bannière ad_unit_id sur le site admob, puis utilisez AdView directement dans la vue de votre activité comme ci-dessous:

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

et juste demander de charger une bannière publicitaire à partir de votre code comme ci-dessous: écrivez ce code dans votre activité dans oncreate après setcontentview

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

ET

si vous souhaitez charger des annonces interstiales, créez un ad_unit_id interstitiel sur le site admob, puis utilisez-le dans la méthode ci-dessous:

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();
    }
}

REMARQUE: il est important que nous utilisions parfois l'identifiant d'unité de bannière publicitaire dans les annonces interstitielles ou l'identifiant de bloc d'annonce interstitielle dans les annonces de bannière; cette erreur se produit donc.

0
Amrut Bidri

essayez de désactiver les données de base sur les réseaux mobiles comme étant désactivé dans les services google, cela fonctionne pour moi

0