Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Como faço para tirar o BANNER de anúncio Android durante uma transição de tela

Olá. Alguém pode me ajudar?

Por favor, como faço para tirar o BANNER de anúncio Android durante uma transição de tela?

Acontece que o jogo está rodando com o BANNER ativo. Quando reinicio o jogo, a tela fica escura mas o BANNER ainda está lá. Finalmente o jogo reinicia e o BANNER continua como deveria.

Mas no reinicio (na tela escura) o BANNER não deve aparecer. Como faço? (Código abaixo)

** Manifest

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/option_app_name"
        android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >

        <meta-data android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />

        <activity
            android:name=".MainActivity"
            android:screenOrientation="portrait" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity android:name="com.google.android.gms.ads.AdActivity"
            android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />

    </application>

** activity_main (Layout)

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:ads="http://schemas.android.com/apk/res-auto">

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/container_surfaceview">
    </FrameLayout>

    <com.google.android.gms.ads.AdView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_alignParentBottom="true"
        ads:adSize="Banner principal"
        ads:adUnitId="ca-app-pub-1748181953993218/3016207289" >
    </com.google.android.gms.ads.AdView>

</RelativeLayout>

** MainActivity

    @Override protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        containerSurfaceView = (FrameLayout) findViewById(R.id.container_surfaceview);
        this.game = new Game(this);
        containerSurfaceView.addView(game);

        som = game.getSom();
    }

    @Override protected void onResume() {
        super.onResume();
        thread = new Thread(this.game);
        thread.start();
        game.inicializaJogo();
        autoResumeSom();
    }

    public void reiniciarJogo() {
        jogoReiniciado = true;
        containerSurfaceView.removeView(this.game);
        this.game = new Game(this);
        containerSurfaceView.addView(game);
        thread.interrupt();
        onResume();
    }
3 respostas

Coloque um id pro seu banner:

    <com.google.android.gms.ads.AdView
        android:id="@+id/banner"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_alignParentBottom="true"
        ads:adSize="Banner principal"
        ads:adUnitId="ca-app-pub-1748181953993218/3016207289" >
    </com.google.android.gms.ads.AdView>

Busque-o no local onde deseja manipulá-lo:

AdView banner = findViewById(R.id.banner);

Altere sua visibilidade:

banner.setVisibility(View.INVISIBLE);

Quando quiser exibir, basta fazer:

banner.setVisibility(View.VISIBILE);

O comando "banner.setVisibility(View.INVISIBLE)" permite que ele seja clicado enquanto invisível?

Ou seja, o espaço destinado a ele ainda fica ativo ou não?

Não é esse o intuito. Não posso ter o banner clicado de forma oculta no aplicativo!!!

Aguardo retorno. Obrigado.

solução!

"O comando banner.setVisibility(View.INVISIBLE) permite que ele seja clicado enquanto invisível?"

Não.

"Ou seja, o espaço destinado a ele ainda fica ativo ou não?"

Não fica ativo.

"Não é esse o intuito. Não posso ter o banner clicado de forma oculta no aplicativo!!"

Eu sei. Isso inclusive está descrito na documentação da AdMob. Dê uma olhada nesta parte da documentação.

Se quiser ver uma app funcionando com anúncios, dê uma olhada na minha própria app no Google Play.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software