Промежуточное тестовое объявление закрывается в Android Studio. Это нормально? - PullRequest
0 голосов
/ 15 февраля 2020

Я разрабатываю простое приложение, только одно действие, в Android Studio. Я успешно внедрил рекламные баннеры, которые время от времени представляются (60 секунд в моей среде разработки). Баннер, показывающий, что все работает, представлен, но только на секунду или меньше, и закрывается сам. И так далее. Есть моменты, когда он остается на экране дольше (это дает мне время, чтобы закрыть вручную). Это нормально с тестовыми баннерами? Такое поведение одинаково в эмуляторе и физическом телефоне.

Вот используемый код:

public class MainActivity extends AppCompatActivity {

    private InterstitialAd mInterstitialAd;

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

        prepareAd();

        ScheduledExecutorService scheduler =
                Executors.newSingleThreadScheduledExecutor();

        scheduler.scheduleAtFixedRate(new Runnable() {
            public void run() {
                Log.i("hello", "world");
                runOnUiThread(new Runnable() {
                    public void run() {
                        if (mInterstitialAd.isLoaded()) {
                            mInterstitialAd.show();
                        } else {
                           Log.d("TAG"," Interstitial not loaded");
                        }

                        prepareAd();
                    }
                });
            }
        }, 10, 60, TimeUnit.SECONDS);
    }

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

Нормально ли это поведение при тестировании баннеров в android studio?

1 Ответ

0 голосов
/ 04 марта 2020

Решил мой собственный вопрос.

Объявления закрывались, потому что было некоторое совпадение из-за того, как работает график с фиксированной скоростью. Простым и быстрым решением для меня было использовать вместо него scheduleWithFixedDelay. Больше никаких совпадений.

...