Объявление AdMob появляется только один раз - PullRequest
0 голосов
/ 24 июня 2018

Может кто-нибудь помочь мне с этой проблемой?Когда я запускаю свое приложение в эмуляторе, объявление появляется каждый раз, но когда я запускаю на телефоне, оно появлялось только один раз и больше не появлялось.Я использую библиотеку Gdx для своей игры

Класс Android Launcher

public class AndroidLauncher extends AndroidApplication implements AdHandler {

    private static final String TAG = "AndroidLauncher";
    private final int SHOW_ADS = 1;
    private final int HIDE_ADS = 0;
    protected AdView adView;

    Handler handler = new Handler(){

        @Override
        public void handleMessage(Message msg) {
            switch (msg.what){
                case SHOW_ADS:
                    adView.setVisibility(View.VISIBLE);
                    break;
                case HIDE_ADS:
                    adView.setVisibility(View.GONE);
                    break;
            }
        }
    };

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

        RelativeLayout layout = new RelativeLayout(this);

        AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
        View gameView = initializeForView(new BolsoBird(this), config);
        layout.addView(gameView);

        adView = new AdView(this);

        adView.setAdListener(new AdListener() {
            @Override
            public void onAdLoaded() {
                int visibility  = adView.getVisibility();
                adView.setVisibility(AdView.GONE);
                adView.setVisibility(visibility);
                Log.i(TAG,"Ad loaded...");
            }
        });
        adView.setAdSize(AdSize.SMART_BANNER);
        adView.setAdUnitId("xxxxxxx");

        AdRequest.Builder builder = new AdRequest.Builder();
        RelativeLayout.LayoutParams adParams = new RelativeLayout.LayoutParams(
                RelativeLayout.LayoutParams.WRAP_CONTENT,
                RelativeLayout.LayoutParams.WRAP_CONTENT
        );

        adParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);

        layout.addView(adView, adParams);

        adView.loadAd(builder.build());
        setContentView(layout);
    }

    @Override
    public void showAds(boolean show) {
        handler.sendEmptyMessage(show ? SHOW_ADS : HIDE_ADS);
    }
}

Я инициализирую объявление в методе создания моей игры ..

public void create () {
         .....
         .....
        handler.showAds(toggle); //toggle is true every time..

    }

Спасибо всем.

1 Ответ

0 голосов
/ 24 июня 2018

Попробуйте разместить AdView внутри макета и вместо этого измените Видимость макета . И правильный способ установить видимость - использовать View.GONE , но вы указали AdView.GONE в вашем AdListener () .

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