Android RewardedVideoAd-带有Vungle的AdMob中介-错误代码:3

Android RewardedVideoAd-带有Vungle的AdMob中介-错误代码:3,android,admob,vungle-ads,mobile-ad-mediation,rewardedvideoad,Android,Admob,Vungle Ads,Mobile Ad Mediation,Rewardedvideoad,这是我第一次使用视频广告。我遵循了《AdMob指南》和《Vungle文档》中的实施RewardedVideoAd。我完成了这些指南中写的所有步骤。但是,当我在手机上部署应用程序时,RewardedVideoAd总是无法加载。我在我的手机和模拟器上进行了测试,但都没有成功。它总是要求有回报的想法和失败的想法。我在两台设备上都安装了最新的Google Play服务。我的应用程序仍然没有部署在Play Store上,如果这对您很重要的话。我不知道怎么了。有人能指出这个问题吗 错误代码为3: 我的代码:

这是我第一次使用视频广告。我遵循了《AdMob指南》和《Vungle文档》中的实施
RewardedVideoAd
。我完成了这些指南中写的所有步骤。但是,当我在手机上部署应用程序时,
RewardedVideoAd
总是无法加载。我在我的手机和模拟器上进行了测试,但都没有成功。它总是要求有回报的想法和失败的想法。我在两台设备上都安装了最新的Google Play服务。我的应用程序仍然没有部署在Play Store上,如果这对您很重要的话。我不知道怎么了。有人能指出这个问题吗

错误代码为3:

我的代码:

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();
                }
            }
        });
    }
}
dependencies {
    classpath 'com.google.gms:google-services:3.0.0'
}
apply plugin: 'com.google.gms.google-services'

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.firebase:firebase-ads:9.2.0'
}
I/Ads: Starting ad request.
W/Ads: Failed to load ad: 3
AdMob广告:

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();
                }
            }
        });
    }
}
dependencies {
    classpath 'com.google.gms:google-services:3.0.0'
}
apply plugin: 'com.google.gms.google-services'

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.firebase:firebase-ads:9.2.0'
}
I/Ads: Starting ad request.
W/Ads: Failed to load ad: 3

广告中介:

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();
                }
            }
        });
    }
}
dependencies {
    classpath 'com.google.gms:google-services:3.0.0'
}
apply plugin: 'com.google.gms.google-services'

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.firebase:firebase-ads:9.2.0'
}
I/Ads: Starting ad request.
W/Ads: Failed to load ad: 3

我添加了Vungle中介所需的库:

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();
                }
            }
        });
    }
}
dependencies {
    classpath 'com.google.gms:google-services:3.0.0'
}
apply plugin: 'com.google.gms.google-services'

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.firebase:firebase-ads:9.2.0'
}
I/Ads: Starting ad request.
W/Ads: Failed to load ad: 3

Gradle(项目级):

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();
                }
            }
        });
    }
}
dependencies {
    classpath 'com.google.gms:google-services:3.0.0'
}
apply plugin: 'com.google.gms.google-services'

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.firebase:firebase-ads:9.2.0'
}
I/Ads: Starting ad request.
W/Ads: Failed to load ad: 3
Gradle(应用程序级):

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();
                }
            }
        });
    }
}
dependencies {
    classpath 'com.google.gms:google-services:3.0.0'
}
apply plugin: 'com.google.gms.google-services'

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.firebase:firebase-ads:9.2.0'
}
I/Ads: Starting ad request.
W/Ads: Failed to load ad: 3
Logcat(关于广告):

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();
                }
            }
        });
    }
}
dependencies {
    classpath 'com.google.gms:google-services:3.0.0'
}
apply plugin: 'com.google.gms.google-services'

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.firebase:firebase-ads:9.2.0'
}
I/Ads: Starting ad request.
W/Ads: Failed to load ad: 3

我是文格尔的阿基。我们正在调查这个问题。我们将在验证后更新此线程


谢谢,

此问题已通过Vungle Android SDK 4.0.2和Vungle AdMob Adopter 2.0.0解决


好的,我会等的。:)是的,我知道。我只是忘了更新这篇文章。谢谢。:)