jueves, 12 de abril de 2012

20.1.P. Android - Publicidad Admob


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