Java 奖励视频不';不要第一次加载,而是在第二次加载之后加载

Java 奖励视频不';不要第一次加载,而是在第二次加载之后加载,java,android,admob,Java,Android,Admob,我的应用程序有一个打开奖励视频的按钮>>当第一次按下此按钮时,它会发出“检查您的互联网连接”的祝酒声,当第二次或第三次按下时,它会显示没有问题的视频 MobileAds.initialize(getActivity(), getString(R.string.VID_App_ID)); mRewardVideoAd = MobileAds.getRewardedVideoAdInstance(getActivity()); mRewardVideoAd.loadAd(ge

我的应用程序有一个打开奖励视频的按钮>>当第一次按下此按钮时,它会发出“检查您的互联网连接”的祝酒声,当第二次或第三次按下时,它会显示没有问题的视频

    MobileAds.initialize(getActivity(), getString(R.string.VID_App_ID));
    mRewardVideoAd = MobileAds.getRewardedVideoAdInstance(getActivity());
    mRewardVideoAd.loadAd(getString(R.string.VID_App_Unit_ID), new AdRequest.Builder()
            .addTestDevice(getString(R.string.TestDeviceID))
            .build());
    mRewardVideoAd.setRewardedVideoAdListener(this);
    loadRewardedVideoAd();   
以下是使用的方法:

 private void loadRewardedVideoAd() {
        mRewardVideoAd.loadAd(getString(R.string.VID_App_Unit_ID), new AdRequest.Builder()
                .addTestDevice(getString(R.string.TestDeviceID))
                .build());
    }



   @OnClick(R.id.button_more_money)
    public void more_money() {
        if (mRewardVideoAd.isLoaded()) {
            mRewardVideoAd.show();
        } else
            { 
             Toast.makeText(getActivity(), "Check your internet connection", Toast.LENGTH_LONG).show();
            loadRewardedVideoAd();
               }

    }


    @Override
    public void onResume() {
        mRewardVideoAd.resume(getActivity());
        super.onResume();
        loadRewardedVideoAd();
    }
编辑:已解决 -这需要一些时间,解决方案是在onCreate()上加载
感谢Martin De Simone和Avi Levin,奖励视频需要时间加载,您的代码很好,第一次按时,视频正在加载,然后按时,视频可能已经加载


试着在onAdLoaded中烤些东西来检查这一点

正如Martin所说,RV广告需要一段时间才能加载。基本上,它需要下载约30秒的视频,有时需要几秒钟

我建议使用SDK提供的RewardedVideoAdListener接口,它将帮助您知道广告何时可以显示。此外,它将帮助您了解AdMob奖励视频广告的生命周期

为了使用它,您需要执行以下阶段:

  • 在java类中实现RewardedVideoAdListener侦听器
  • 覆盖以下方法(我使用了
    Toast
    UI消息进行可视化,可以将其删除)
  • 代码:

    顺便说一句:在show调用之前,我建议使用
    isLoaded()
    方法检查AdMob是否准备好显示某些内容,例如:

    if (mAd.isLoaded()) {
        mAd.show();
    }
    

    更多信息可以在Google AdMob中找到。

    你在AdMob中介瀑布中使用的是哪个广告网络?你的
    else
    More_money
    中应该有花括号,否则最后一行将无条件执行。@AviLevin我不知道,实际上,这是我第一次使用广告,我会弄清楚我在用什么now@shmosel edited@AviLevin我现在不需要中介部分,我使用Admob的默认视频进行测试。这与问题有关吗?你的意思是问题出在与Admob的连接上吗?这是一个救命稻草,它花了一些时间,解决方案是在onCreate()加载。我这样做了,但我现在的声誉不到15个,当我达到它时,我会回来投票。我刚刚对你的问题投了赞成票,现在你是16个声誉(:感谢快速响应,成功完成
    if (mAd.isLoaded()) {
        mAd.show();
    }