I want to show my ad when the user presses to "back" where I should launch this code: AdBuddiz.showAd (activity);
I want to show my ad when the user presses to "back" where I should launch this code: AdBuddiz.showAd (activity);
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();
}
}