androidadmobvungle-adsmobile-ad-mediationrewardedvideoad

RewardedVideoAd - AdMob Mediation with Vungle - ErrorCode: 3


This is my first time working with video ads. I have followed the AdMob guide of implementing RewardedVideoAd from here and the documentation of Vungle from here. I did all the steps written in these guides. However, when I deploy my app on my mobile, the RewardedVideoAd always fails to load. I tested it on my mobile and the emulator, and none of them worked. It always calls onRewardedVideoAdFailedToLoad. I have the latest Google Play Services installed on both devices. My app is still not deployed on Play Store if that's important to you. I don't know what's wrong. Can someone point out the problem?

ErrorCode is 3: ERROR_CODE_NO_FILL

My Code:

public class HomeScreen extends Activity {

    RewardedVideoAd videoAd;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.home_screen);

        //Some Code

        videoAd = MobileAds.getRewardedVideoAdInstance(this);
        videoAd.setRewardedVideoAdListener(new RewardedVideoAdListener() {
            @Override
            public void onRewarded(RewardItem reward) {
                Toast.makeText(HomeScreen.this, "onRewarded! currency: " + reward.getType() + "  amount: " +
                        reward.getAmount(), Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onRewardedVideoAdLeftApplication() {
                Toast.makeText(HomeScreen.this, "onRewardedVideoAdLeftApplication",
                        Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onRewardedVideoAdClosed() {
                Toast.makeText(HomeScreen.this, "onRewardedVideoAdClosed", Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onRewardedVideoAdFailedToLoad(int errorCode) {
                Toast.makeText(HomeScreen.this, "onRewardedVideoAdFailedToLoad", Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onRewardedVideoAdLoaded() {
                Toast.makeText(HomeScreen.this, "onRewardedVideoAdLoaded", Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onRewardedVideoAdOpened() {
                Toast.makeText(HomeScreen.this, "onRewardedVideoAdOpened", Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onRewardedVideoStarted() {
                Toast.makeText(HomeScreen.this, "onRewardedVideoStarted", Toast.LENGTH_SHORT).show();
            }
        });

        Bundle extrasBundle = new Bundle();
        extrasBundle.putBoolean("_noRefresh", true);
        AdRequest adRequest = new AdRequest.Builder()
                .addNetworkExtrasBundle(AdMobAdapter.class, extrasBundle)
                .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
                .addTestDevice("D575C31D492903A3BA451D2B2E2BD8E8")
                .build();
        videoAd.loadAd(getString(R.string.video_ad_unit_id), adRequest);

        addLives.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (videoAd.isLoaded()) {
                    videoAd.show();
                }
            }
        });
    }
}

AdMob Ad:

AdMob Ad

Ad Mediation:

Ad Mediation

I have added the required libraries for Vungle mediation:

Vungle Libraries

Gradle (project-level):

dependencies {
    classpath 'com.google.gms:google-services:3.0.0'
}

Gradle (app-level):

apply plugin: 'com.google.gms.google-services'

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.firebase:firebase-ads:9.2.0'
}

Logcat (regarding ads):

I/Ads: Starting ad request.
W/Ads: Failed to load ad: 3

Solution

  • This issue has been resolved through Vungle Android SDK 4.0.2 and Vungle AdMob Adopter 2.0.0

    https://v.vungle.com/sdk https://support.vungle.com/hc/en-us/articles/207604108