реклама admob показывается только один раз

у меня есть межстраничная реклама admob в моей деятельности. мое объявление отображается только один раз при нажатии кнопки, но не отображается, когда пользователь возвращается к тому же действию

как реализовать межстраничную рекламу, которая будет отображаться при открытии активности? мой код работает только тогда, когда show() добавлено в Onclicklistner.

вот мой код

class ProfileActivity : AppCompatActivity() {
    private lateinit var mInterstitialAd: InterstitialAd
    lateinit var profileimage:ImageView
    lateinit var username:EditText
    lateinit var cityname:EditText
    lateinit var aboutMe:EditText
    lateinit var addbutton:ImageButton
    lateinit var saveProfileImage:Button
    var GALLERY_IMAGE =0
      var ref = FirebaseDatabase.getInstance().reference

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_profile)
        val h = supportActionBar
        h!!.title = "My Profile"
        profileimage=findViewById(R.id.imageViewProfile)
        aboutMe=findViewById(R.id.aboutId)
        addbutton=findViewById(R.id.addprofilepic)
        saveProfileImage=findViewById(R.id.Saveprofileimage)
        username = findViewById(R.id.usernameId)
        cityname =findViewById(R.id.cityId)
        addbutton.setOnClickListener {
            val z =Intent(Intent.ACTION_PICK)
           z.type=("image/*")
            startActivityForResult(z,GALLERY_IMAGE)
            if (mInterstitialAd.isLoaded) {
                mInterstitialAd.show()
            } else {
                Log.d("TAG", "The interstitial wasn't loaded yet.")
            }
        }


        // Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713
        MobileAds.initialize(this, "ca-app-pub-3940256099942544~3347511712")
        mInterstitialAd = InterstitialAd(this)
        mInterstitialAd.adUnitId = "ca-app-pub-3940256099942544/1033173712"
        mInterstitialAd.loadAd(AdRequest.Builder().build())
//        mInterstitialAd.show()

    }

mInterstitialAd.show() не работает при добавлении при создании, но работает только в setonclicklistner. Кто-нибудь может объяснить мне, почему??


person a k    schedule 11.02.2018    source источник


Ответы (2)


поместите эту строку

MobileAds.initialize(this, "ca-app-pub-3940256099942544~3347511712")

сразу после

setContentView(R.layout.activity_profile)
person Yogesh Paliyal    schedule 11.02.2018

Вы показываете рекламу только один раз, это происходит потому, что вы устанавливаете ее только в первый раз, не перезагружая рекламу снова.

Вам нужно добавить adListener для перезагрузки рекламы:

class MainActivity : Activity() {

    private lateinit var mInterstitialAd: InterstitialAd

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

        MobileAds.initialize(this,
            "ca-app-pub-3940256099942544~3347511713")

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

        mInterstitialAd.adListener = object : AdListener() {
              override fun onAdClosed() {
                     mInterstitialAd.loadAd(AdRequest.Builder().build())
              }
        }
    }
}

Если это все еще не работает, возможно, ваше межстраничное объявление еще не готово к показу. Вы можете проверить, готов ли он, выполнив следующие действия:

mMyButton.setOnClickListener {
    if (mInterstitialAd.isLoaded) {
        mInterstitialAd.show()
    } else {
        Log.d("TAG", "The interstitial wasn't loaded yet.")
    }
}

Надеюсь, поможет!

person willy wijaya    schedule 13.02.2018