20.1.-
Programación en Android – Añadir publicidad
AdMob.
En este artículo vamos a ver
como poder añadir publicidad a nuestra aplicación para
así ayudarnos a rentabilizarla.
Aunque hay varios servicios para
poder añadir publicidad, e incluso alguno que nos ayuda a
integrar varios distintos (AdWhirl), lo cierto es que uno de
los más extendidos es el Admob, de Google, aunque
parece que dentro de poco pasará a estar integrado dentro del
Adsense.
Primer
paso, registrarse en Admob
Para poder poner publicidad con este
servidor, primero debemos de registrarnos en Admob e
introducir los datos bancarios. En caso de tener cuenta de
Google (Gmail) podemos acceder mediante ella.
Después de realizar esto
debemos pulsar en “Agregar sitio/aplicación”, y
nos aparecerá una pantalla como la siguiente (o parecida):
Aquí pulsamos sobre la opción
que deseemos, en nuestro caso será una Aplicación
Android, y nos aparecerán más datos para rellenar
los detalles de la aplicación:
Creo que no hay que explicar mucho
de esta página, salvo el detalle de que en caso de no haber
publicado la aplicación en el market es recomendable poner
“http://” en el campo que pone URL del paquete
android, o en su defecto ponemos nuestra página web. Estos
campos podremos cambiarlos posteriormente.
Al pulsar el botón continuar
nos aparecerá otra página, desde la que ya podremos
descargar el SDK:
Ahora si pulsamos en
sitios/aplicaciones nos aparecerá una lista de las
aplicaciones que tenemos añadidas, y al seleccionar una de
ellas podemos ver el ID de editor para esa aplicación
en particular. Este ID será el que deberemos
posteriormente meter en el código de android para que sepa
quién muestra la publicidad.
Instalación
del SDK
Tras descargar el SDK, lo
descomprimiremos en el directorio de nuestra preferencia. Al
descomprimirlo nos creará una carpeta con la documentación
(docs), un fichero JAR que es el que contiene la
biblioteca de funciones y un fichero de texto.
Antes de poder utilizar la
biblioteca debemos de configurar nuestro entorno para poder acceder a
ella. Vamos a ver como lo haríamos en caso de utilizar el
entorno de Eclipse o el Motodev Studio. En la
vista de explorador de proyectos, debemos de pulsar con el botón
derecho del ratón sobre el proyecto en cuestión, y en
el menú que nos aparece vemos que la última opción
es “Propiedades”, o pulsamos ALT+INTRO con el proyecto
seleccionado. Hecho esto nos aparecerá una ventana:
En esta ventana seleccionamos “Vía
de construcción Java”, y pulsamos sobre la pestaña
de “Bibliotecas”, una vez aquí pulsamos
sobre “Añadir JAR externos...”, y elegimos
el archivo JAR del SDK de Admob. Ahora ya podríamos
utilizar las funciones de la biblioteca de Admob, pero tendríamos
la pega de que no nos mostraría la ayuda Javadoc, así
que vamos a configurarla, para ello debemos seleccionar donde pone
“Ubicación de Javadoc”, y pulsamos sobre el
botón de “Editar...”, en la ventana que nos
aparece seleccionamos la ruta dónde instalamos (por ejemplo
“...GoogleAdMobAdsSdkAndroid-4.3.1/docs/”. En
caso de duda podemos pulsar el botón “validar”,
y nos dirá si es correcto.
Ahora ya podemos utilizar las
funciones de la biblioteca y acceder a la ayuda de sus funciones.
Añadiendo
el código para ver la publicidad
Nos falta añadir el código
necesario para añadir la publicidad. Al igual que otras cosas
en android, esta labor la podemos hacer a través de código
JAVA o a través de XML.
Utilizando
JAVA
Utilizando JAVA podemos añadir
la publicidad con el siguiente código (Sacado de la ayuda de
Admob):
public class MyActivity extends Activity {
private AdView
adView;
public void
onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Crear una
publicidad.
adView = new
AdView(this, AdSize.IAB_BANNER, "adUnitId");
// Crear una solicitud para la publicidad
AdRequest adRequest = new AdRequest();
// Añadimos el AdView a la jerarquía de las vistas. La vista no tendrá
// tamaño hasta que se carge la publicidad.
// Carga la publicidad en background.
adView.loadAd(adRequest);
}
public void onDestroy()
{
// Destruye la AdView
adView.destroy();
super.onDestroy();
}
}
|
Dónde pone “adUnitId”
debemos poner el ID de editor que nos ponía en la página
de Admob (Entre comillas), por ejemplo: “a234234blabla13x1c”
También debemos de añadir
las siguientes líneas de código al archivo
android-manifest.xml:
<activity
android:name="com.google.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"></activity>
|
NOTA:
Al añadir esta línea es posible que el entorno de
Eclipse/Motodev nos dé un error. Esto se debe a que el target
que tenemos para nuestra aplicación es anterior al que
necesita la biblioteca de AdMob. Para solventar este error, debemos
ir a propiedades
del proyecto (como
antes), pero ahora pulsamos en “Android”,
y
a la derecha, dónde pone “Project
Build Target”
seleccionamos la API 14 (Android 4.0) por ejemplo. (También
vale la versión de Android 3.2, target=android-13).
En caso de no tener esta API instalada, debemos de instalarla.
Otra
opción sería editar a mano el archivo
project.properties
y donde pone target=android-xx
poner
target=android-14.
Debemos
tener en cuenta de que si estamos haciendo pruebas, es mejor
indicarlo para que no nos baneen en la cuenta de Admob, para ello
realizaríamos el siguiente cambio en el código:
//Ahora
esto es para mostrar el banner:
adView
= new
AdView(this,
AdSize.BANNER,
MY_AD_UNIT_ID);
//
Buscar por el Layout
RelativeLayout
layout = (RelativeLayout)
findViewById(R.id.RelativeLayout1);
//
Añadimos esta vista al layout.
layout.addView(adView);
//Solicitud
de prueba:
if
(VALOR_DEBUG)
{
AdRequest
testAdRequest = new
AdRequest();
testAdRequest.addTestDevice(AdRequest.TEST_EMULATOR);
// Emulator
//Inicia
la solicitud (De prueba)
adView.loadAd(testAdRequest);
}
else
{
//En
caso de no estar depurando quitamos el modo test
adView.loadAd(new
AdRequest());
}
|
En
este caso el valor del ID de editor está en una constante
declarada en la ActividadGlobal,
“MY_AD_UNIT_ID”.
Y
no debemos de olvidarnos de darle permisos a la aplicación
para poder acceder a Internet, a la ubicación del GPS
(opcional)...etc... (En azul las obligatorias):
<uses-permission
android:name="android.permission.INTERNET"/>
<uses-permission
android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission
android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission
android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
Ver.
1.0 – Revisión 12/04/2012
No hay comentarios:
Publicar un comentario