lunes, 15 de octubre de 2012

Publicando aplicaciones Android (III)

En los capítulos I y II de nuestra mini guía para publicar aplicaciones Android hemos explicado respectivamente como generar un archivo .apk firmado digitalmente y como publicar una aplicación en Google Play. Llegados a este punto muchos desarrolladores quieren sacar algún rendimiento de su trabajo, monetizar su aplicación, lo cual es perfectamente razonable. Para ello hay dos estrategias:

  • Poner la aplicación de pago. Ya sea por unos pocos céntimos o por varios euros, si quieres poner tu aplicación de pago debes asegurarte antes de que tu aplicación aporta algo que ninguna otra hace. Sino lo más probable es que nadie la descargue.

  • Añadir publicidad a la aplicación. Esta estrategia suele ser la correcta para la mayoría de aplicaciones. Otra estrategia puede ser subir dos versiones de aplicación: una gratuita con publicidad y otra de pago, libre de publicidad.

Por ello en esta entrada voy a intentar explicar como añadir publicidad a una aplicación Android usando Google AdMob, la plataforma publicitaria para móviles que Google adquirió en 2010.

La propia Google tiene publicada una completísima guía para Android de anuncios de Google AdMob que, a diferencia del SDK oficial de Android, está disponible tanto en Español como en Inglés. Por ello aquí sólo vamos a comentar los aspectos más prácticos.

Primeros pasos.

Google AdMob usa una pequeña parte de la pantalla del dispositivo para mostrar anuncios publicitarios (Banners en inglés). Si el usuario pulsa sobre el banner es dirigido a un sitio web o bien a Google Play. El desarrollador cobra unos céntimos por cada clic hecho por un usuario en la publicidad.

Lo primero que habrá que hacer es registrarse en AdMob. Para ello hay que entrar en http://es.admob.com/ (o bien en http://www.google.es/ads/admob/), pulsar el botón Regístrese en AdMob y seguir los pasos. Teniendo una cuenta Google es muy sencillo.

Una vez nos hemos registrado en AdMob, habiendo introducido los datos de contacto, los datos de facturación y los datos legales (número de IVA, etc.) ya podemos crear nuestra primera campaña. Para ello lo primero de todo es tener subida una aplicación a Google Play. No es necesario que este publicada, pero sí que tiene que estar subida. Entonces entramos en AdMob con nuestro usuario y contraseña, vamos a Sitios y aplicaciones y pulsamos sobre Agregar sitio/aplicación.

En la pantalla Agregar sitio/aplicación pulsamos sobre el icono de Android e introducimos los datos que nos pide:

  • Nombre de la aplicación.
  • URL del paquete Android. La URL para localizar la aplicación en Google Play. Formato: market://details?id={nombre_paquete}
  • Categoría: Juegos, multimedia, Redes sociales, Herramientas, etc.
  • Descripción de la aplicación.
  • Anuncios Google. En esta opción se puede indicar si se quiere que además de los anuncios de la red AdMob se muestren anuncios de la red Google (igual que el programa Adsense) o si por el contrario sólo se desean anuncios de la red AdMob. Esto es a gusto de los desarrolladores. Yo prefiero anuncios de ambas redes.

Pulsamos Continuar y ya tendremos lista nuestra primera campaña publicitaria. Ahora sólo quedará añadir el código adecuado a nuestra aplicación Android.

Descargar AdMob SDK.

Entramos en AdMob, vamos a Sitios y aplicaciones, localizamos nuestra aplicación en la parte de abajo, pasamos el ratón por encima y aparecerá el botón Gestionar configuración. Lo pulsamos. En la nueva pantalla tenemos que copiar al portapapeles el ID de editor (publisher ID). Lo necesitaremos más tarde. Luego pulsamos Obtener código del editor. En la nueva pantalla habrá que pulsar el botón Descargar SDK AdMob para Android.

Esto nos descargará un archivo ZIP (GoogleAdMobAdsSdkAndroid.zip). Hay que extraer un archivo JAR (GoogleAdMobAdsSdk-6.1.0.jar) y copiarlo al disco duro.

Agregar AdMob SDK al proyecto Eclipse.

Abrimos Eclipse y en el explorador de proyectos pulsamos con el botón derecho del ratón sobre nuestro proyecto. Aparecerá el menú contextual. Entonces seleccionamos Build Path y luego Configure Build Path...

Elegimos la pestaña Libraries, pulsamos sobre Add External JARs... y elegimos el archivo JAR que copiamos anteriormente al disco duro (GoogleAdMobAdsSdk-6.1.0.jar).

Por último elegimos la pestaña Order And Export y marcamos la librería que acabamos de añadir. Este paso no lo pone en la guía de Google pero es fundamental hacerlo porque sino al ejecutar la aplicación obtendremos una excepción con el mensaje could not find class 'com.google.ads.AdView'.

Modificar AndroidManifest.xml.

Para que Google AdMob funcione tendremos que modificar el AndroidManifest.xml de nuestro proyecto para añadir permisos de acceso a Internet y agregar una actividad com.google.ads.AdActivity.

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

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

Añadir el banner a nuestro layout.

<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"
/>

Más información en la Guía oficial de Google AdMob para Android.

Restriciones del SDK.

Según la Guía de Google AdMob SDK, éste requiere Android v1.5 o superior y debe compilarse para Android v3.2 (target=android-13). Esto es un problema si estás desarrollando una aplicación compatible con versiones anteriores de Android, pero hay formas de solucionarlo.

Hemos intentado compilar el proyecto para Android v2.3 pero no funcionaba: en el lugar el anuncio salía un mensaje de error. En la red se pueden encontrar librerías AdMob antiguas compatibles con versiones anteriores de Android pero no parece demasiado recomendable usarlas.

Después de mucho investigar hemos descubierto que lo que hay que hacer para que Google AdMob SDK sea compatible con versiones de Android anteriores a la 3.2 es informar en AndroidManifest.xml que la versión mínima del SDK es por ejemplo Android-8 (2.2 Froyo).

<uses-sdk android:minSdkVersion="8" />

Esto puede hacer que Eclipse se vuelva un poco loco por lo que lo mejor es desarrollar y probar todo el proyecto y añadir la publicidad cuando esté todo hecho.

Enlaces.

P.D. Por cierto, no cuesta nada hacer clic de vez en cuando en las aplicaciones gratuitas que hemos descargado de Google Play. A los desarrolladores nos encanta pasar horas y horas depurando código para hacer aplicaciones decentes, pero no hemos aprendido a vivir del aire. Tenía que decirlo...

No hay comentarios:

Publicar un comentario