How to show ad when closing my app

2

I want to show my ad when the user presses to "back" where I should launch this code: AdBuddiz.showAd (activity);

    
asked by anonymous 23.09.2014 / 01:03

1 answer

2

To reach the solution you must overwrite the onBackPressed method of Activity .

One solution would be:

public class SuaActivity extends Activity {

    // Demais codigo de sua Activity...

    @Override
    public void onBackPressed() {
        // Usuario apertou o botão voltar.
        // Essa chamada é opcional, mas é uma boa prática
        // deixar o comportamento padrão ocorrer
        super.onBackPressed();

        // Mostra seu Ads
        AdBuddiz.showAd(this);
    }
}

For AdBuddiz , you need to register AdBuddizDelegate to listen for events that occur with Ads .

To complement the desired behavior, we will use some events to continue the "back" process. We will use the event of didFailToShowAd , didClick and didHideAd to effectively return 1 .

1 I'm assuming you do not use AdBuddizDelegate yet, and that only SuaActivity calls Ads . Otherwise you need to adapt the code to handle multiple uses, since AdBuddiz only allows 1 AdBuddizDelegate throughout your app

Applying to your Activity would be:

public class SuaActivity extends Activity implements AdBuddizDelegate {

    // Flag para indicar se o usuário pode voltar (o Ads ja foi exibido ou falhou).
    boolean mAdShownOrFailed = false;

    // Flag para indicar que o usuário ja apertou o botao de voltar
    boolean mBackPressed = false;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // Restante codigo do seu onCreate

        // Registramos o AdBuddizDelegate.
        AdBuddiz.setDelegate(this);
    }

    // Restante do codigo de sua Activity...

    @Override
    public void onBackPressed() {
        // Usuario apertou o botão voltar.
        // A chamada ao super.onBackPressed() é opcional, mas é uma boa prática
        // deixar o comportamento padrão ocorrer

        // Como o Ads ja foi mostrado ou nao pode ser carregado,
        // podemos permitir o usuario voltar
        if(mAdShownOrFailed) {
            super.onBackPressed();
            return;
        }

        mBackPressed = true;

        // Mostra seu Ads
        AdBuddiz.showAd(this);
    }

    @Override
    public void didCacheAd() {
        // Ad foi colocado no cache, nao precisamos fazer nada
    }

    @Override
    public void didShowAd() {
        // O Ads foi mostrado, podemos permitir que ele aperte o
        // botao de voltar novamente para sair.
        mAdShownOrFailed = mBackPressed && true;
    }

    @Override
    public void didFailToShowAd(AdBuddizError error) {
        // O Ads falhou ao carregar, o usuario pode sair assim mesmo
        mAdShownOrFailed = mBackPressed && true;
        // Voce pode fechar a Activity caso queira, chamando onBackPressed()
        //onBackPressed();
    }

    @Override
    public void didClick() {
        // Usuario clicou, podemos fechar a Activity
        mAdShownOrFailed = mBackPressed && true;
        onBackPressed();
    }

    @Override
    public void didHideAd() {
        // Usuario fechou o Ads, podemos fechar a Activity
        mAdShownOrFailed = mBackPressed && true;
        onBackPressed();
    }
}
    
23.09.2014 / 01:48