正在等待Admob插页式广告加载

时间:2017-07-11 17:37:17

标签: android admob

我想在用户第一次尝试退出应用时显示Admob广告,问题是当用户执行该Admob广告时可能无法完全加载,因此当加载广告时,可能会在用户显示时显示已经使用了一些其他东西,它不能提供良好的用户体验,甚至可能违反谷歌设置使用Admob广告的条件。

我尝试使用以下代码执行前面的操作,希望在应用程序可能在空闲时间检查它是否正在加载并让应用程序暂停一段时间它会继续加载添加。< / p>

            while (interstitialAds.isLoading())
            {
                try 
                {
                    Thread.sleep(10);
                }
                catch (InterruptedException e) 
                {
                    e.printStackTrace();
                }
            }

但它只是继续使用整个CPU进行while循环。

如果广告仍在加载,如何能够对其进行编码的任何想法必须等到广告加载完毕?

2 个答案:

答案 0 :(得分:1)

根据Admob政策,插页式广告不得在应用程序出口显示,请避免使用。 https://support.google.com/admob/answer/6201362?hl=en

答案 1 :(得分:0)

按照文档中的说明将广告加载到onCreate方法中:

import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;
// ...

public class MainActivity extends AppCompatActivity {

    private static final String TAG = "MainActivity";

    private InterstitialAd mInterstitialAd;;;
    // ...

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mInterstitialAd = new InterstitialAd(this);
        mInterstitialAd.setAdUnitId("ca-app-pub-3940256099942544/1033173712");
        mInterstitialAd.loadAd(new AdRequest.Builder().build());

您还可以使用AdListener

mInterstitialAd.setAdListener(new AdListener() {
    @Override
        public void onAdLoaded() {
            // Code to be executed when an ad finishes loading.
            Log.i("Ads", "onAdLoaded");
        }
    });