показ одного и того же объявления при нажатии другой кнопки - PullRequest
0 голосов
/ 09 февраля 2019

Извините за мое невежество, но я пытался показать промежуточную рекламу, пока пользователь нажимает на несколько кнопок.У меня четыре кнопки, и каждая из них ведет к разной активности.Как я могу показывать одно и то же объявление (без создания дополнительных рекламных блоков и переменных) при нажатии нескольких кнопок?Вот что я сделал до сих пор:

        Button btn1, btn2, btn3, btn4;
        interstitialAd.setAdListener(new AdListener()
                                     {
                                         @Override
                                         public void onAdClosed() {
                                             super.onAdClosed();
                                             Intent intent = new Intent(MainActivity.this, Activity1.class);
                                             startActivity(intent);
                                         }
                                     }
        );


        btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (interstitialAd.isLoaded()) {
                    interstitialAd.show();
                } else {
                    Intent intent = new Intent(MainActivity.this, Activity1.class);
                    startActivity(intent);
                }


            }});

Ответы [ 3 ]

0 голосов
/ 09 февраля 2019

Используйте метод onAdClosed в Interstitial Listener, чтобы снова загрузить ad, если он уже показан, и добавьте функцию show к слушателям нажатия кнопки.Я думал, что четыре кнопки находятся в одном действии (поправьте меня, если я ошибаюсь)

В onClickListener вашей кнопки вы использовали операторы if else, как show Ads or Go to this activity Я имею в виду if unable to show ads then go to this activity, well if the ad was shown to the user then the user will stay at the same activity.

Попробуйте это:

btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (interstitialAd.isLoaded()) {
                    interstitialAd.show();
Intent intent = new Intent(MainActivity.this, Activity1.class);
                    startActivity(intent);
//***This is simple, when the button was clicked Ad will show, also the Activity1 will open.

} else {
                    Intent intent = new Intent(MainActivity.this, Activity1.class);
                    startActivity(intent);
                }


            }});

или Вы должны добавить Interstitial Listener внутри метода Click listener кнопки, чтобы вы могли открыть другое действие, когда Ad было закрыто.

0 голосов
/ 09 февраля 2019

onButttonClick покажет объявление, как сказал Ратиш

OnClickListener onClickListener=new OnClickListener() {
        @Override
        public void onClick(View view) {
            position = 1(for first activity)
            if (interstitialAd.isLoaded()) {
                interstitialAd.show();
            } else{
                nextActivity();
            }
} 

, затем на закрытом объявлении перейдите к следующему действию:

создайте массив String, сохраните в нем все имена пакетов и объявитеint вроде:

    String optionSelected[] = {"com.sb.android.acg.upgrade.activity.firstActivity", "com.sb.android.acg.upgrade.activity.SecondActivity", "com.sb.android.acg.upgrade.activity.ThirdActivity", "com.sb.android.acg.upgrade.activity.FourthActivity", "com.sb.android.acg.upgrade.activity.fifthActivity", "com.sb.android.acg.upgrade.activity.SixthActivity"};

int position 

и в onAdClosed:

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

и в nextActivity

public void nextActivity(){
Intent intent;
        Class<?> aclass = Class.forName(optionSelected[position]);
        intent = new Intent(MainActivity.this, aclass);
         startActivity(intent);
}

надеюсь, что вы поняли, как вызвать следующее действие.Если есть сомнения, скажите мне в комментарии

0 голосов
/ 09 февраля 2019

Вы можете создать экземпляр OnClickListener, например,

OnClickListener onClickListener=new OnClickListener() {
            @Override
            public void onClick(View view) {
                if (interstitialAd.isLoaded()) {
                    interstitialAd.show();
                } else {
                    Intent intent = new Intent(MainActivity.this, Activity1.class);
                    startActivity(intent);
}
}

, и назначить все эти нажатия кнопок, например

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