Interstitial Admob doesn't work : AFMA_ReceiveMessage is not defined

前端 未结 2 702
盖世英雄少女心
盖世英雄少女心 2020-12-18 16:18

I have two kind of ads : banner and interstitial. The first one works very well, but when I want to display an interstitial ad when I pressed the back button (but we don\'t

相关标签:
2条回答
  • Do not place interstitial ads on app load and when exiting apps as interstitials should only be placed in between pages of app content.

    0 讨论(0)
  • 2020-12-18 17:09

    My code use to add InterstitialAdd:

    public static void addInterstitialAd(final Activity context, final int id) {
        final InterstitialAd interstitial = new InterstitialAd(context);
        interstitial.setAdUnitId(context.getString(id));
        interstitial.loadAd(new AdRequest.Builder().build());
        interstitial.setAdListener(new AdListener() {
            @Override
            public void onAdLoaded() {
                // Call displayInterstitial() function
                if (interstitial.isLoaded()) {
                    interstitial.show();
                }
            }
        });
    }
    

    You can try it if not work, please separate to new thread:

     new Thread(new Runnable() {
            public void run() {
            final InterstitialAd interstitial = new InterstitialAd(context);
            interstitial.setAdUnitId(context.getString(id));
            interstitial.loadAd(new AdRequest.Builder().build());
            interstitial.setAdListener(new AdListener() {
                @Override
                public void onAdLoaded() {
                    // Call displayInterstitial() function
                    if (interstitial.isLoaded()) {
                    runOnUiThread(new Runnable() {
                    public void run() {
                        interstitial.show();
                    }
                  });                
                 }
                }
            });
         }
        }).start();
    

    If your want after click back -> Admod-> close admod -> apclose:

    @Override
        public void onBackPressed() {
            final InterstitialAd interstitial = new InterstitialAd(getApplicationContext());
            interstitial.setAdUnitId(getApplicationContext().getString(id));
            interstitial.loadAd(new AdRequest.Builder().build());
            interstitial.setAdListener(new AdListener() {
                @Override
                public void onAdLoaded() {
                    // Call displayInterstitial() function
                    if (interstitial.isLoaded()) {
                        interstitial.show();
                    }
                }
                @Override
                public void onAdClosed(){
                    finish();
                }
                @Override
                public void onAdFailedToLoad(int errorCode){
                    //you can implement continue load or finish 
                }
    
            });
        }
    
    0 讨论(0)
提交回复
热议问题