2019年 1月 22日の投稿一覧

AdMobのリワード広告が出ない( onRewardedVideoAdLoaded Error Code = 3)

昨日まではテスト広告が表示されてたけど、今日はCode3になってしまう。

onRewardedVideoAdLoaded Code 3


     mRewardedVideoAd = MobileAds.getRewardedVideoAdInstance( this );
     mRewardedVideoAd.setRewardedVideoAdListener( this );
     loadRewarded();
   }

    private void loadRewarded() {
        if( !mRewardedVideoAd.isLoaded() ) {
            mRewardedVideoAd.loadAd( getString( R.string.ad_reword ),
                    new AdRequest.Builder().addTestDevice( getResources().getString( R.string.test_device_id ) ).build() );
        }
    }

    @Override
        public void onRewardedVideoAdFailedToLoad( int errorCode ) {

addTestDeviceでテストデバイスを指定してるけど
試しに、下記の方法でコードをアプリIDはそのままで、リワードのコードを変更したら表示されるようになった。

リワードはaddTestDeviceだけじゃだめなのか?

テストには必ずテスト広告を使用する
アプリの開発中やテストの際は必ずテスト広告を使用し、実際の広告は使用しないでください。実際の広告を使用すると、アカウントの停止につながる可能性があります。
テスト広告を読み込むには、次に示す Android 動画リワード向けのテスト専用広告ユニット ID を使う方法が便利です。
ca-app-pub-3940256099942544/5224354917

https://developers.google.com/admob/android/rewarded-video

AdMobのバナーが表示されない(Android,Java,Admob)

AdMobが表示されない時にみてみる。


adView.setAdListener( new AdListener() {
            @Override
            public void onAdLoaded() {
            }
            @Override
            public void onAdFailedToLoad(int errorCode) {
                Log.i( "trouble-adMob-isGone", "onAdFailedToLoad errorCode => " + errorCode );
            }

エラーコードはAdRequestに定義されています。


public static final int ERROR_CODE_INTERNAL_ERROR = 0;
public static final int ERROR_CODE_INVALID_REQUEST = 1;
public static final int ERROR_CODE_NETWORK_ERROR = 2;
public static final int ERROR_CODE_NO_FILL = 3;

onAdFailedToLoad() メソッドは、パラメータが含まれる唯一のメソッドです。errorCode パラメータは、発生したエラーの種類を表します。値は AdRequest クラスで定数値として定義されます。
ERROR_CODE_INTERNAL_ERROR - 内部でエラーが発生している(広告サーバーから無効な応答を受け取った場合など)。
ERROR_CODE_INVALID_REQUEST - 広告リクエストが無効(広告ユニット ID が不適切だった場合など)。
ERROR_CODE_NETWORK_ERROR - ネットワーク接続が原因で広告をリクエストできなかった。
ERROR_CODE_NO_FILL - 広告リクエストは成功したものの、広告枠の不足が原因で広告が返されなかった。