jueves, 8 de diciembre de 2011

Integrar Admob con AndEngine

Cuando creamos una aplicación para Android, en mi caso un juego, podemos decidir distribuirla gratuitamente y monetizarla a través de publicidad. Hay diversas plataformas para ello, pero quizás una de las más populares es Admob.

Para desarrollar el juego, he utilizado la libreria AndEngine, una librería que facilita mucho el desarrollo de juegos en 2D. En un futuro post entraremos en más detalle en ésta librería.

Hay diversos tutoriales por la red de como integrar Admob con tu aplicación Android, muchos de ellos incompletos, pero es complicado encontrar alguno que explique de forma clara como integrarlo con AndEngine.

Bien, generalmente la mayoría de tutoriales explican cómo integrar Admob modificando el archivo AndroidManifest.xml, main.xml y el código de tu Activity. La modificación del archivo main.xml se utiliza para indicar el Layout y cómo va a ir el banner de publicidad de Admob, sin embargo en nuestro caso vamos a prescindir de este paso y vamos a crear el Layout y el banner dinámicamente en el código de nuestra Activity.

Primero hay que modificar el archivo AndroidManifest.xml para indicarle los permisos necesarios y añadir la activity de Admob:





Una vez que ya tenemos nuestro AndroidManifest.xml modificado tenemos que modificar el código de nuestra Activity. Para ello debemos sobrescribir el método onSetContentView(), y debemos hacerlo en todas las Activities o pantallas en las que necesitemos que se muestre el banner de publicidad.
El método onSetContentView() quedaría de la siguiente manera:


























La linea que está señalada y en la que hay XXXXXXXXX es donde tenéis que poner vuestro ID que os proporciona Admob para que así sepan quien está solicitando la publicidad y os puedan asignar los importes que os correspondan.

La linea que está comentada sirve para hacer pruebas e indica que está en modo test. De este modo se muestra el banner pero no solicita publicidad real, así puedes ver donde está situado. El resto del código es sencillo y se puede jugar con el para cambiar la posición , tamaño, visibilidad, etc.

Con estos pasos ya casi tendríamos los anuncios funcionando, pero si ejecutáis, probablemente vereis en la pantalla de vuestro terminal o del simulador el siguiente error: "you must have AdActivity declared in AndroidManifest.xml with configChanges." Bien, esto es debido a que la librería Admob requiere la versión 13 del SDK de Android cuando compilemos. Esto es independiente de la versión mínima de Android que le hayamos indicado en el AndroidManifest. Para solucionarlo basta con ir al archivo Project.properties y cambiar el valor de la variable target a android-13. Yo en mi caso anteriormente tenía el valor android-7 y por eso me daba el error.


Ahora sí, ya está listo para funcionar. En mi caso tuve que ejecutar un par de veces porque no me aparecía nada, pero debía ser a que la primera vez tardó en sincronizarse con el servidor de Admob.


Ahora solo os queda promocionar bien vuestra aplicación para poder rentabilizar vuestra app hecha con AndEngine con la publicidad de Admob.


Suerte!

9 comentarios:

  1. Bienvenido y mucha suerte en tu nueva vida de blogger, para lo que necesites ya sabes donde estoy, un abrazo.

    ResponderEliminar
  2. Estupendo post, muy útil

    ResponderEliminar
    Respuestas
    1. Muchas gracias!. Espero publicar más artículos que te sean de utilidad!

      Eliminar
  3. Gracias,

    Buen tutorial.

    Sería bueno que las partes de código no fueran una imagen, ya que no hay manera de copiarlo...

    ResponderEliminar
  4. Podrías hacer un tutorías de como hacer juegos

    ResponderEliminar
  5. uffffff exelente hg el unico tuto en español por fa has un tutorial sencillo sobre admob en android realizandolo desde netbeans veo que la gente busca mucho eso y los tutos estan en ingles tu eres el unico que hace en español creo por que eres el unico que encontre seria mucho ayuda para mi y muchos usuarios y obvio para usted seria una gran cantidad de visitas espero su respuesta gracias

    ResponderEliminar
  6. Buenas tardes, acabo de seguir su tutorial y no consigo que se vea mi juego en el layout destinado para ello, se ve todo en negro.

    Muchas gracias.

    ResponderEliminar
  7. es el mismo del foro de andengine...

    ResponderEliminar
  8. Es un tutorial antiguo y no actualizado

    ResponderEliminar