Archivos

Explorando la monetización desde AdMob en soluciones nativas Android

En esta ocasión queremos compartir con ustedes la posibilidad de monetizar utilizando un enfoque de integración y desarrollo en una aplicación nativa Android.

Para este ejemplo vamos a utilizar un modelo de integración simple, en donde trabajamos un banner desde el entorno programático y como opción utilizando XML en el Layout.

Veamos la estructura de la aplicación propuesta desde la Fig. 1



Fig. 1 Estructura básica de la aplicación
Como podemos observar en la Fig. 1 tenemos dos activities que representan cada ejemplo de integración como comentamos en nuestra introducción.

En la Fig. 2 podemos observar el ejemplo más simple en donde utilizamos la visualización de un banner con un integración mediante XML en el Layout.


Fig.2 Código de integración para la opción de integración XML
Al utilizar el modelo de integración mediante XML en el layout debemos analizar en concreto donde ocurre, como decimos coloquialmente, la magia de programación. En este ejemplo utilizamos un objeto AdView en el Linearlayout para presentar el banner como muestra la Fig. 3.


Fig.3 Entorno de diseño para la activity de integración utilizada.
Ahora veamos el código XML de implementación:

Fig. 4 Código XML del Layout donde se presenta el objeto AdView
Nota: recuerden que en el atributo ads:adUnitId deben incluir el id del banner a visualizar.

Finalmente la aplicación funcionando, lo que todo desarrollador hace a diario, compilación y en este caso a visualizar en el emulador.


Fig. 5 Visualización de la aplicación y el menú de ejemplo.
También podemos ver en la Fig.6 el ejemplo concreto de implementación para la opción 1 en donde se realiza la integración de forma programática.


Fig. 6. Resultado de la integración mediante modelo programático.
También podemos ver en la Fig. 7 el resultado de la integración mediante XML.

 
Fig. 7 Resultado de la integración mediante XML
Referencias:


Nicolás es director de relaciones para desarrolladores en Latinoamérica región sur para Google. El ha desarrollado comunidades académicas y de investigación en varios países de Latinoamérica sobre la plataforma de desarrollo web y mobile de Google. Además Nicolas es profesor universitario, donde trabaja fuertemente en arquitecturas de software, ambientes emergentes e innovación en modelos de ingeniería de software

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.

Google Developers Hackademy: Introducción a Android SDK

Hace dos meses presentamos la segunda entrega de Google Developers Hackademy creada por +Enrique Díaz del GDG Androidtitlán. Con él nos iniciamos en Android SDK a través de 4 lecciones. Si no lo vieron en su momento, se perdieron alguno de los capítulos o quieren repasar lo que aprendieron, aquí les dejamos las cuatro lecciones en las que Enrique Díaz revisa los conceptos fundamentales de Android.
Pónganse cómodos, ¡comenzamos!
Sesión 1
Enrique Díaz inicia repasando la historia y crecimiento de Android, y analizando el futuro de este sistema operativo.


 
Sesión 2
Framework Android, Dalvik Debug Monitor Server y la creación de un dispositivo virtual usando Android Virtual Device Manager.
 

Sesión 3
Conocerán qué es un activity, cómo se implementa un fragment y cómo realizar un intent. Además, pondrán a prueba los conocimientos adquiridos en las lecciones anteriores.
 
 
Sesión 4
Apliquen todo lo aprendido y desarrollen su primera app Android. +Enrique Díaz les ayuda a revisar las partes fundamentales del código para ejecutarlas.
 


Te ayudamos a mejorar tu App Android

Desarrolladores de Android, si están en plena creación de un app y necesitan la opinión de un expertocontáctennos y les ayudaremos revisando su app y dándoles retroalimentación. 

Ya van más de 70 apps que han pasado por este proceso y muchas, gracias a su calidad, han llegado a estar en colecciones de la Google Play Store. Las siguientes incluso estarán en la colección “Lo mejor de 2013”:

  • Cine+ permite comprar boletos para cualquier cine en diferentes ciudades de México
  • Yogome con 2 apps de juegos educativos para niños: Recycle Heroe y Math Heroe 1
  • Linio para comprar online en esta tienda con envío a México, Colombia, Perú y Venezuela 
  • Call Timer que permite limitar la duración de las llamadas a aquellos cuyos planes de telefonía incluyen minutos gratuitos al inicio de cada llamada.
  • El juego de carreras Formula Cartoon

Si quieren que su aplicación sea exitosa, no duden en contactarnos.

Participa en AdMob Student App



Construye tu app para el reto AdMob Student App y gánate un increíble premio Google

¿Eres estudiante y te encanta programar o tienes una gran idea para una aplicación móvil? Puede que incluso estés creando una ahora mismo. Imagina que un día millones de usuarios pudieran ver tu aplicación.
Ahora te invitamos a hacer este sueño realidad. Participa en el reto AdMob Student App, un concurso de aplicaciones móviles abierto a estudiantes de cualquier parte del mundo. El objetivo es construir una aplicación (Android o iOS), generar flujo de ingreso usando publicidad in-app de AdMob, y escribir un reporte contándonos tu experiencia. Puedes participar tanto solo, como en un equipo de no más de 5 estudiantes.
Para ganar el reto necesitarás una gran aplicación y una gran estrategia de negocio enfocada en la gestión del proyecto, obtener usuarios y hacer uso de AdMob. En las próximas semanas anunciaremos  el jurado, que estará formado por importantes líderes de la industria de aplicaciones.

Los premios que están aguardando son increíbles.. El equipo ganador recibirá:
  • - Un viaje de 7 días a San Francisco con dinero para gastos y una visita a la sede de Google en Mountain View.
  • - La aplicación ganadora se exhibirá en la tienda Google Play y en sus redes sociales (ver condiciones).*
  • - La oportunidad de protagonizar un vídeo explicando cómo creaste la aplicación convirtiéndolo así en un caso de estudio.
  • - Un dispositivo Nexus 7 para cada miembro del equipo.

Además del equipo ganador global, habrá un equipo ganador por cada una de las cuatro regiones (Norteamérica, Latinoamérica, Europa, Oriente Medio y África, Asia Pacífico), que recibirán equipos informáticos y una mención honorífica en la web oficial de AdMob. 
Tienes desde hoy hasta el 31 de marzo de 2014 para crear la aplicación ganadora. Visita la web oficial de AdMob para saber más acerca de este reto y de cómo registrarte. Los ganadores se anunciarán en mayo de 2014.

Sigue AdMob en G+ para estar al tanto de cambios y anuncios.  
*Sólo aquellas aplicaciones que estén disponibles a través de la Play Store tendrán la oportunidad de ser exhibidas. Revisa el reglamento oficial (en inglés) para obtener mayor información. 

Publicado por Francisco Solsona, Developer Relations Regional Lead.

Android, pruebas de UI automatizadas utilizando UIAutomator

El desarrollo de interfaces de usuario en el ambiente móvil tiene una gran relevancia y desde el ambiente de desarrollo generalmente cuesta encontrar modelos automatizados para realizar operaciones de pruebas que nos aseguren el buen comportamiento siguiendo las líneas de diseño e implementación oficiales.

Introducción

En este artículo les voy a presentar una opción para las pruebas automatizadas de UI en Android.


Vamos a necesitar dos herramientas para realizar las actividades propuestas:
  • uiautomatorviewer herramienta gráfica que permite escanear la UI.
  • uiautomator - Librería Java que posee APIs para realizar los UI Test funcionales.

Como se muestra en la Figura 1, mediante uiautomatorviewer podemos tomar un snapshot y dump de la UI de un dispositivo. (podemos analizar desde luego aplicaciones o lo que se esté ejecutando en el momento)



Figura 1. uiautomatorviewer, explorando el dump de la interfaz
Para el ejemplo explicativo, vamos a utilizar solo una demostración simple para identificar elementos de la UI y generar un test simulando comportamiento del usuario de forma automatizada.


Detalles a tener en cuenta de la configuración del entorno:
  1. SO de ejecución. MacOS.
  2. Eclipse (en el caso del ejemplo. Kepler)
  3. Proyecto Java tradicional
  4. JUnit 3 para el ejemplo
  5. Referenced Libraries
    1. uiautomator.jar
    2. android.jar

**Recuerda que debes seleccionar la versión Android sobre la que vas a trabajar,  en el ejemplo API level 19 - Android 4.4 )

Vamos a codificar comportamiento simple como les comenté en la introducción donde identificaremos elementos de la UI básica de mi dispositivo como muestra la Figura 2.

Figura 2. Entorno Eclipse configurado.

Construyendo el test de UI y desplegando el mismo

Nuestro simple objetivo para este ejemplo será darle instrucciones al test para que verifique el comportamiento de un elemento que tenga como texto “Play Store”, vamos a simular un click y aguardar hasta inicie la operación como muestra el Código 1.

Código 1 - Método de prueba implementado.
Una vez codificada la operación de prueba, vamos a compilar esta solución. Para esta actividad lo vamos a realizar desde la consola mediante ant build.

Nota: recuerda que debes ejecutar este comando desde la ubicación del proyecto, como muestra la Consola 1.

Consola 1. Compilación de la solución codificada.
Con la aplicación compilada, vamos a desplegar la aplicación al dispositivo testingAndroid.jar utilizando adb push como pueden ver en Consola 2.
Consola 2. Desplegando el test codificado al dispositivo.
Luego vamos a implementar un shell para ejecutar el test y visualizar los resultados, como muestra la Consola 3.
Consola 3 Realización exitosa del test
Veamos que ocurre si el test falla, esta se puede observar en la Consola 4.
Consola 4 Validación de un test que falla.
Referencias
  • UI Testing, Android Developers, developers.android.com, noviembre 2013.
  • UIAutomator, Android Developers, developers.android.com, noviembre 2013.

De esta forma simple mediante las herramientas disponibles que no entrega el equipo de Android podemos hacer pruebas automatizadas de nuestras UI móviles en Android.

Les dejo una implementación paso a paso en el siguiente video:


Código fuente disponible aqui.

+Nicolas Bortolotti Perfil | Blog |
Nicolás es director de relaciones para desarrolladores en Latinoamérica región sur para Google. El ha desarrollado comunidades académicas y de investigación en varios países de Latinoamérica sobre la plataforma de desarrollo web y mobile de Google. Además Nicolas es profesor universitario, donde trabaja fuertemente en arquitecturas de software, ambientes emergentes e innovación en modelos de ingeniería de software



Devoxx: despedida y cierre

Llegamos con esta tercera entrega al final de la serie dedicada a la edición 2013 de la Devoxx.  La conferencia para desarrolladores de Java tuvo lugar durante la semana pasada en Amberes y durante estos días he ido reportando mis experiencias durante el evento (primera entrega y segunda entrega). En esta última entrega, recojo los dos primeros días de conferencia propiamente dicho, ya que si recordáis los dos anteriores han sido denominados university days.

El tercer y último día de conferencia, no pude asistir pero no olvidad que también podéis consultar el timeline de Twitter y el evento creado en Google+. Además, ya están disponibles algunas de las grabaciones de las conferencias; podéis encontrarlas en la sección correspondiente de la agenda.
Todas ellas son muy recomendables.

El primer día de conferencias se inició con el keynote de Java 8 a cargo de Mark Reinhold y Brian Goetz, que si bien fue muy interesante, ya habíamos ido conociendo algunas de las características de Java 8 en otras conferencias y los mismos speakers protagonizarían algunas otras charlas muy interesantes también durante ese día.

Durante ese mismo día, tuvimos la oportunidad de ver dos excelentes charlas a cargo de compañeros de Google. La primera fue la charla de Sam Duton sobre media APIs,  y como permiten el desarrollo de aplicaciones multi dispositivo. La segunda fue la charla de Nick Butcher sobre diseño de aplicaciones en Android, que por cierto tenéis ya disponible en video en el enlace de arriba.

El segundo día de conferencia resultó el más completo para mi. Arrancamos la jornada con la keynote sobre el futuro de la web a cargo de Lars Bak, donde se anunció la versión 1.0 de Dart. Pero eso fue solo el principio. De hecho, el equipo de Dart estuvo durante todo el día con una ritmo frenético de actividad[1][2][3]. La mañana finalizaba con un interesante caso de estudio desarrollado con Go, presentado por Francesc Campoy.

Ya durante la tarde, asistí a una de las charlas mas interesantes que vi durante toda la conferencia, a cargo de Mike West, sobre seguridad en navegadores. Esta también esta disponible ya para ver en video. Muy recomendable. Tras esta puede asistir a la presentación de Tom White sobre Hadoop, aunque me pareció muy plana, hasta el punto que me gusto más la parte de las preguntas que la presentación en si misma. También esta disponible en video ya.

La parte correspondiente a conferencias la finalizaría con la presentación de Devoxx4Kids, a cargo de Daniel de Luca y un grupo de voluntarios que han participado en el programa dirigido a niños. La presentación me pareció de lo mejorcito, ya que refleja un trabajo discreto, anónimo si queréis, pero de una importancia esencial para promover STEM y de resultados tangibles día a día. La iniciativas dirigidas a niños deberían de generalizarse ampliamente.

Mis últimos momento en la Devoxx 2013 fueron para el meetup de los GDGs. Fue estupendo compartir un rato con algunos de los organizadores que habían asistido a la conferencia. Y después de esto acabaron para mi las sesiones. Ni que decir tiene, que han sido unos días muy interesantes y espero que con esta breve serie de posts hayáis tenido la oportunidad de compartir de alguna manera mi experiencia. Si tenéis alguna consulta o sugerencia que hacerme, me podéis encontrar en Twitter o en Google+.

Nos vemos en la próxima.

Andres L. Martínez a.k.a almo   +almo | @davilagrau

Andrés a.k.a almo es responsable en Google de relaciones con desarrolladores en España.  Entre sus intereses se encuentran favorecer comunidades de desarrolladores de habla hispana, liderando programas estratégicos, contenidos de alta calidad para profesionales técnicos y favoreciendo un ecosistema alrededor de tecnologías software que incluya educación, empresas de base tecnológica e innovación social. Es además miembro asociaciones internacionales como IEEE, Computer Society y ACM.

Devoxx: Android performance y Funcional programming

Hoy de nuevo, un poco mas acatarrado, y exhausto de las numerosas actividades, os hago llegar noticias y experiencias personales del segundo día de Devoxx 2013. Si llegáis a este post por primera vez, recordaos que se trata de una secuencia sobre el Devoxx 2013. Aquí podéis consultar la primera entrega.

No olvidad que como siempre, al margen de estas notas, podéis seguir nuestra actividad en el evento de Google+ y en el timeline de Twitter.

Esta jornada, denominada University 2nd day, resulto maratoniana como siempre, estando repleta de charlas, workshop y meetups.

De las actividades a las que asistí durante el día yo destacaría los workshops:

El primero de los ponentes, Venkat, resulto ser un excelente comunicador. Durante tres horas, mantuvo el entusiasmo de la sala, realizando una excelente exposición sobre programación funcional comparativamente entre Java 8, Groovy y Scala.

Enfatizando en las facilidades que la programación funcional ofrece a la programación en multiprocesadores y el beneficio de la inmutabilidad de las variables, realizó numerosos ejemplos que ilustraron de este paradigma de programación. Algunas perlas que quedarán para la posteridad podrían ser: "var is a word of shame in Scala". Sin comentarios.
Una excelente presentación.

Respecto a la a la segunda de ellas, sobre rendimiento en Android, constituyó una densa exposición de los aspectos relacionados con gestión de memoria y prestaciones generales del sistema operativo Android. Durante la misma se ilustraron la importancia de una revisión de estos detalles durante los procesos de desarrollo. Sin afán de resumir toda su exposición, los ponentes dejaron algunos links útiles.[1][2][3].
Ahí tenéis material suficiente para las próximas vacaciones.

Además de estas charlas, asistí a algunas otras sobre análisis de datos, cloud computing o programación de sistemas embebidos. Estas resultaron muy interesantes, aunque más ligeritas, permitiéndome un respiro. Así pude dar una vuelta por la sección de expositores y ¡ay!  encontré el puesto de los libros técnicos. Y sin poder evitarlo, acaparé unos pocos que comparto con vosotros.


Finalmente, antes de dejar la conferencia, estuve echando un vistazo a algunos paneles de demostración de Arduino, Raspberry Pi y otros cacharros...
Espero que os guste la foto.

El día no puedo acabar mejor: organizamos una cena, a base de hamburguesas, con algunos desarrolladores de Europa.

Allí tuve la oportunidad de charlar sobre interesantes temas con Stephen Hoth y Hasan Hosgel.


Así pues, me despido por hoy.

Andres L. Martínez a.k.a almo   +almo | @davilagrau
Andrés a.k.a almo es responsable en Google de relaciones con desarrolladores en España.  Entre sus intereses se encuentran favorecer comunidades de desarrolladores de habla hispana, liderando programas estratégicos, contenidos de alta calidad para profesionales técnicos y favoreciendo un ecosistema alrededor de tecnologías software que incluya educación, empresas de base tecnológica e innovación social. Es además miembro asociaciones internacionales como IEEE, Computer Society y ACM.