Android 为什么我的Admob奖励视频广告一次又一次加载失败?

Android 为什么我的Admob奖励视频广告一次又一次加载失败?,android,android-studio,kotlin,admob,ads,Android,Android Studio,Kotlin,Admob,Ads,我只想用测试id显示有奖励的视频广告,但加载时一次又一次失败。有人可以告诉我我做错了什么。 这是我的主要活动Kotlin import android.support.v7.app.AppCompatActivity import android.os.Bundle import android.widget.Toast import com.google.android.gms.ads.AdRequest import com.google.android.gms.ads.MobileAds

我只想用测试id显示有奖励的视频广告,但加载时一次又一次失败。有人可以告诉我我做错了什么。 这是我的主要活动Kotlin

import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.widget.Toast
import com.google.android.gms.ads.AdRequest
import com.google.android.gms.ads.MobileAds
import com.google.android.gms.ads.reward.RewardItem
import com.google.android.gms.ads.reward.RewardedVideoAd
import com.google.android.gms.ads.reward.RewardedVideoAdListener

class MainActivity : AppCompatActivity (), RewardedVideoAdListener {
override fun onRewardedVideoAdClosed() {
        loadRewardedVideoAd()
}

override fun onRewardedVideoAdLeftApplication() {
    TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}

override fun onRewardedVideoAdLoaded() {
    mRewardedVideoAd.show()
}

override fun onRewardedVideoAdOpened() {
    TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}

override fun onRewardedVideoCompleted() {
    TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}

override fun onRewarded(p0: RewardItem?) {
    TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}

override fun onRewardedVideoStarted() {
    TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}

override fun onRewardedVideoAdFailedToLoad(p0: Int) {
    Toast.makeText(this,"Failed!",Toast.LENGTH_LONG).show()
}

private lateinit var mRewardedVideoAd: RewardedVideoAd

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

    // Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713
    MobileAds.initialize(this, "ca-app-pub-3940256099942544~3347511713")

    // Use an activity context to get the rewarded video instance.
    mRewardedVideoAd = MobileAds.getRewardedVideoAdInstance(this)
    mRewardedVideoAd.rewardedVideoAdListener = this

    loadRewardedVideoAd()
}

private fun loadRewardedVideoAd() {
    mRewardedVideoAd.loadAd("ca-app-pub-3940256099942544/5224354917",
            AdRequest.Builder().build())
}
}

下面是我在android清单中编写的代码

<!-- Sample AdMob App ID: ca-app-pub-3940256099942544~3347511713 -->
    <meta-data
        android:name="com.google.android.gms.ads.APPLICATION_ID"
        android:value="ca-app-pub-3940256099942544~3347511713"/>
}

这是我在build.gradle(模块:app)中写的一行


以下是一些常见的原因以及解决方法:

  • 确保已使用您的付款详细信息更新AdMob
  • 确保您在AdMob中创建的广告是横幅广告
  • 检查AdMob仪表板以查看广告的状态,广告是否处于活动状态
  • 验证您使用了正确的Ad单元Id
  • 给它24小时,它可能需要时间的广告成为活跃在您的地区 还要记住:

  • 现在填补这些广告还为时过早。 由于有更多的广告商瞄准这些市场,讲英语的地区往往获得更快的填充率。市场越小,填充率越低。等待48小时,看看问题是否解决

  • 您所在地区的填充率较低。 你注意到你在赚钱,但当你自己测试游戏时,你在游戏中看不到任何广告。您正在测试的区域可能具有较慢的填充率,但在您发布的其他区域中,广告处于活动状态。等待48小时,您所在的区域将更新为活动广告

  • 您尚未输入您的付款详细信息。 我们收到了来自用户(特别是使用AdMob的用户)的报告,他们的横幅在他们将付款详细信息输入AdMob帐户之前没有填充活动广告。使用您的付款详细信息更新您的AdMob帐户,并查看问题是否在24小时内解决

  • 您已经等了几天,已经完成了上述所有操作,但问题尚未解决。 联系我们,我们是来帮忙的


  • 尝试在此处放置您自己的应用程序id,而不是教程中的应用程序id

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

    您可以在创建广告单元至少等待24小时后创建的AdMob帐户中找到您的应用程序id。因为有时admob会花时间为新创建的广告单元提供广告。他使用测试id,所以不应该花24小时。对我来说,它立即起作用。我使用了横幅广告和间隙广告,效果很好,但当我尝试使用奖励视频广告时,每次都无法加载。我也使用了测试id,但仍然没有加载。对于视频广告,您必须从admob Dashboard将应用程序连接到firebase是否必须将应用程序连接到firebase才能获得奖励广告?。。因为在AdMob的奖励广告页面上,他们从来没有提到任何与firebase有关的事情?在我的测试广告(甚至奖励视频)中,如果没有firebase,效果很好??谢谢你的回答,但我已经尝试过了,但它仍然没有加载。因此,如果你进行调试,你就永远无法在RewardedVideoAdLoaded()上找到代码
    allprojects {
    repositories {
        jcenter()
        maven {
            url "https://maven.google.com"
        }
    }
    
        implementation 'com.google.android.gms:play-services-ads:15.0.1'
    
    MobileAds.initialize(this, "ca-app-pub-3940256099942544~3347511713")