无法在我的应用中显示插页式广告(仍在开发中)

Can't show interstial ad in my app (still in developement)

我发誓我已经尝试了很多很多方法来解决这个问题,但是我很累,现在是星期六,我仍然只在解决这个问题...

请帮忙!!

这是我的 myactivity.java:

       MobileAds.initialize(this, new OnInitializationCompleteListener() {
            @Override
            public void onInitializationComplete(InitializationStatus initializationStatus) {}
        });
        if (mInterstitialAd != null && mInterstitialAd.isLoaded()) {
            mInterstitialAd.show();
        } else {
            Toast.makeText(this, "Ad did not load", Toast.LENGTH_SHORT).show();
        }
        // Create the InterstitialAd and set the adUnitId.
        mInterstitialAd = new InterstitialAd(this);
        // Defined in res/values/strings.xml
        mInterstitialAd.setAdUnitId(AD_UNIT_ID);
        RequestConfiguration configuration = new RequestConfiguration.Builder().setTestDeviceIds(Arrays.asList("BDB.....")).build();
        MobileAds.setRequestConfiguration(configuration);

        mInterstitialAd .setAdListener(
                new AdListener() {
                    @Override
                    public void onAdLoaded() {
                        Toast.makeText(MainActivity.this, "onAdLoaded()", Toast.LENGTH_SHORT).show();
                    }

                    @Override
                    public void onAdFailedToLoad(LoadAdError loadAdError) {
                        String error =
                                String.format(
                                        "domain: %s, code: %d, message: %s",
                                        loadAdError.getDomain(), loadAdError.getCode(), loadAdError.getMessage());
                        Toast.makeText(
                                MainActivity.this, "onAdFailedToLoad() with error: " + error, Toast.LENGTH_SHORT)
                                .show();
                    }

                    @Override
                    public void onAdClosed() {
                        //startGame();
                    }
                });


        if (mInterstitialAd != null && mInterstitialAd.isLoaded()) {
            mInterstitialAd.show();
        } else {
            Toast.makeText(this, "Ad did not load", Toast.LENGTH_SHORT).show();
        }

以及应用程序的gradle:

apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.android.application'

android {
    compileSdkVersion 30
    buildToolsVersion "30.0.3"
    defaultConfig {
        applicationId "com....."
        minSdkVersion 21
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true 
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    useLibrary 'org.apache.http.legacy'
}

dependencies {

    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    implementation 'com.brewtab.json:json:1.0.0'
    implementation 'com.android.volley:volley:1.1.0'

    implementation 'com.google.firebase:firebase-ads:19.7.0'
    implementation 'com.google.firebase:firebase-auth:20.0.2'
    implementation 'com.google.android.gms:play-services-ads:19.7.0'
    implementation 'androidx.appcompat:appcompat:1.2.0'

}

我将这个简化的解决方案用于插页式广告,它始终有效,但请确保您使用测试单元 ID

    //variables
    private InterstitialAd interstitialAd;
    
    //place this in your oncreate method
    public void loadAD()
    {
        interstitialAd= new InterstitialAd(this);
        interstitialAd.setAdUnitId(getString(R.string.ad_id));
        AdRequest adRequest = new AdRequest.Builder().build();
        interstitialAd.loadAd(adRequest);
    }
    //place this method where you want your ad to load (ex: onclick of a button)
    public void showAd()
    {
            if (interstitialAd.isLoaded()) 
            {
                interstitialAd.show();
                System.out.println("add shown");
            } 
            else 
            {
                Log.d("TAG", "The interstitial wasn't loaded yet.");
            }
    }