Admob annonce interstitielle ne s'affiche pas

j'ai utilisé pour afficher AdMob bannière sur mon avenir apps, et j'aimerais essayer les annonces interstitielles.

J'ai vérifié L'implémentation du SDK AdMob, et j'ai copié leur source d'exemple parce que c'était exactement ce que je voulais (c'est-à-dire l'interstitiel affiché lors du lancement de l'activité).

j'ai essayé sur émulateur et sur ma galaxie, aucune annonce n'a été affichée.

Voici le code source:

public class Asscreed extends Activity {
    private InterstitialAd interstitial;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_asscreed);

        // Create the interstitial.
        interstitial = new InterstitialAd(this);
        interstitial.setAdUnitId("ca-app-pub-6046034785851961/xxxxxx");

        // Create ad request.
        AdRequest adRequest = new AdRequest.Builder().build();

        // Begin loading your interstitial.
        interstitial.loadAd(adRequest);
    }

    // Invoke displayInterstitial() when you are ready to display an interstitial.
    public void displayInterstitial() {
        if (interstitial.isLoaded()) {
            interstitial.show();
        }
    }
}

les importations sont OK et le Google Play Les Services de la bibliothèque est bien sûr importés.

j'utilise cet exemple: AdMob Android Guides-Interstitial Ad.

Quelqu'un pourrait-il me dire ce qui ne va pas dans mon code?

19
demandé sur Bhavesh Odedra 2013-12-31 13:11:39

7 réponses

Vous devez attendre l'annonce chargé. Alors seulement, vous pouvez appeler displayInterstial () méthode, qui montrerait l'annonce.

vous pouvez Vous inscrire pour l'auditeur, qui vous permettra de savoir quand le chargement est terminé.

interstitial.setAdListener(new AdListener(){
          public void onAdLoaded(){
               displayInterstitial();
          }
});
42
répondu Kumar Bibek 2013-12-31 09:19:46

c'est ce qui fait pour moi.

// Begin listening to interstitial & show ads.
interstitial.setAdListener(new AdListener(){
     public void onAdLoaded(){
          interstitial.show();
     }
});

je me demande encore pourquoi tous les gars de google upload code mettant en œuvre des instructions qui ne fonctionnent tout simplement pas après l'un les suit au point..

6
répondu Philly Robo-arch Kintu 2015-06-07 03:16:52

j'ai eu le même problème. La question était que l'activité de la dgsma n'était pas définie dans le manifeste. S'il vous plaît assurez-vous que vous avez l'étiquette d'activité suivante dans votre fichier de manifeste

<activity
        android:name="com.google.android.gms.ads.AdActivity"
        android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
        android:theme="@android:style/Theme.Translucent" />
6
répondu Muhammad Hamza Shahid 2016-04-09 09:59:12
mInterstitialAd = new InterstitialAd(this);
                mInterstitialAd.setAdUnitId("Your Interstitial Id ca-app-pub-46563563567356235/3452455");
                AdRequest adRequest1 = new AdRequest.Builder()
                        .build();
                mInterstitialAd.loadAd(adRequest1);
                mInterstitialAd.setAdListener(new com.google.android.gms.ads.AdListener() {
                    @Override
                    public void onAdLoaded() {
                        mInterstitialAd.show();
                        super.onAdLoaded();

                    }
                });
2
répondu Null Pointer Exception 2017-04-04 05:51:47

Je l'ai résolu en changeant mon id admob à un ancien élément de l'application, comme ca-app-pub-0243484158988577/9196272994

1
répondu Gank 2014-08-21 17:25:45

essayez de l'initialiser dans onCreate, mais n'appelez la méthode show () qu'à partir d'un événement, tel qu'un clic sur un bouton.

Vous pouvez utiliser ce code, l'ids de test fonctionne:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    ...

        MobileAds.initialize(this, "ca-app-pub-3940256099942544~3347511713"); //test id

        mInterstitialAd = new InterstitialAd(this);
        mInterstitialAd.setAdUnitId("ca-app-pub-3940256099942544/1033173712"); //test ad

        mInterstitialAd.loadAd(new AdRequest.Builder().build());


        btn_test.setOnClickListener(view -> {
            showInterstitial();
        });
...
    }    
    private void showInterstitial()
    {
        if (mInterstitialAd.isLoaded()) {
            mInterstitialAd.show();
        } else {
            Log.d("TAG", "The interstitial wasn't loaded yet.");
        }
    }
0
répondu live-love 2018-07-03 16:56:03

vous n'avez pas appelé displayinstial().

mais ce que vous devez faire est d'appeler l'auditeur pour l'interstitiel:

interstitial.setAdListener(this);

il implémente alors l'écouteur de votre activité et l'affiche ensuite en téléchargement (ou quelque chose).

-1
répondu Tsunaze 2013-12-31 09:15:44