如何修复interstitial.isLoaded()是正确的,但未显示广告(Admob Interstitial)

时间:2019-06-26 10:00:25

标签: java android

我正在尝试在代码中尽早加载非页内广告,以避免在应用中展示广告时出现时间延迟。该代码有效,但有时无法按预期工作。

PS:使用Volley库从json数据中检索插页式广告单元的值,并将json提取代码加载到另一个活动中

关于此活动。我使用了两种方法:

Interstitial_LOAD():这将加载广告请求(此代码在Oncreate的早期加载)

Interstitial_SHOW():单击开始按钮时触发。如果已加载,则应显示插页式广告,然后打开下一个活动

问题:我不知道为什么有时在手机中测试应用程序时却没有显示广告?

问题:这里的问题是,当我单击“开始”按钮时,它会触发 if(interstitial.isLoaded()),这确实很奇怪。如何加载广告但不出现在我的应用程序中?因此, onAdClosed()方法不起作用,在这种情况下,按钮变得无用。 请在下面找到代码

private InterstitialAd interstitial;

private void Interstitial_LOAD()  {
    String inter_code = jsonfetch.interstitial;
    if (!(inter_code.equals("null") || inter_code.equals(""))) {
        AdRequest adRequestI = new AdRequest.Builder().build();
        interstitial = new InterstitialAd(this);
        interstitial.setAdUnitId(inter_code);
        interstitial.loadAd(adRequestI);
    }
}

private void Interstitial_SHOW() {
    String inter_code = jsonfetch.interstitial;
    if (!(inter_code.equals("null") || inter_code.equals(""))) {
        if (interstitial.isLoaded()) {
            interstitial.show();
            interstitial.setAdListener(new AdListener() {
                @Override
                public void onAdClosed() {
                    Interstitial_LOAD();
                    startActivity(new Intent(first_java.this, recycleview.class));
                }
            });
        }
    }
    else
    {
        Interstitial_LOAD();
        startActivity(new Intent(first_java.this, recycleview.class));
    }
}




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

    notification=(TextView)findViewById(R.id.notification_1);

    if (!Network_Verify.isNetworkAvailable(this) || !(jsonfetch.isupdated))
    {
        notification.setText("");
        Connection_Alert();
    }
    else if( (Network_Verify.isNetworkAvailable(this))&&(jsonfetch.isupdated)) {
        Bannershow();
        Interstitial_LOAD();
        PopUpMessage();

        btnstart = (MagicButton) findViewById(R.id.m_btnstart);
        btnstart.setMagicButtonClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
              Interstitial_SHOW();
        });

    }

}

0 个答案:

没有答案