我已经在我的应用程序中放置了一些间隙广告,当我单击按钮进入新活动时,这些广告就会被放置在其中。但是,当广告仍在加载时,我无法输入活动,有时广告会在一段时间后出现,因此在此期间我无法输入目标活动。
有没有办法让插入式广告快速出现,或者有一个解决方案,让用户不会认为我的应用程序有错误?
下面是我的代码:
loadInterstitial();
findViewById(R.id.btn2).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (interstitialAd !=null) {
interstitialAd.show(MainActivity.this);
interstitialAd.setFullScreenContentCallback(new FullScreenContentCallback(){
@Override
public void onAdDismissedFullScreenContent() {
// Saat iklan ditutup
loadInterstitial();
startActivity(new Intent(MainActivity.this, Tips.class));
}
@Override
public void onAdFailedToShowFullScreenContent(AdError adError) {
// Saat iklan gagal muncul
Toast.makeText(getApplicationContext(), getString(R.string.on_ad_failed_show_fs), Toast.LENGTH_SHORT).show();
}
@Override
public void onAdShowedFullScreenContent() {
// saat iklan sudah muncul
interstitialAd = null;
}
});
}
}
});
private void loadInterstitial() {
InterstitialAd.load(this, "ca-app-pub-0420793xxxxxxx/xxxxxx", new AdRequest.Builder().build(),
new InterstitialAdLoadCallback() {
@Override
public void onAdLoaded(@NonNull InterstitialAd interstitial) {
// Saat iklan berhasil dimuat
interstitialAd = interstitial;
}
@Override
public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) {
// Saat iklan gagal dimuat
interstitialAd = null;
startActivity(new Intent(MainActivity.this, Tips.class));
Toast.makeText(getApplicationContext(), getString(R.string.on_ad_failed_to_load) + loadAdError.getMessage(),
Toast.LENGTH_SHORT).show();
}
});
}
发布于 2021-03-30 03:59:37
如Google AdMob Help部分所述:
运营商网络延迟可能会影响移动应用程序中的间隙广告的交付。该等待时间可能导致广告在不合时宜或意想不到的时间出现在用户屏幕上。考虑用户可能在间隙广告预期出现的时间窗口内执行的操作,并考虑预加载间隙广告,以减少向用户显示这些广告时的延迟。
在Interstitial Ads documentation以及提供的最佳实践中,还提供了以下有用的提示:
允许有足够的加载时间。正如确保在适当的时间显示间隙广告一样重要,同样重要的是确保用户不必等待它们加载。在您打算调用show()之前通过调用loadAd()预先加载广告,可以确保您的应用程序在显示广告时有一个完全加载的间隙广告。
因此,建议您通过尽早调用loadInterstitial()函数来预加载广告,以便尽可能多地提供加载时间。
https://stackoverflow.com/questions/66853339
复制相似问题