按下背面按钮上的间隙广告



这是我的清单文件:

<activity
        android:screenOrientation="portrait"
        android:name="com.google.android.gms.ads.AdActivity"
        android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
        android:theme="@android:style/Theme.Translucent" />

这是我的活动:

 @Override
public void onBackPressed() {
    InterstitialAd interstitialAd= new InterstitialAd(this);
    interstitialAd.setAdUnitId(getString(R.string.interstitial_full_screen));
    AdRequest adRequest = new AdRequest.Builder().build();
    interstitialAd.loadAd(adRequest);
    interstitialAd.setAdListener(new AdListener() {
        @Override
        public void onAdLoaded() {
            if (interstitialAd.isLoaded()) {
                interstitialAd.show();
            }
        }
        @Override
        public void onAdClosed() {
            super.onAdClosed();
            finish();
        }
    });
}

按下后面按钮时,我只得到一个广告屏幕2-3次。

好吧,请尝试此

InterstitialAd interstitialAd = null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_blue);
       interstitialAd= new InterstitialAd(this);
        interstitialAd.setAdUnitId(getString(R.string.interstitial_full_screen));
        AdRequest adRequest = new AdRequest.Builder().build();
        interstitialAd.loadAd(adRequest);
    }

    @Override
    public void onBackPressed() {
    if (interstitialAd.isLoaded()) {
        interstitialAd.show();
        interstitialAd.setAdListener(new AdListener() {
            @Override
            public void onAdClosed() {
                super.onAdClosed();
                finish();
            }
        });
       }else{
           super.onBackPressed();
       }
    }

您的代码问题是您要保留气候广告以加载并在onback press上显示两者,加载插件添加将需要时间,有时也无法加载,当它无法加载时,广告或没有显示ADMOB广告中的广告,将不会显示

更好的是将间隙广告加载到OnCreate方法中,并按照Max在他的答案中的建议显示

中的建议。

以及您的代码中,用户将如何从屏幕上退出广告?

最大答案也涵盖了该案例,因此请回答他的答案。如果未显示AD,您必须考虑AD不存在它的代码中的错误,我还建议在测试时使用此ID,这是测试广告,其命中率将很高

interstitial.setAdUnitId("ca-app-pub-3940256099942544/1033173712");

如果您在onstart/onresume中添加了相同的代码,请将其删除或在Onbackpressed中删除代码。

因为当Activityb采用前景时,请在Onpause和Onstop状态中进行活动A。

当活动返回时(当从活动b上向后压)时,它将启动,然后调用onResume(Activity A)。

如果用户回到活动a的活动a活动b,则有两个不同的方案: - 活动A:

onCreate{
  //  Load your ad here 
}
onResume{
  //  show your ad here 
}

,如果您想使用它onBackPressed,则: - 活动B:

onCreate{
       // Load your ad here 
    }
    onBackPressed() {
        if(mInterstitialAd != null){
          //  show your ad here  
        }
        else{
            super.onBackPressed();  
        }
    }

最新更新