Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
快速加载Admob和Android Studio视频?_Android_Admob - Fatal编程技术网

快速加载Admob和Android Studio视频?

快速加载Admob和Android Studio视频?,android,admob,Android,Admob,如果你能帮我解决这个问题,我有一个项目,我有admob奖励的视频。一切都很顺利,但我有点不方便。 视频在我启动应用程序时加载,但加载需要20秒。这是一个很长的时间,我希望它加载在几秒钟内。我怎样才能减少花费? 当我加载完视频后,我看到了它。完成观看后,会加载另一个视频,但如果加载速度过快,则会在1秒内加载该视频。当我启动应用程序时,如何让它以最快的速度加载? 我的另一个问题是,我的一些用户不上传视频,他们得到的奖励视频广告加载失败,因为这可能发生?只发生在一些人身上 package com.an

如果你能帮我解决这个问题,我有一个项目,我有admob奖励的视频。一切都很顺利,但我有点不方便。 视频在我启动应用程序时加载,但加载需要20秒。这是一个很长的时间,我希望它加载在几秒钟内。我怎样才能减少花费? 当我加载完视频后,我看到了它。完成观看后,会加载另一个视频,但如果加载速度过快,则会在1秒内加载该视频。当我启动应用程序时,如何让它以最快的速度加载? 我的另一个问题是,我的一些用户不上传视频,他们得到的奖励视频广告加载失败,因为这可能发生?只发生在一些人身上

package com.android.proyect;

import com.google.android.gms.ads.AdListener;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;
import com.google.android.gms.ads.InterstitialAd;
import com.google.android.gms.ads.reward.RewardedVideoAd;

import static android.graphics.BitmapFactory.decodeResource;
import static android.view.Window.FEATURE_LEFT_ICON;

public class Welcome extends AppCompatActivity{


    private RewardedVideoAd mRewardedVideoAd;
    private static final String AD_UNIT_ID = "ca-app-pub-000000000000000/00000000"; //My code

    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        // Get the view from singleitemview.xml
        setContentView(R.layout.activity_welcome);

        probarboton = (Button) findViewById(R.id.button4);

        //Anuncio probar video
        mRewardedVideoAd = MobileAds.getRewardedVideoAdInstance(this);
        mRewardedVideoAd.setRewardedVideoAdListener(new RewardedVideoAdListener()
        {

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

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

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

            @Override
            public void onRewardedVideoAdClosed()
            {
                Toast.makeText(Welcome.this, "onRewardedVideoAdClosed", Toast.LENGTH_SHORT).show();
                // Preload the next video ad.
                loadRewardedVideoAd();
            }

            @Override
            public void onRewarded(RewardItem rewardItem)
            {
                textView4.setText(String.format(Locale.getDefault(),"you got %d %s!", rewardItem.getAmount(), rewardItem.getType()));
            }

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

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

        probarboton.setOnClickListener(new View.OnClickListener()
        {
            public void onClick(View arg0)
            {
                Log.i("probar","video");
                System.out.println("click boton probar video");
                if (mRewardedVideoAd.isLoaded()) {
                    mRewardedVideoAd.show();
                }
            }
        });

        loadRewardedVideoAd();
    }

    private void loadRewardedVideoAd() {
        AdRequest adRewardRequest = new AdRequest.Builder()
                .build();
        mRewardedVideoAd.loadAd(AD_UNIT_ID, adRewardRequest );
    }

}
build.gradle项目

dependencies {
    classpath 'com.android.tools.build:gradle:2.2.2'
    classpath 'com.google.gms:google-services:3.0.0'

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}
build.gradle应用程序

    dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:24.2.1'
    compile 'com.android.support:design:24.2.1'
    compile 'com.android.support:support-v4:24.2.1'
    compile 'com.koushikdutta.ion:ion:2.1.9'
    compile 'com.android.support:support-vector-drawable:24.2.1'
    compile 'com.github.snowdream.android:smartimageview:0.0.2'
    testCompile 'junit:junit:4.12'
    compile 'com.google.android.gms:play-services-ads:9.4.0'
    compile 'com.google.firebase:firebase-ads:9.4.0'
    compile 'com.google.firebase:firebase-core:9.4.0'
    compile 'com.google.firebase:firebase-messaging:9.4.0'
    compile 'com.squareup.okhttp3:okhttp:3.4.1'
    compile files('libs/UnityAdsAdapter.jar')

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

您可以在onRewardedVideoAdClosed()和onRewarded()中调用loadRewardedVideoAd()函数。

问题是关于第一次加载,即如何在他启动应用程序时更快地加载奖励广告。