Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.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
Java 游戏中间显示广告广告_Java_Android_Admob_Ads_Interstitial - Fatal编程技术网

Java 游戏中间显示广告广告

Java 游戏中间显示广告广告,java,android,admob,ads,interstitial,Java,Android,Admob,Ads,Interstitial,我只是做了一个像铁裤一样的游戏,我试着在游戏结束后放一些插播广告 但是间隙广告总是显示在游戏的中间。我想这对用户来说会很烦人。我担心如果谷歌会禁止我的admob帐户 插播广告仅在5次游戏结束后显示 我只有一个屏幕MainGameView.java 以下是游戏结束时显示admob中间广告的代码 public synchronized void GameOver() { if (adounter >= this.getResources().getInteger(R.integer.a

我只是做了一个像铁裤一样的游戏,我试着在游戏结束后放一些插播广告

但是间隙广告总是显示在游戏的中间。我想这对用户来说会很烦人。我担心如果谷歌会禁止我的admob帐户

插播广告仅在5次游戏结束后显示

我只有一个屏幕MainGameView.java

以下是游戏结束时显示admob中间广告的代码

public synchronized void GameOver() {
    if (adounter >= this.getResources().getInteger(R.integer.add_shows_every_X_gameovers)) {
        openAd();
        adounter = 0;
    }
    adounter++;
}
间隙式ads的初始化方法

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    initialiseAccelerometer();

    // Create the interstitial
    interstitial = new InterstitialAd(this, getResources().getString(R.string.InterstitialAd_unit_id));

}

public void openAd() {
    runOnUiThread(new Runnable() {
        public void run() {
            // Create ad request
            AdRequest adRequest = new AdRequest();

            // Begin loading your interstitial
            interstitial.loadAd(adRequest);

            // Set Ad Listener to use the callbacks below
            interstitial.setAdListener(new AdListener() {

                @Override
                public void onReceiveAd(Ad arg0) {
                    if (interstitial.isReady()) {
                        interstitial.show();
                    }
                }

                @Override
                public void onPresentScreen(Ad arg0) {
                }

                @Override
                public void onLeaveApplication(Ad arg0) {
                }

                @Override
                public void onFailedToReceiveAd(Ad arg0, ErrorCode arg1) {
                }

                @Override
                public void onDismissScreen(Ad arg0) {
                }
            });
        }
    });
}
游戏结束后,我调用openAd()方法

public synchronized void GameOver() {
    if (adounter >= this.getResources().getInteger(R.integer.add_shows_every_X_gameovers)) {
        openAd();
        adounter = 0;
    }
    adounter++;
}

非常感谢,很抱歉我的英语不好。

您的问题是,您在收到填空d后立即显示它(即在AdListener#onReceiveAd中)不要这样做。它提供了糟糕的用户体验,并将确保您获得较低的评分

相反,在应用程序中的自然休息时间显示您的添加

相反,在应用程序中的自然休息时间显示您的添加

确切地说,如果您执行以下操作,将获得良好的用户体验: -在onCreate中请求广告 -在GameOver通话中:

if (interstitial.isReady()) {
    interstitial.show();
}

请把你的全班发出去。我们不能帮你处理那两行。你支票上的那一行现在已经过去了。把代码放在那里。嗨,对不起。谢谢你的回复。我刚刚更新了我的问题。