我正在尝试在代码中尽早加载非页内广告,以避免在应用中展示广告时出现时间延迟。该代码有效,但有时无法按预期工作。
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();
});
}
}