簡體   English   中英

控制插頁式廣告的外觀

[英]Control the appearance of an interstitial ad

我對插頁式廣告有疑問,這樣插頁式廣告就不會出現在游戲的中間,但是當玩家離開並重新進入時會出現。是否有解決方案來顯示游戲的中間。

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;
}

如何修改這些代碼以顯示中期游戲廣告?

請參閱官方文檔以放置廣告。 https://developers.google.com/admob/android/interstitial

如果要在游戲的中間展示廣告,一種簡單的方法是創建一個單獨的線程,該線程從游戲開始時開始,並在每個固定的時間間隔內觸發事件以從該線程中展示廣告。

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秒鍾后顯示廣告;)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM