Q: Admob Rewarded Video Test Ad Not Loading I have implemented Admob in my application. I am using Test ads for testing. The Banner and Interstitial TestAds are working fine, but Rewarded Video Ad is Failing with Code 3
I don't know, what is wrong. Both are working fine, but Rewarded Video Ad is not loading. 
using compile 'com.google.android.gms:play-services-ads:11.8.0' in Gradle.
My Code:
mRewardedVideoAd = MobileAds.getRewardedVideoAdInstance(this);
mRewardedVideoAd.setRewardedVideoAdListener(this);
mRewardedVideoAd.loadAd("ca-app-pub-3940256099942544/5224354917",
                 new AdRequest.Builder().addTestDevice(getResources().getString(R.string.MyTestDevice)).build());


A: I used exactly your code and worked fine. You may take a look:
public class MainActivity extends AppCompatActivity implements RewardedVideoAdListener{
    private RewardedVideoAd mRewardedVideoAd;
    Button btn;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btn = findViewById(R.id.btn_ad);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (mRewardedVideoAd.isLoaded()) {
                    mRewardedVideoAd.show();
                }
            }
        });
        mRewardedVideoAd = MobileAds.getRewardedVideoAdInstance(this);
        mRewardedVideoAd.setRewardedVideoAdListener(this);
        mRewardedVideoAd.loadAd("ca-app-pub-3940256099942544/5224354917",
            new AdRequest.Builder().build());
    }

    @Override
    public void onRewardedVideoAdLoaded() {

    }

    @Override
    public void onRewardedVideoAdOpened() {

    }

    @Override
    public void onRewardedVideoStarted() {

    }

    @Override
    public void onRewardedVideoAdClosed() {
        mRewardedVideoAd.loadAd("ca-app-pub-3940256099942544/5224354917",
            new AdRequest.Builder().build());
    }

    @Override
    public void onRewarded(RewardItem rewardItem) {
        mRewardedVideoAd.loadAd("ca-app-pub-3940256099942544/5224354917",
            new AdRequest.Builder().build());
    }

    @Override
    public void onRewardedVideoAdLeftApplication() {

    }

    @Override
    public void onRewardedVideoAdFailedToLoad(int i) {
        mRewardedVideoAd.loadAd("ca-app-pub-3940256099942544/5224354917",
            new AdRequest.Builder().build());
    }
}


A: The ad request was successful, but no ad was returned due to lack of ad inventory.
Constant Value: 3 (failed to load ad 3)
If you are getting this error, then your code is correct. The issue is that AdMob does not always have an ad to return for every request. This may happen 
