Como implementar o Admob Adview in Android App
Pergunta
Eu quero usar o AdMob no meu aplicativo. Eu baixei o SDK e segui as etapas. Às vezes, recebo um anúncio em troca, mas na maioria das vezes, recebo uma entrada no Logcat que diz "o servidor não encontrou nenhum anúncio" ou algo nesse sentido. O modo de teste está ativado, diz o site Admob. Eu acho que posso estar fazendo algo errado. Onde posso obter um guia passo a passo para inserir anúncios Admob em aplicativos Android? O site de desenvolvedores da ADMOB está bastante ausente.
Além disso, vamos supor que tudo correu bem e que agora gostaria de implantar o aplicativo. Como faço para desativar o modo de teste para anúncios de AdMob?
Obrigada.
Solução
Basta seguir as instruções neste site:http://developer.admob.com/wiki/android#admob_android_sdk
Eu acho que você não ativou o modo de teste para o seu dispositivo ou o emulador?!
AdManager.setTestDevices( new String[] {
AdManager.TEST_EMULATOR, // Android emulator
"E83D20734F72FB3108F104ABC0FFC738", // My T-Mobile G1 Test Phone
} );
Outras dicas
Faça o download do arquivo Jar Admob http://www.admob.com/my_sites/
Crie um pacote em seu projeto e chame -o de "libs" e cole este arquivo Admob.jar lá
Clique com o botão direito do mouse no seu projeto A Selecione a biblioteca, adicione o caminho para o Admob.jar que você acabou de salvar.
Se você estiver criando seu Adview no seu XML, poderá adicionar esta linha.
Este é um exemplo para teste. Quando você obtiver sua própria identificação do AdMob, coloque -o no Adunitid e apagar a linha de teste.
com.google.ads.AdView
android:id="@+id/adView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
ads:adSize="BANNER"
ads:adUnitId="a14f59e5c442767"
ads:testDevices="TEST_EMULATOR, TEST_DEVICE_ID"
ads:loadAdOnCreate="true"
</com.google.ads.AdView>
Agora vá ao seu .Java que ele chama este layout e crie seu Adview
AdView adView = (AdView)this.findViewById(R.id.adView1);
adView.loadAd(new AdRequest());
É assim que eu faço e está funcionando bem até agora.
Desculpe pelo inglês ruim, a muito código e sem sono!
Parece que isso pode ter mudado para
AdRequest request = new AdRequest();
request.addTestDevice(AdRequest.TEST_EMULATOR);
request.addTestDevice("E83D20734F72FB3108F104ABC0FFC738"); // My T-Mobile G1 test phone
Vejo http://code.google.com/mobile/ads/docs/android/intermediate.html
De acordo com o comentário de Tom abaixo, o valor a fornecer para AddTestDevice é na verdade o hash do MD5 do ID do dispositivo. Você pode obter isso no logcat.
Basta adicionar uma permissão ao Android Mainfest:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
Verifique uma vez.
Em seguida, adicione este código:
AdManager.setTestDevices( new String[] {
AdManager.TEST_EMULATOR, // Android emulator
"E83D20734F72FB3108F104ABC0FFC738", // My T-Mobile G1 Test Phone
} );
Você não precisa chamá -lo de programaticamente.
Demorei um pouco até que eu entendi qual dispositivo é o SDK da AdMob, o que esperava porque 'eu estava pensando que era algo relacionado ao dispositivo real como (dispositivos ADB)
Mas aqui está um comentário da documentação oficial que o limpou.
Haverá uma mensagem de log com o código necessário para adicionar o dispositivo atual à lista de dispositivos de teste
Você pode receber uma mensagem semelhante a ele
I/Ads(26674): To get test ads on this device, call adRequest.addTestDevice("F1254CDFBA84BDC27F5C7C6E12445D06");
Tudo o que você precisa fazer depois disso é colocar esse ID no seu layout xml como abaixo
<com.google.ads.AdView
android:layout_alignParentBottom="true"
android:id="@+id/adView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
ads:adSize="BANNER"
ads:adUnitId="@string/publisherId"
ads:loadAdOnCreate="true"
ads:testDevices="TEST_EMULATOR, F1254CDFBA84BDC27F5C7C6E12445D06" />
Espero que ajude vocês a sair
Paulo Miguel Almeida