2017-03-13 56 views
1

我对Admob上的奖励视频仍然存在某种奇怪的问题。请,有人可以帮助我?Admob上的奖励视频仍然存在问题 - 错误代码3

这是我的代码,如果任何人都可以找到错误或失踪的地方,我会永远感谢你。

的build.gradle

compile 'com.google.firebase:firebase-ads:10.2.0' 

AndroidManifest

<uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

<meta-data 
      android:name="com.google.android.gms.version" 
      android:value="@integer/google_play_services_version" /> 

<activity 
      android:name="com.google.android.gms.ads.AdActivity" 
      android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" 
      android:theme="@android:style/Theme.Translucent" /> 

MainActivity

private RewardedVideoAd rewardedVideo; 

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     ... 
     MobileAds.initialize(this, APP_ID); 

     rewardedVideo = MobileAds.getRewardedVideoAdInstance(this); 
     rewardedVideo.setRewardedVideoAdListener(videosListener()); 
     loadRewardedvideo(); 
    } 

public void loadRewardedvideo() { 
     if (!rewardedVideo.isLoaded()) { 
      rewardedVideo.loadAd(AD_ID, new AdRequest.Builder().build()); 
     } 
    } 

private RewardedVideoAdListener videosListener() { 
     return new RewardedVideoAdListener() { 
      @Override 
      public void onRewardedVideoAdLoaded() { 
       alert("Video Pronto"); 
       btnVideo.setEnabled(true); 
      } 

      @Override 
      public void onRewardedVideoAdOpened() { 

      } 

      @Override 
      public void onRewardedVideoStarted() { 

      } 

      @Override 
      public void onRewardedVideoAdClosed() { 
       alert("Video Assistido!"); 
       loadRewardedvideo(); 
      } 

      @Override 
      public void onRewarded(RewardItem rewardItem) { 
       alert("Premio"); 
      } 

      @Override 
      public void onRewardedVideoAdLeftApplication() { 

      } 

      @Override 
      public void onRewardedVideoAdFailedToLoad(int i) { 
       alert("Falha ao carregar."); 
      } 
     }; 
    } 

按照@RedBrogdon在here现在我不为了显示这需要一个调停者奖励视频,对于像我这样开始的人来说,什么是酷炫的,我跟着al l例证代码的步骤,也在我的admob页面上创建了一个项目,其中包含APP_ID和AD_ID,但是我的项目无法运行!当监听器的onRewardedVideoAdFailedToLoad()被调用时,它总是返回错误代码3(ERROR_CODE_NO_FILL)。

有人知道发生了什么?

注意 - 我使用的是真实的设备

编辑

我读一些文章,说这个错误代码3时,有没有对代码的任何错误它,但是做不存在任何要显示的广告,就像没有广告希望在应用中显示一样,对吗?

我的应用程序尚未发布,所以确定。但是这可能发生在已发布的应用程序中吗

回答

1

有错误。 首先,您需要加载广告,然后检查广告是否已加载,如果广告已加载显示广告。如果您希望广告从不同来源加载,您可以选择何种类型的广告,则不需要AdMob中介显示奖励广告可以显示,这样您就可以在这种情况下使用中介。您需要在不同的广告联盟中拥有帐户,才能通过Admob展示其广告。

public void loadRewardedvideo() { 
rewardedVideo.loadAd(AD_ID, new AdRequest.Builder().build()); 
    if (rewardedVideo.isLoaded()) { 
     rewardedVideo.show(); 
    } 
} 
+0

我所说的rewardedVideo.show()当启用按钮(在它的onClick()),我读了一些文章,说这个错误代码3这是在没有对代码的任何错误,但是不存在任何要显示的广告,就像没有广告希望在应用中显示一样,对不对?我的应用程序尚未发布,所以确定。但是这可能发生在已发布的应用程序中吗 – Anita

相关问题