InterstitialAd首先显示,然后进行下一个活动

问题描述

我正在使用Kotlin和android studio尝试实施非页内广告和横幅广告。横幅广告效果完美。至于插页式广告,即使它设置得很完美(测试广告显示正常),但问题是插页式广告与下一个活动同时加载,从技术上讲,插页式广告在我的第二个活动之后运行。我只是担心这可能会导致违规。

对不起,我的英语不好,但是我想做的是,当我单击开始时,插页式广告弹出,仅在关闭广告后才显示第二个活动...

 private lateinit var mInterstitialAd: InterstitialAd

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    MobileAds.initialize(this@MainActivity)
    val adRequest = AdRequest.Builder().build()
    adView.loadAd(adRequest)

    mInterstitialAd = InterstitialAd(this)
    mInterstitialAd.adUnitId = "ca-app-pub-3940256099942544/1033173712"
    mInterstitialAd.loadAd(AdRequest.Builder().build())


    btn_start.setOnClickListener {

        if (mInterstitialAd.isLoaded) {
            mInterstitialAd.show()
        }
            val intent = Intent(this@MainActivity,Allquiz::class.java)
            startActivity(intent)
            finish()
    }
}

}

请帮助我谢谢你

解决方法

这很危险,因为广告和活动同时打开。

  if (mInterstitialAd.isLoaded) {
      mInterstitialAd.show()
  }
  val intent = Intent(this@MainActivity,Allquiz::class.java)
  startActivity(intent)
  finish()

有两种方法可以实现这一目标。

第一种方法是收听广告events。广告关闭后,可以打开活动

override fun onAdClosed() {
   // The ad is closed. Go to other activity here 
}

第二种方法是先打开活动,然后显示广告

对我来说,第二种方法很简单。这样您就不必处理其他广告事件

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...