控制插页式广告的外观

时间:2017-09-17 11:55:43

标签: java android admob ads interstitial

我有一个插页式广告的问题,因此它不会出现在游戏中间,但会在玩家离开并重新进入时显示是否有解决方案显示游戏的中间位置。

private ZenGL zengl;
private static final String AD_UNIT_ID = "ca-app-pub-3940256099942544/6300978111";
private static final String IAD_UNIT_ID = "ca-app-pub-3940256099942544/1033173712";
protected AdView adView;
private InterstitialAd mInterstitialAd;
private boolean needAds = false;

public void onAdLoaded() {
    mInterstitialAd.show();
};

@Override
public void onResume() {
    if ( zengl != null )
        zengl.onResume();

    if (adView != null)
        adView.pause();

    if (mInterstitialAd.isLoaded() & (needAds==true)) {
        mInterstitialAd.show();
        needAds=false;
    }  
    super.onResume();
}

private void requestNewInterstitial() {
    AdRequest adRequest = new AdRequest.Builder()
    //  .addTestDevice("")
    .build();

    mInterstitialAd.loadAd(adRequest);
    needAds = true;
}

如何编辑这些代码以显示期中游戏广告?

2 个答案:

答案 0 :(得分:0)

请参阅官方文档以放置广告。 https://developers.google.com/admob/android/interstitial

如果你想在游戏中间显示广告,一种简单的方法是创建一个单独的线程,从游戏开始开始,每隔固定的时间间隔触发事件以显示来自线程。

答案 1 :(得分:0)

private void showAd(){
    new AsyncTask<Void, Void, Void>(){

        @Override
        protected Void doInBackground(Void... params) {
            try {
                Thread.sleep(3000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            return null;
        }

        @Override
        protected void onPostExecute(Void aVoid) {
            super.onPostExecute(aVoid);
            if (mInterstitialAd.isLoaded()) {
                mInterstitialAd.show();
            } else {
                Log.d("TAG", "The interstitial wasn't loaded yet.");
            }
        }
    }.execute();
}

此功能将在3秒后显示广告;)