java - 使用较新版本的 Android Studio 构建应用程序一年后广告停止运行

标签 java android android-studio admob

大约一年前,我在 android studio 中完成了一个 super 简单的游戏并发布了它。现在我想做一个小更新并在更合适的地方展示广告。但广告根本不起作用 - 代码与以前相同,但广告就是无法加载。

我的帐户并未被禁用,因为如果我从 Playstore 下载游戏,广告仍然有效。

我使用不同版本的 android studio,因此该项目自行升级,但我不知道它是否更改了 graddle 或 list 或其他内容,因此可能会发生这种情况。

mInterstitialAd = new InterstitialAd(this);
    mInterstitialAd.setAdUnitId("ca-app-pub-xxxxxxxxxxxxxx/xxxxxxxx");
    mInterstitialAd.loadAd(new AdRequest.Builder().build());


mInterstitialAd.setAdListener(new AdListener() {
        @Override
        public void onAdLoaded () {
            if(enableAd) {
                if (mInterstitialAd.isLoaded()) {
                    mInterstitialAd.show();
                }
            }
        }
    });

最佳答案

在 AdListener 中使用 onAdClosed() 来在每次显示广告时重新加载广告,并在 ma​​inActivity.create() 中创建初始广告。

当您想要展示广告时,请在应用中的任何位置使用 mInterstitialAd.show()。显示后,它会关闭并重新加载下一个广告。

它的作用是缓冲您的广告。每当您显示插页式广告时,它都会显示已加载的广告,然后在显示广告后重新加载新的广告。使 ad.show() 更快。

mInterstatialAd = new InterstitialAd(getBaseContext());
  mInterstatialAd.setAdUnitId(getResources()
                  .getString(R.string.AdmobTestInterstitial));
mInterstitialAd.setAdListener(new AdListener() {
    @Override
    public void onAdClosed () {
        mInterstatialAd.loadAd(myAdRequest);
    }
});
public void showMyInterstitialAd(){
    if(mInterstitialAd!=null &&
       mInstitialAd.isLoaded()) mInterstitialAd.show();
}

祝你好运。

关于java - 使用较新版本的 Android Studio 构建应用程序一年后广告停止运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57240244/

相关文章:

Android从显示内存错误的图库中选择图像

c# - PCL 配置文件 78 中的 System.Threading.Timer 问题 - 警告

android-studio - 尝试安装 Android Studio 时出错

java - 如何使用 apache POI 创建包含两个 CategoryAxis 的 LineChart?

java - 无法在 Spark session 中配置 GeoSpark :

java - 使用 Spring Boot 和 Eureka Server 时如何修复错误 java.net.UnknownHostException?

java - 如何实现一个基本指针

android - 从 ActionBar 的搜索 View 中删除图标

Android Studio,它使用SDK工具吗?

java - 接收应用程序到应用程序的响应,但将被调用的应用程序没有自己的 Intent