为什么关闭插页式广告和打开目标 Activity 之间存在延迟?

Hax*_*r87 6 callback interstitial android-activity

我实现了这个 Android 代码来加载并显示插页式广告,关闭广告后它将打开目标 Activity,但我的问题是关闭和打开目标 Activity 之间有 3 秒的延迟...这是我的代码:

AdRequest adRequest = new AdRequest.Builder().build();

InterstitialAd.load(HomeActivity.this, UNIT_ID, adRequest, new InterstitialAdLoadCallback() {
    @Override
    public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
        // The mInterstitialAd reference will be null until
        // an ad is loaded.
        admobInterstitialAd = interstitialAd;
        admobInterstitialAd.setFullScreenContentCallback(new FullScreenContentCallback() {
            @Override
            public void onAdDismissedFullScreenContent() {
                super.onAdDismissedFullScreenContent();
                admobInterstitialAd = null;
            
                /**********Here is the delay when starting the activity for about 3 seconds*******/
                Intent intent = new Intent(HomeActivity.this, SettingsActivity.class);
                startActivity(intent);
                /********************************************************************************/
            }

            @Override
            public void onAdFailedToShowFullScreenContent(com.google.android.gms.ads.AdError adError) {
                super.onAdFailedToShowFullScreenContent(adError);
                admobInterstitialAd = null;
                
                Intent intent = new Intent(HomeActivity.this, SettingsActivity.class);
                startActivity(intent);
            }

            @Override
            public void onAdShowedFullScreenContent() {
                super.onAdShowedFullScreenContent();
                admobInterstitialAd = null;
            }
        });

        if (admobInterstitialAd != null) {
            admobInterstitialAd.show(HomeActivity.this);
        }
    }

    @Override
    public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) {
        // Handle the error
        admobInterstitialAd = null;

        Intent intent = new Intent(HomeActivity.this, SettingsActivity.class);
        startActivity(intent);
    }
});
Run Code Online (Sandbox Code Playgroud)

任何解决此问题的建议...提前致谢...

ser*_*rif 2

我遇到了同样的问题。我仍然无法解决该问题,也找不到可以解决该问题的资源。在谷歌上搜索时,我意识到你并不孤单,其他平台上也有同样问题的人。

作为解决方法,我将使用进度对话框。这使得用户等待,直到广告关闭并且新事件开始。我想1-3秒。

if (mInterstitialAd != null) {
            mInterstitialAd.show(MainAct.this);
            startActivity(new Intent(MainAct.this, NewAct.class));
            progressDialog.show();
        } else {
            startActivity(new Intent(MainAct.this, MafA.class));
        }
Run Code Online (Sandbox Code Playgroud)