Рекламные вставки не отображаются на новых телефонах - PullRequest
0 голосов
/ 23 сентября 2019

Поэтому у меня возникли проблемы с клиентским приложением, так как промежуточная реклама не показывается в приложении для новых телефонов (например, Pixel 3 с Android 10 или Razr с Android 9), а показывается на старых телефонах (например, Pixel 2).(Android 9) или Samsung 7 (Android 6).

Интересная часть: если я остановлю функцию.и пошагово для всего процесса, он работает просто отлично, и появляется объявление.

Следуйте коду моего приложения hello world:

  private val mInterstitialAdUnitId: String by lazy {
        "ca-app-pub-3940256099942544/1033173712"
    }
 override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        mInterstitialAd = InterstitialAd(this)
        loadInterstitialAd(mInterstitialAdUnitId)

        button.setOnClickListener {
            if (mInterstitialAd.isLoaded) {
                mInterstitialAd.show()
            } else {
                Log.d("jb:", "The interstitial ad wasn't loaded yet.")
            }
        }
    }

    private fun loadInterstitialAd(interstitialAdUnitId: String) {

        mInterstitialAd.adUnitId = interstitialAdUnitId
        mInterstitialAd.adListener = object : AdListener() {
            override fun onAdFailedToLoad(p0: Int) {
                super.onAdFailedToLoad(p0)

                var errorString = "Unknown"
                when (p0) {
                    PublisherAdRequest.ERROR_CODE_NO_FILL -> {
                        errorString = "ERROR_CODE_NO_FILL"
                    }
                    PublisherAdRequest.ERROR_CODE_INTERNAL_ERROR -> {
                        errorString = "ERROR_CODE_INTERNAL_ERROR"
                    }
                    PublisherAdRequest.ERROR_CODE_INVALID_REQUEST -> {
                        errorString = "ERROR_CODE_INVALID_REQUEST"
                    }
                    PublisherAdRequest.ERROR_CODE_NETWORK_ERROR -> {
                        errorString = "ERROR_CODE_NETWORK_ERROR"
                    }
                }

                Log.d("jb:", "OLI failed to load: $errorString")
            }

            override fun onAdLoaded() {
                super.onAdLoaded()
                Log.d("jb:", "The interstitial onAdLoaded")
            }
        }
      mInterstitialAd.loadAd(AdRequest.Builder().addTestDevice("XXXXXXXX").build())
    }
...