почему список объявлений промежуточной рекламы не работает с обработчиком? - PullRequest
0 голосов
/ 15 октября 2018

Я сделал некоторый код, но он не работает должным образом.После полной загрузки индикатора прогресса моего экрана приветствия будет показано промежуточное объявление с помощью setAdListner.Чтобы я мог достичь своей цели (после закрытия объявления или не смог загрузить объявление), я хочу перейти к FirstActivity.Но я не знаю, где проблема?

package com.abdullah.md.allsimoffers;

import android.content.Intent;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;
import android.widget.ProgressBar;
import android.widget.Toast;

import com.google.android.gms.ads.AdListener;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.InterstitialAd;
import com.google.android.gms.ads.MobileAds;

public class MainActivity extends AppCompatActivity {

    ProgressBar progressBar;
    int setValue;
    private InterstitialAd interstitialAd;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
        WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.activity_main);
        getSupportActionBar().hide();

        MobileAds.initialize(this,"ca-app-pub-3940256099942544~3347511713");
        progressBar = findViewById(R.id.progressBar);

        interstitialAd = new InterstitialAd(MainActivity.this);
        interstitialAd.setAdUnitId(getString(R.string.interstitial_ad_unit_id));
        interstitialAd.loadAd(new AdRequest.Builder().build());

        Handler handler = new Handler();
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {
                interstitialAd.setAdListener(new AdListener() {

                    @Override
                    public void onAdLoaded() {
                        runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                Toast.makeText(MainActivity.this, "Ads", Toast.LENGTH_SHORT).show();
                                interstitialAd.show();
                            }
                        });
                        super.onAdLoaded();
                    }

                    @Override
                    public void onAdClosed() {
                        goToFirstActivity();
                        super.onAdClosed();
                    }

                    @Override
                    public void onAdFailedToLoad(int i) {
                        goToFirstActivity();
                        super.onAdFailedToLoad(i);
                    }
                });
            }
        }, 5500);

        final Thread thread = new Thread(new Runnable() {
            @Override
            public void run() {
                startProgressing();
            }
        });
        thread.start();
    }

    private void goToFirstActivity() {
        Intent intent = new Intent(MainActivity.this, FirstActivity.class);
        startActivity(intent);
    }

    private void startProgressing() {
        for (setValue = 10; setValue <= 100; setValue += 20) {
            progressBar.setProgress(setValue);
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
}

Иногда он показывает рекламу, но это очень мало раз.Это означает, что если я запускаю приложение 20 раз, объявление показывается 1 раз, а может быть через 2, 3 или несколько минут спустя.Если я удаляю adListner и устанавливаю interstitialAd.show (), тогда он работает.Но таким образом я не могу установить намерение пойти FirstActivity.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...