[Android] – Admob
| sábado, 11 de junho de 2011 por Beneti |

Bom, hoje vou dar uma dica para a adicionar propaganda na sua aplicação android. Apesar do AdMob ter a documentação, pode existir alguma falha no entendimento. Primeiro passo, claro é você ser cadastrado no AdMob e ter o seu ID editor da aplicação. É necessário baixar o SDK do AdMob. Coloque o .jar em algum lugar que você esteja acostumado a deixar e adicione no projeto. Caso tenha dúvida de como fazer isso, siga:
- Clique com o botão direito em cima do projeto e clique em Properties;
- Clique em Java Build Path, do lado esquerdo;
- Clique na aba Libraries;
- Clique em Add Jars… ou Add External Jars… (dependendo de onde você colocou o arquivo .jar);
- Selecione o arquivo (hoje o nome é GoogleAdMobAdsSdk-4.1.0.jar) e dê OK;
Feito isso, vamos ao que interessa. É necessário alterar o manifest, criar um resource, adicionar esse resource no layout, chamar a propaganda e testar.
Alterando o manifest
Insira a seguinte linha:
<activity android:name="com.google.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation"/>Para o AdMob funcionar, são duas permissões. Adicione:
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
Criando o resource
Caso já exista o arquivo attrs.xml dentro do diretório values, apenas acrescente o código abaixo, apartir da tag resource. Caso não exista, crie o arquivo e adicione tudo.
<?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="com.google.ads.AdView"> <attr name="adSize"> <enum name="BANNER" value="1" /> <enum name="IAB_MRECT" value="2" /> <enum name="IAB_BANNER" value="3" /> <enum name="IAB_LEADERBOARD" value="4" /> </attr> <attr name="adUnitId" format="string" /> </declare-styleable> </resources>
Adicionando o resource no layout
Abra o layout que você deseja colocar a propaganda e insira o código:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <com.google.ads.AdView android:id="@+id/adView" android:layout_width="wrap_content" android:layout_height="wrap_content" ads:adUnitId="MY_AD_UNIT_ID" ads:adSize="BANNER" ads:loadAdOnCreate="true"/> </LinearLayout>
Note que a linha ( xmlns:ads=”http://schemas.android.com/apk/lib/com.google.ads” ) é extremamente importante. Se você NÃO colocar, dá erro de parse do XML e se você colocar ERRADO vai dar erro na hora de exibir. É necessário alterar o MY_AD_UNIT_ID, para o ID do editor.
Chamando a propaganda
AdView adView = (AdView)this.findViewById(R.id.adView); AdRequest adRequest = new AdRequest(); adView.loadAd(adRequest);
Testando no emulador
Para aparecer a propaganda e você conseguir ver, adicione a seguinte linha, antes do adView.load:
adRequest.addTestDevice(AdRequest.TEST_EMULATOR);
Pronto. Espero ter sido de ajuda. Uma outra observação, caso dê o erro Error inflating class com.admob.android.ads.AdView, é por que o recurso não foi definido, no passo do attrs.xml. Até a próxima!









7 comentários para “[Android] – Admob”
julho 6th, 2011 at 1:26 pm
Onrigado… me ajudou muito..
abraço..
julho 6th, 2011 at 1:31 pm
Beneti, uma pergunta…
toda vez que vou publicar um app no Android Market da a seguinte msg “Este apk necessita de 1 recursos que serão usados para a filtragem do Android Market.
android.hardware.touchscreen”
Como usar esse pacote?
Abraço.
julho 11th, 2011 at 8:00 am
Sua dica foi direta, simples e clara.
Me ajudou muito pois os outros sites sao muito tecnicos e pouco objetivos!
Vlw
julho 11th, 2011 at 9:53 am
Valeu, cara.
julho 11th, 2011 at 9:56 am
Cara, dá uma olhada aqui -> http://www.google.com/support/forum/p/Android+Market/thread?tid=0ba85d70b1d605b6&hl=en
Nunca mexi com essa permissão… Mas com certeza você não foi o primeiro nem o último a ter esse problema.
outubro 28th, 2011 at 6:02 am
Olá parabéns pelo tópico muito bom
queria tirar uma dúvida nessa linha
ads:adUnitId=”MY_AD_UNIT_ID”
tu diz pra colocar o id do editor ,não entendi isso e qndo eu for postar no market que id vai ser aki
Obrigado
outubro 28th, 2011 at 6:20 am
Renato, não entendi a sua dúvida. Não tem ligação alguma o ID do admob com alguma coisa do market.
Ao se cadastrar no Admob e criar um site/aplicativo, vai ter um ID. É esse ID que você tem que colocar. Está em “ID do editor”.