Publicado por Lily Sheringham, Marketing para desarrolladores de Google Play

Entre los servicios de Google Play Games se incluye Player Analytics, una herramienta de informes gratuita disponible en la Consola para desarrolladores de Google Play que te permitirá comprender la manera en que los jugadores progresan, gastan su dinero y migran. Ahora se puede ver el aspecto de Player Analytics con un ejemplo de implementación de servicios de Google Play Games: prueba el nuevo ...
Publicado por Lily Sheringham, Marketing para desarrolladores de Google Play

Entre los servicios de Google Play Games se incluye Player Analytics, una herramienta de informes gratuita disponible en la Consola para desarrolladores de Google Play que te permitirá comprender la manera en que los jugadores progresan, gastan su dinero y migran. Ahora se puede ver el aspecto de Player Analytics con un ejemplo de implementación de servicios de Google Play Games: prueba el nuevo ejemplo de juego en la Consola para desarrolladores de Google Play. Lo produjimos con la ayuda de Auxbrain, el desarrollador de Zombie Highway 2. En el ejemplo de juego se usan datos aleatorios y anónimos de un juego real, y también podrás probar las nuevas funciones que anunciaremos hoy. Ten en cuenta que necesitas una Cuenta de desarrollador de Google Play para acceder al ejemplo de juego.


Usa el análisis predictivo para atraer a los jugadores antes de que migren


Para ayudarte a comprender mejor el comportamiento de tus jugadores, extendimos la API de Player Stats de Player Analytics con funcionalidad predictiva. El método de predicción de migración de clientes brindará datos sobre las probabilidades de que el jugador migre (es decir, deje de jugar al juego), para que puedas crear contenido en consecuencia y que continúen usando tu juego. Además, el método de predicción de migración de clientes brindará información sobre las probabilidades de que el jugador gaste dinero. Por ejemplo, podrías ofrecer compras directas desde la aplicación con descuento o mostrar anuncios según esta información.

Crea gráficos en el nuevo informe de embudo para visualizar secuencias de eventos rápidamente


Este informe te permite crear un gráfico de embudo a partir de cualquier evento de secuencias, como logros, gastos y eventos personalizados. Por ejemplo, puedes registrar eventos personalizados para cada paso del flujo de un tutorial (p. ej., paso 1, 2 o 3 del tutorial) y luego usar el informe de embudo para visualizar los puntos de salida de tu tutorial.



Mide y compara el efecto de los valores acumulativos y cambios por usuarios nuevos con un informe de cohorte


El informe de cohorte te permite tomar cualquier evento, como una sesión, el gasto acumulativo y los eventos personalizados, y comparar los valores de eventos acumulativos por cohortes de usuarios nuevos. Esto proporciona información valiosa sobre el impacto de tus decisiones en el modelo de juego. Por ejemplo, puedes visualizar usuarios que comenzaron el día antes de que hicieras un cambio y el día posterior. Esto te permite medir y comparar el efecto de los cambios realizados. Por lo tanto, si duplicaste el precio de todos tus artículos en tu tienda dentro del juego, puedes ver si las sesiones acumulativas se iniciaron después de que el valor fuera inferior o superior al de los usuarios que comenzaron antes del cambio.



Actualización de SDK de C++ e iOS y del complemento de Unity, para admitir la API de Player Stats


Actualizamos los SDK de C++ e iOS, junto con el complemento de Unity, y todos ellos ahora admiten la API Player Stats. En ella se incluyen las estadísticas del jugador básico y las predicciones de gastos y migración. Asegúrate de probar el ejemplo de juego y buscar más información sobre los servicios de Google Play Games. También puedes encontrar consejos claves del desarrollador de juegos Auxbrain para ser exitoso en los servicios de Google Play Games.

Publicado por Philip Walton, Ingeniero de programas de desarrolladores


La Web ha cambiado mucho desde los primeros días de Google Analytics. Por entonces, la mayoría de los sitios web constaban de páginas individuales, y para pasar de una a la siguiente era necesario hacer clic en un vínculo y, con ello, una solicitud de página completa. Con sitios como estos, es posible realizar un seguimiento de la mayoría de las interacciones correspondientes de los usuarios a través de un solo ...
Publicado por Philip Walton, Ingeniero de programas de desarrolladores


La Web ha cambiado mucho desde los primeros días de Google Analytics. Por entonces, la mayoría de los sitios web constaban de páginas individuales, y para pasar de una a la siguiente era necesario hacer clic en un vínculo y, con ello, una solicitud de página completa. Con sitios como estos, es posible realizar un seguimiento de la mayoría de las interacciones correspondientes de los usuarios a través de un solo snippet de seguimiento de JavaScript universal.

Sin embargo, la Web de nuestros días es mucho más compleja y variada que antes. Además de los sitios web estáticos tradicionales, existen aplicaciones web completas. Las interacciones de los usuarios no se limitan a hacer clic en vínculos y enviar formularios, y una “vista de página” no siempre implica la carga completa de esta.

La Web ha cambiado, pero las implementaciones de análisis casi no lo han hecho. La mayoría de los usuarios de Google Analytics copian y pegan el snippet de seguimiento predeterminado y con eso basta. Saben que tienen más posibilidades con Google Analytics, pero a menudo no es prioritario tomarse el tiempo necesario para aprender.

El seguimiento automático para analytics.js es una solución nueva a este problema. Está pensada para intentar aprovechar la mayor cantidad posible de funciones de Google Analytics y, al mismo tiempo, exigir un trabajo de implementación manual mínimo. Ofrece a los desarrolladores una base para el seguimiento de datos importantes para la Web moderna.


Funciones


La biblioteca de seguimiento automático consta de una recopilación de complementos de analytics.js, lo cual facilita el uso total de esta tal como está y la selección de tan solo los complementos que necesitas. En las siguientes secciones se describen algunas de las funciones que se habilitan con el seguimiento automático.


Vínculo de salida y seguimiento de formularios


Cuando un usuario hace clic en un vínculo que lo dirige a otra página de un sitio, normalmente se envía desde esa página una coincidencia de vista de página una vez que el usuario se encuentra en ella. Debido a que existe una serie de vistas de páginas, Google Analytics puede determinar en el backend el punto hasta (y desde) el cual navegó el usuario. Sin embargo, si un usuario hace clic en un vínculo o envía un formulario a un dominio externo, no se capturará esta acción a menos que indiques a Google Analytics lo que sucedió.

Históricamente, ha resultado difícil implementar el seguimiento de vínculos de salida y formularios debido a que en la mayoría de los navegadores se interrumpe la ejecución de JavaScript en la página actual una vez que comienza a cargarse una nueva. El seguimiento automático se encarga de estas complicaciones, para que puedas acceder gratis al seguimiento de vínculos de salida y formularios.


Seguimiento de cambios en URL para aplicaciones de una página


Si creas una aplicación para una página que, en forma dinámica, cargue contenido y actualice la URL usando la API de historial, el snippet de seguimiento predeterminado no bastará; solo realiza un seguimiento de la carga de la página inicial. Aun cuando envíes vistas de páginas adicionales después de cargar contenido nuevo con éxito, es posible que de todos modos haya complicaciones.

El seguimiento automático detecta automáticamente cambios en URL hechos a través de la API de historial y los somete a seguimiento como vistas de páginas. También mantiene sincronizado el rastreador con la URL actualizada para que todas las coincidencias posteriores (eventos, interacciones sociales, etc.) se asocien con la URL correcta.


Seguimiento de eventos declarativos


A veces resulta más sencillo agregar un evento en forma declarativa al HTML que escribir manualmente un receptor de eventos en JavaScript. Un ejemplo de esto es el seguimiento de eventos de clic simples. Para el seguimiento de eventos de clic con el seguimiento automático, solo se deben agregar atributos a tu marcado.
 <button data-event-category="Video" data-event-action="play">Play</button>  
Cuando un usuario hace clic en el botón de arriba, se envía un evento con la categoría y la acción correspondientes (y, de manera opcional, la etiqueta y el valor) a Google Analytics.


Seguimiento de consultas de medios


En la mayoría de los sitios actualmente se usa un diseño receptivo para actualizar el diseño de la página según el tamaño de pantalla o las capacidades del dispositivo del usuario. Si se usan solicitudes de medios para modificar el aspecto o la funcionalidad de una página, es importante capturar dicha información para comprender mejor la diferencia en el uso cuando hay activas distintas solicitudes de medios.

El seguimiento automático te permite registrar el conjunto de valores de solicitudes de medios que usas y dichos valores se someten a seguimiento automático a través de dimensiones personalizadas. También realiza un seguimiento de los momentos en que dichos valores cambian. (Ten en cuenta que para el seguimiento de solicitudes de medios debes configurar dimensiones personalizadas en Google Analytics. El proceso solo lleva unos minutos y las instrucciones se encuentran desarrolladas en la documentación del complemento mediaQueryTracker).

Estas son solo algunas de las funciones que puedes habilitar al usar el seguimiento automático. Para hallar una lista completa de los complementos y las instrucciones para usarlos, consulta la documentación sobre el seguimiento automático en Github.


¿Quiénes deben usar el seguimiento automático?


Aunque cualquiera podría usar el seguimiento automático y beneficiarse con él, la biblioteca está orientada principalmente a sitios para los cuales no se personalice la implementación de análisis actual y se intente aprovechar la ventaja de las funciones descritas en este artículo.

Si planeas usar el snippet de seguimiento predeterminado hoy, debes considerar aplicar el seguimiento automático. Si ya dispones de una implementación predeterminada de Google Analytics, primero debes verificar la documentación para asegurarte de que ninguna de las funciones del seguimiento automático entre en conflicto y de que no se cuenten datos dos veces.


Próximos pasos


Para comenzar a usar el seguimiento automático, consulta la sección sobre uso de la documentación. Si deseas ver los datos capturados por el seguimiento automático, podrás verlo aplicado en el sitio de demostraciones de Google Analytics, el cual contiene una página con gráficos en los que se muestran sus propios datos de Google Analytics.

Si deseas dar un paso más, la biblioteca de seguimiento automático es de código abierto y puede convertirse en un excelente recurso de seguimiento. Lee el código abierto de complementos para comprender mejor el funcionamiento de las características avanzadas de analytics.js.



Por último, si tienes comentarios o sugerencias no dudes en comunicarlos. Puedes informar errores o transmitir problemas en Github.

Publicado por Joanna Smith, Representante de desarrolladores, y Giles Hogben, Equipo de privacidad de Google.



En Marshmallow, se presentaron varios cambios diseñados para que tu aplicación proteja los datos de los usuarios. El objetivo fue ayudar a los desarrolladores a hacer lo que corresponde. Con la puesta en marcha de Android 6.0, Marshmallow, te desafiamos a que lo hagas.
Publicado por Joanna Smith, Representante de desarrolladores, y Giles Hogben, Equipo de privacidad de Google.



En Marshmallow, se presentaron varios cambios diseñados para que tu aplicación proteja los datos de los usuarios. El objetivo fue ayudar a los desarrolladores a hacer lo que corresponde. Con la puesta en marcha de Android 6.0, Marshmallow, te desafiamos a que lo hagas.

En esta publicación se destacan los aspectos claves que deben tenerse en cuenta para ganarse la confianza de los usuarios en términos de permisos de tiempo de ejecución e identificadores de hardware, y se presenta documentación nueva sobre prácticas recomendadas a fin de aclarar el objetivo al que debes apuntar para tu aplicación.

Cambios en los permisos


Con Marshmallow, los permisos pasaron de la instalación al tiempo de ejecución. Este cambio es obligatorio para el SDK 23 y las versiones posteriores. Esto significa que se aplicará a todos los desarrolladores y todas las aplicaciones orientadas a Android 6.0. Deberás actualizar tu aplicación de todas formas. Por lo tanto, tu desafío será hacerlo a conciencia.


Los permisos de tiempo de ejecución hacen posible que tu aplicación ahora pueda solicitar acceso a información confidencial en el contexto en que se usará. Esto te da la posibilidad de explicar la necesidad de recibir permisos sin atemorizar a los usuarios con una lista larga de solicitudes.

Los permisos ahora también se organizan en grupos, de modo que los usuarios puedan tomar decisiones fundamentadas sin necesidad de comprender tecnicismos. Al permitir que tus usuarios tomen una decisión, estos pueden otorgar un permiso o revocar uno ya concedido. Por ello, tu aplicación debe manejar de manera prudente al manipular llamadas de API que exijan permisos probablemente denegados, y también debe tratar las fallas con eficacia para que tus usuarios puedan interactuar con el resto de ella.

Cambios de identificadores


El otro aspecto que genera confianza en los usuarios consiste en hacer lo que corresponde con sus datos. Con Marshmallow, estamos inhabilitando el acceso a determinadas clases de datos para guiar a los desarrolladores por este camino.Lo más destacado: las direcciones MAC de WiFi y Bluetooth ya no se encuentran disponibles. En adelante, el método getMacAddress() de un objeto WifiInfo y el método BluetoothAdapter.getDefaultAdapter().getAddress() devolverán 02:00:00:00:00:00.
Sin embargo, Google Play Services ahora ofrece Instance ID que identifican instancias de aplicaciones en ejecución en el dispositivo. Los Instance ID representan una alternativa confiable a los ID de hardware no restablecibles y con ámbito en dispositivos, ya que no persisten al restablecerse los ajustes de fábrica y se encuentran dentro del ámbito de instancias de aplicaciones. Para obtener más información, consulta el artículo de ayuda ¿Qué es Instance ID? del Google Developers blog.

Lo que viene


La confianza de los usuarios depende en gran medida en lo que estos ven y sienten. El manejo ineficiente de permisos e identificadores aumenta el riesgo de un seguimiento no deseado y puede transmitir la sensación de que el usuario no tiene importancia en tu aplicación. Por ello, y a fin de ayudarte, creamos nueva documentación con la cual los desarrolladores estarán seguros de que su aplicación dé a los usuarios el lugar que corresponde.
¡Disfruta del desarrollo! Qué tus aplicaciones transmitan felicidad a los usuarios, y qué las reseñas lo reflejen. :)

Publicado por Jamal Eason, Gerente de producto, Android


Android Studio 2.0 es la versión más reciente del IDE de Android y se centra en el rendimiento de compilación y la velocidad de emulación, a fin de mejorar la experiencia de desarrollo de aplicaciones. Con funciones nuevas como Instant Run (ejecución instantánea), que te permite editar y visualizar rápidamente cambios en los códigos, o el renovado y emulador de Android, Android Studio 2.0 es la actualización que no querrás perderte. Mientras se prepara la versión final, puedes descargar Android Studio 2.0 beta en el ...
Publicado por Jamal Eason, Gerente de producto, Android


Android Studio 2.0 es la versión más reciente del IDE de Android y se centra en el rendimiento de compilación y la velocidad de emulación, a fin de mejorar la experiencia de desarrollo de aplicaciones. Con funciones nuevas como Instant Run (ejecución instantánea), que te permite editar y visualizar rápidamente cambios en los códigos, o el renovado y emulador de Android, Android Studio 2.0 es la actualización que no querrás perderte. Mientras se prepara la versión final, puedes descargar Android Studio 2.0 beta en el canal de versiones beta. En términos generales, la versión de Android Studio 2.0 viene con muchas funciones nuevas entre las que se incluyen las siguientes:
  • *Actualizada para la versión beta* Instant Run hace posible un ciclo más rápido de edición de código e implementación de aplicaciones.
  • *Actualizado para la versión beta* Emulador de Android: emulador totalmente nuevo más veloz que la mayoría de los dispositivos reales. También cuenta con una interfaz de usuario completamente nueva.
  • *Actualizados para la versión beta* Integración y pruebas de indexación de aplicaciones de Google: la incorporación de indexación de aplicaciones a tu aplicación te permite volver a atraer a tus usuarios. En la primera versión preliminar de Android Studio 2.0, puedes agregar códigos auxiliares de indexación a tu código. Con la versión beta, ahora puedes probar y validar tus vínculos de URL en tu aplicación desde el IDE.
  • PDA rápido: la instalación e inserción de archivos ahora es 5 veces más rápida con Android Studio 2.0, gracias al Puente de Depuración Android (PDA) actualizado que se ofrece en platform-tools 23.1.0.
  • Vista previa del generador de perfiles de GPU: en aplicaciones con mucha demanda gráfica, ahora puedes recorrer visualmente tu código de OpenGL ES para optimizar tu aplicación o juego.
  • Integración de IntelliJ 15: Android Studio se basa en la eficaz plataforma de codificación de Intellij. Da un vistazo a las nuevas funciones de IntelliJ aquí.


A continuación, mira el último video de Tool Time sobre Android Studio para ver los aspectos destacados de las funciones.

Publicado por Uttam Kumar Tripathi, Director mundial, Programa para agencias de desarrolladores
Publicado por Uttam Kumar Tripathi, Director mundial, Programa para agencias de desarrolladores




El equipo de desarrolladores de Google respalda varios programas mundiales diseñados para contribuir al éxito de los desarrolladores. El objetivo de Google Developer Groups es crear e impulsar comunidades de desarrolladores a nivel mundial, mientras que Women Techmakers brinda visibilidad, una comunidad y soporte a las mujeres que se dedican a la tecnología. En otros ámbitos, Launchpad ofrece recursos para ayudar a los principiantes a lanzar y escalar sus aplicaciones. A través de todos estos programas, nuestra meta ha sido lograr, a escala mundial, un impacto positivo en la experiencia de los desarrolladores y principiantes al crear estos sus productos y aplicaciones, tanto en Google como en otras tecnologías de código abierto.

En el marco económico actual de las aplicaciones, las agencias de desarrolladores crean una gran cantidad de aplicaciones móviles y web a nivel mundial. Estas agencias satisfacen las necesidades de las grandes empresas y de los principiantes modestos al ayudarlos con creaciones que van desde pruebas de concepto hasta aplicaciones completas. Debido a que las agencias de desarrolladores desempeñan un papel central en el éxito del ecosistema de muchos mercados, fue muy importante crear un programa abarcador que brindara un soporte más dedicado.

Por ello, nos entusiasma anunciar nuestro nuevo Programa para agencias de desarrolladores de Google. A través de este programa, trabajaremos con agencias de desarrolladores de todo el mundo y les brindaremos acceso dedicado a capacitación y eventos, recursos personalizados en línea, prácticas recomendadas y soporte para desarrolladores. Por último, deseamos ayudar a las agencias a crear las aplicaciones y los productos de más alta calidad con tecnologías de Google. Esto garantizará que permanezcan a la vanguardia y brinden las mejores experiencias de uso de aplicaciones, para satisfacer las necesidades de sus clientes.

Próximamente, también ofreceremos un directorio de las agencias con las que trabajamos en nuestro sitio web. Si eres un cliente en busca de una agencia que te ayude con los requisitos de tu aplicación, podrás hallar fácilmente agencias aptas que dispongan de acceso a recursos de Google para trabajar.

El programa se implementará primero en la India, el Reino Unido, el Sudeste Asiático y los Estados Unidos. Planeamos expandirlo a más países durante el 2016. Para obtener más información sobre esta iniciativa y manifestar tu interés, visita developers.google.com/agency.

Publicado originalmente en el blog de la plataforma de Google Cloud por Benjamin Wulfe, Firebase

Firebase es una plataforma para crear aplicaciones móviles basadas en Android, iOS y la Web, y ofrece almacenamiento de datos y sincronización automática en tiempo real con diferentes dispositivos. ¿Qué sucede cuando es necesario ejecutar procesos de backend en los datos? Al conectar una aplicación de App Engine a tu base de datos de Firebase, puedes aplicar lógica compleja a los datos sin necesidad de administrar la sincronización y las actualizaciones. Firebase lo hace por ti. Las actualizaciones de la versión cliente de Android Firebase 2.4.0 facilitan el acceso a una base de datos de Firebase desde una aplicación de App Engine.
Publicado originalmente en el blog de la plataforma de Google Cloud por Benjamin Wulfe, Firebase

Firebase es una plataforma para crear aplicaciones móviles basadas en Android, iOS y la Web, y ofrece almacenamiento de datos y sincronización automática en tiempo real con diferentes dispositivos. ¿Qué sucede cuando es necesario ejecutar procesos de backend en los datos? Al conectar una aplicación de App Engine a tu base de datos de Firebase, puedes aplicar lógica compleja a los datos sin necesidad de administrar la sincronización y las actualizaciones. Firebase lo hace por ti. Las actualizaciones de la versión cliente de Android Firebase 2.4.0 facilitan el acceso a una base de datos de Firebase desde una aplicación de App Engine.


El tutorial Usar Firebase y Google App Engine en una aplicación de Android te ofrece los pasos para crear una aplicación de Android en la que se almacene una lista de tareas pendientes en Firebase y usa una lógica de backend en App Engine para enviar mensajes de correo electrónico de recordatorio diarios. En el proceso de trabajo del tutorial, aprenderás a usar las siguientes tecnologías:
  • Firebase: una plataforma que permite crear aplicaciones móviles y ofrece, entre otras posibilidades, almacenamiento de datos y sincronización en tiempo real, y autenticación de usuarios.
  • Android Studio: un entorno de desarrollo de Android basado en IntelliJ IDEA.
  • Herramientas de Android Studio para la nube: un conjunto de herramientas incluidas en Android Studio que se integran con los servicios de la plataforma de Google Cloud.
  • Google App Engine: un entorno de ejecución de códigos de aplicaciones en la nube. Plataforma como servicio (PaaS).



El nuevo LG Watch Urbane 2nd Edition LTE es el primer reloj con Android 6.0 Marshmallow ( API 23) para Android Wear. Actualmente, en todos los demás relojes Android Wear se usa la API 22 y en los próximos meses también recibirán una actualización de la API 23 por vía inalámbrica.


El nuevo LG Watch Urbane 2nd Edition LTE es el primer reloj con Android 6.0 Marshmallow (API 23) para Android Wear. Actualmente, en todos los demás relojes Android Wear se usa la API 22 y en los próximos meses también recibirán una actualización de la API 23 por vía inalámbrica.

¿Qué significado tiene esto para ti como desarrollador de Android Wear? Deberás asegurarte de que tus aplicaciones sean compatibles con relojes que tengan las API 23 y 22. Aunque puedes comenzar a implementar las nuevas funciones de esta publicación, deberás de todas formas conservar la compatibilidad con versiones anteriores hasta que se actualicen todos los relojes.

Nuevo modelo de permisos y ejemplos


A través de la API 23, se presenta un nuevo modelo de permisos de tiempo de ejecución para teléfonos y relojes. Este nuevo modelo permite a los usuarios seleccionar los permisos que se otorgarán a las aplicaciones en el momento del uso. A su vez, las configuraciones de los nuevos permisos permiten que los usuarios activen y desactiven permisos en cualquier momento.

Para usar el nuevo modelo de permisos en Wear, lee Permisos en Android Wear. En esta guía de capacitación, se tratan en profundidad situaciones relacionadas específicamente con Wear, como los casos en que tu aplicación de Wear se basa en permisos de teléfonos. A su vez, se actualizaron todos los ejemplos de Android Wear para que se use el nuevo modelo de permisos y, en un ejemplo de RuntimePermissionsWear, se muestra la manera de administrar solicitudes de permisos en los dispositivos.

Cuando estés listo, puedes actualizar tu aplicación en el teléfono y el reloj para que usen compileSdkVersion 23 ytargetSdkVersion 23. Asegúrate de verificar y solicitar los permisos necesarios en tu aplicación en el tiempo de ejecución, tanto en el teléfono como en el reloj. Es importante que no actualices targetSdkVersion a la versión 23 antes de implementar las verificaciones de permisos de manera adecuada, ya que esto cambia el modo en que el sistema instala y ejecuta la aplicación. Por ejemplo, una llamada de API que previamente pudo haber devuelto un resultado puede fallar y hacer que la aplicación se comporte de manera inesperada.




Calificadores de recursos -round y -notround




La API 23 facilita la creación de aplicaciones para relojes Android Wear redondos y cuadrados. Escuchamos sus comentarios y agregamos nuevos calificadores de recursos -round y -notround, a fin de que puedan usar el sistema de recursos para cargar las imágenes, los diseños y las cadenas correspondientes según el tipo de reloj con el que trabajen. También puedes combinar esto con calificadores de recursos existentes como -280dpi y -360dpi para los diferentes relojes Android Wear actualmente disponibles. Todas las clases existentes de la biblioteca de IU portátil, como WatchViewStub,BoxInsetLayout y WearableFrameLayout también continuarán funcionando, para que no necesites modificar tu código. Los calificadores de recursos -round y -notround no funcionarán en dispositivos con la API 22. Por lo tanto, no pienses que estarán disponibles hasta que todos los dispositivos cuenten con la API 23.
Relojes con altavoces

El LG Watch Urbane 2nd Edition LTE es el primer reloj con soporte para altavoces. Por ello, ahora puedes agregar sonidos a tu aplicación para Wear. Puedes reproducir archivos de audio usando las mismas API que están disponibles en teléfonos Android, como AudioTrack, MediaPlayer y ExoPlayer. Mira el ejemplo y lee la documentación para aprender a detectar la disponibilidad del altavoz en un dispositivo Wear y reproducir sonidos en él.

Soporte para procesadores Intel x86


Junto a otros relojes Android Wear futuros, el nuevo TAG Heuer Connected está equipado con procesadores Intel x86. Si trabajas exclusivamente con código Java, tus aplicaciones funcionarán en cualquier arquitectura. Sin embargo, si usas NDK, deberás proporcionar bibliotecas compartidas armeabi-v7a y x86 en tu APK portátil. Debido a que solo se puede contener una aplicación portátil en una aplicación para teléfonos, no es posible proporcionar diferentes APK para diferentes relojes según la arquitectura. Si en tu APK portátil falta una biblioteca x86, no se instalará en relojes de arquitectura x86 con INSTALL_FAILED_NO_MATCHING_ABIS y código -113.

Si usas Android Studio, deberás ajustar tu archivo build.gradle para incluir lo siguiente:
ndk {
  abiFilters = ['armeabi-v7a','x86']
}
Si usas el NDK directamente, deberás modificar tu archivo Application.mk para que use lo siguiente:
APP_ABI := armeabi-v7a x86
Estos cambios solo deben realizarse para el APK portátil, y puedes continuar ofreciendo soporte para otras ABI en los teléfonos. Puedes probar tu aplicación verificando si funciona en el emulador x86 proporcionado por el Administrador de SDK.

Emulador actualizado


Se encuentran disponibles nuevas imágenes del emulador de Android Wear para relojes con la API 23 y arquitectura x86 y se pueden descargar del Administrador de SDK en Android Studio. También agregamos perfiles que representan a todos los relojes Android Wear disponibles, para que puedas realizar pruebas fácilmente en cualquier dispositivo que desees. También es importante que comprendas y pruebes todas las combinaciones de teléfonos (API <= 22, API = 23) y dispositivos portátiles (API 22, API 23), a fin de que tu aplicación funcione para todos los usuarios.

Actualizaciones para relojes existentes


Las nuevas imágenes del emulador te permiten comenzar de inmediato a probar e implementar aplicaciones actualizadas para usuarios de relojes que tienen la API 23. Aún no se anunció el cronograma de actualización inalámbrica de relojes Android Wear existentes. Lo anunciaremos en la comunidad Google+ de desarrolladores de Android Wear. También te avisaremos cuando se complete la implementación y deje de ser necesario el soporte para la API 22 de Android Wear.

Publicado por Nathan Martz, Gerente de producto, Google Cardboard


Los humanos percibimos el sonido en todas las direcciones; por ejemplo, el de un camión de bomberos que pasa por la calle o el de un avión que nos sobrevuela. A partir de hoy, los SDK de Cardboard para Unity y Android admiten audio espacial. De esta manera, podrás crear experiencias de audio igualmente inmersivas en tus aplicaciones de realidad virtual (VR). Lo único que tus usuarios necesitan es su teléfono inteligente, auriculares comunes y un visor de Google Cardboard.
Publicado por Nathan Martz, Gerente de producto, Google Cardboard


Los humanos percibimos el sonido en todas las direcciones; por ejemplo, el de un camión de bomberos que pasa por la calle o el de un avión que nos sobrevuela. A partir de hoy, los SDK de Cardboard para Unity y Android admiten audio espacial. De esta manera, podrás crear experiencias de audio igualmente inmersivas en tus aplicaciones de realidad virtual (VR). Lo único que tus usuarios necesitan es su teléfono inteligente, auriculares comunes y un visor de Google Cardboard.

Logra el sonido que escuchas


En muchas aplicaciones se crean versiones simples de audio espacial al reproducir sonidos de los canales izquierdo y derecho en altavoces separados. Sin embargo, con las actualizaciones presentes del SDK, tu aplicación puede producir sonido tal como lo perciben los humanos. Por ejemplo:
  • En el SDK, se combinan la fisiología de la cabeza de un oyente y las posiciones de fuentes de sonido virtuales para determinar lo que escucha el usuario. Por ejemplo: los sonidos que provienen de la derecha llegarán al oído izquierdo de un usuario con un pequeño retraso y menos elementos de alta frecuencia (normalmente atenuados por el cráneo).
  • El SDK te permite especificar el tamaño y el material de tu entorno virtual. Estos dos elementos contribuyen a la calidad de un sonido determinado. De esta manera, puedes hacer que el sonido de una conversación en una nave espacial de espacio interno reducido y una caverna subterránea (y, no obstante, virtual) sea muy diferente.

Optimización para los teléfonos inteligentes de hoy


En el presente, creamos las actualizaciones pensando en el rendimiento; por lo tanto, agregar audio espacial a tu aplicación tiene un efecto mínimo en el CPU principal (donde tu aplicación realiza la mayor parte del trabajo). Estos resultados se obtienen de dos maneras:
  • El SDK se optimiza para CPU móviles (p. ej., instrucciones SIMD) y computa el audio en tiempo real en un subproceso separado. Por lo tanto, la mayoría del procesamiento tiene lugar fuera del CPU principal.
  • El SDK te permite controlar la fidelidad de cada sonido. Como resultado, puedes asignar más capacidad de procesamiento a los sonidos esenciales y, al mismo tiempo, restar énfasis a otros.

Integraciones simples y nativas


Comenzar a usar las nuevas funciones de audio del SDK es muy sencillo. Los desarrolladores de Unity encontrarán un conjunto abarcador de componentes para crear entornos sonoros en Android, iOS, Windows y OS X. A su vez, los desarrolladores de aplicaciones nativas de Android ahora contarán con una Java API simple para simular sonidos y entornos virtuales.

Experimenta el audio espacial en nuestra aplicación de ejemplo para desarrolladores



Prueba nuestra aplicación de ejemplo para Android (únicamente como referencia para desarrolladores), revisa la documentación del sitio para desarrolladores de Cardboard y comienza a experimentar con el audio espacial hoy. ¡Nos encantaría ver (y escuchar) las nuevas experiencias que crearás!

Publicado por Romain Vialard, Desarrollador experto de Google y desarrollador de Yet Another Mail Merge, un complemento de las Hojas de cálculo de Google.
Publicado por Romain Vialard, Desarrollador experto de Google y desarrollador de Yet Another Mail Merge, un complemento de las Hojas de cálculo de Google.



Google Apps Script facilita la creación y publicación de complementos para hojas de cálculo, documentos y formularios de Google. Ahora existen cientos de complementos disponibles y muchos están al alcance de cientos de miles de usuarios. Google Analytics es una de las mejores herramientas para conocer lo que mantiene atraídos a los usuarios y lo que debe mejorarse a fin de aumentar el éxito de un complemento.

Cookies e identificación de usuarios


Los complementos funcionan dentro de las hojas de cálculo, los documentos y los formularios de Google, donde pueden mostrar contenido en cuadros de diálogo o barras laterales. Estas interfaces personalizadas se brindan a través del servicio de HTML de Apps Script, que ofrece lenguaje HTML, CSS y JS con algunas limitaciones.

Las cookies, por ejemplo, no perduran. La de Google Analytics vuelve a crearse cada vez que un usuario abre de nuevo tu cuadro de diálogo o barra lateral, y en cada ocasión se crea un Id. de cliente nuevo. De esta manera, Google Analytics considera cada sesión nueva como si la iniciara un usuario nuevo. Esto significa que el número de sesiones y usuarios debe ser muy similar.



Afortunadamente, se puede usar localStorage para almacenar el Id. de cliente; este método es mejor y permite conservar información sobre el usuario en lugar de cookies. Después de este cambio, tus métricas relacionadas con los usuarios deberán ser más precisas.

Los complementos también pueden funcionar a través de desencadenadores y ejecutar código a un intervalo recurrente o cuando un usuario realiza una acción, como abrir un documento o responder a un formulario de Google. En algunos casos, no existen cuadros de diálogo ni barras laterales. Por lo tanto, debes usar el protocolo de medición de Google Analytics (consulta las políticas sobre el uso de este servicio) para enviar datos de interacción con el usuario directamente a servidores de Google Analytics a través del servicio UrlFetch de Google Apps Script.

En ese caso, también se necesita el Id. de cliente. Por ello, recomiendo usar el servicio de propiedades del usuario de Apps Script. En la mayoría de los ejemplos de la Web se muestra la manera de generar un Id. de cliente exclusivo por cada llamada a Analytics. Sin embargo, esto no te brindará un conteo preciso de usuarios.

También puedes enviar el Id. de cliente generado por este para el servidor, de modo que se use el mismo Id. de cliente para las llamadas de cliente y servidor a Google Analytics. Sin embargo, en este momento la mejor opción es confiar en el Id. de usuario opcional de Google Analytics. Aunque el Id. de cliente representa a un cliente o dispositivo, el Id. de usuario es único de cada cliente y puede usarse en complementos a medida que se autentican usuarios. Puedes generar un Id. de usuario en el servidor, almacenarlo entre las propiedades de usuario y volver a usarlo para cada llamada a Google Analytics (para el cliente y el servidor).

Dimensiones y métricas personalizadas


En los complementos, generalmente se emplea el seguimiento de eventos en lugar de las vistas de páginas. Es posible agregar diferentes parámetros en cada evento gracias a las categorías, las acciones, las etiquetas y el valor, pero también es posible agregar mucha más información usando dimensiones y métricas personalizadas.

Por ejemplo, el complemento Yet Another Mail Merge se usa mayormente para enviar mensajes de correo electrónico, y hemos agregado muchas dimensiones personalizadas para comprender mejor la manera en que se usa. Para cada campaña nueva (lote de mensajes de correo electrónico enviado), registramos datos vinculados con el usuario (p. ej., clientes que usan el servicio gratis o pagan por él, o usuarios de gmail.com o Google for Work/EDU) y datos vinculados con la campaña (p. ej., tamaño de mensajes de correo electrónico y activación o desactivación del seguimiento de correo electrónico). Puedes volver a usar esas dimensiones personalizadas dentro de informes y paneles personalizados.



Una vez que comiences a aprovechar todo eso, podrás obtener datos muy reveladores. Hasta octubre de 2015, Yet Another Mail Merge permitía enviar hasta 100 mensajes de correo electrónico gratis por día. Sin embargo, con Google Analytics descubrimos que la mayoría de las personas que enviaban más de 50 en una campaña de hecho enviaban 100 (la totalidad de la cuota gratuita a la que podían acceder), pero no pudimos motivarlos para que optaran por nuestro plan pago.





Como resultado de esta información, redujimos la cuota del plan gratuito a 50 mensajes de correo electrónico por día y al mismo tiempo incorporamos un programa de recomendaciones que permitió a los usuarios ampliar la cuota gratis (siguen sin pagar por el servicio, pero invitan a más usuarios; esto es interesante para nosotros). Con este cambio, mejoramos enormemente nuestros ingresos y escalamos el aumento de usuarios.

Por supuesto que también usamos Google Analytics para un seguimiento de la eficacia de nuestro programa de recomendaciones.

Para que comiences a obtener más información acerca de tus complementos, a continuación, mostramos algunas páginas relacionadas con documentación que disponemos sobre las herramientas descritas en esta publicación. Esperamos que esta información potencie el éxito de tus aplicaciones:





Publicado por Laurence Moroney, Representante de desarrolladores





App Invites, presentada en mayo de 2015, es una solución lista para usar que permite crear referencias de aplicaciones e incentivar el uso compartido. Hasta el momento, los resultados observados son muy positivos en términos del mejoramiento que la función implica para el descubrimiento de la aplicación. Mientras que un 52 por ciento de los usuarios descubre las aplicaciones a través de comentarios de boca en boca, el 92 por ciento de ellos confía en recomendaciones de familiares y amigos gracias a App Invites. En esta publicación, compartiremos algunas historias de éxito de empresas que ya usaron App Invites para hacer crecer su base de usuarios.




Publicado por Laurence Moroney, Representante de desarrolladores





App Invites, presentada en mayo de 2015, es una solución lista para usar que permite crear referencias de aplicaciones e incentivar el uso compartido. Hasta el momento, los resultados observados son muy positivos en términos del mejoramiento que la función implica para el descubrimiento de la aplicación. Mientras que un 52 por ciento de los usuarios descubre las aplicaciones a través de comentarios de boca en boca, el 92 por ciento de ellos confía en recomendaciones de familiares y amigos gracias a App Invites. En esta publicación, compartiremos algunas historias de éxito de empresas que ya usaron App Invites para hacer crecer su base de usuarios.


Fabulous es una aplicación basada en investigación que fue creada en el Centro de Deducción Avanzada (Center for Advanced Hindsight) de la Universidad Duke. La aplicación ayuda a los usuarios a restablecer hábitos negativos, reemplazándolos por costumbres saludables, con el objetivo final de mejorar la salud y aumentar el bienestar.


Los usuarios comenzaron a aprovechar App Invites dentro de la aplicación para compartir su experiencia con amigos y familiares. Las instalaciones de App Invites actualmente representan el 60 por ciento de todas las instalaciones de Fabulous a través de referencias. El uso compartido de clics aumentó un 10 por ciento una vez que se usó App Invites. En Fabulous, también se observó una mayor retención de usuarios, y se duplicó el valor del tiempo de vida de la aplicación en el caso de usuarios que dieron con ella a través de App Invites. En Fabulous, se simplificó la experiencia de usuario al combinarse los mensajes SMS y de correo electrónico en una única interfaz, lo cual permitió a los usuarios concentrarse en el uso compartido.

A su vez, en comparación con otros canales, se duplicaron las probabilidades de que los usuarios adquiridos a través de App Invites continuaran usando la aplicación.

Amine Laddhari, CTO de Fabulous, comentó: “Solo demoré unas horas en implementar App Invites. En cambio, esto llevó varios días cuando creamos nuestra propia solución. ¡Fue muy fácil!”

Puedes ver el estudio de caso completo de Fabulous aquí.


Yummly, una plataforma de búsqueda de comida en la que se considera el acto de cocinar como una experiencia personalizada y compartible, buscaba expandir su base de usuarios y generar conciencia sobre la plataforma Android. La plataforma agregó App Invites para que los usuarios pudieran recomendar la aplicación a familiares y amigos, e incorporó una funcionalidad para compartir recetas específicas, ideas para la cena o listas de compras.


Con App Invites, los creadores de Yummly descubrieron que los índices de instalación eran un 60 por ciento superiores en comparación con otros canales de uso compartido.Asimismo, en Yummly pudieron aprovechar la integración fluida de Google Analytics. Es el único canal de uso compartido que cuenta con esta integración. Esto permite un seguimiento preciso de datos como el número de invitaciones enviadas y aceptadas, y de instalaciones resultantes.

Melissa Guyre, Gerente de producto de Yummly, comentó: “El proceso de integración de App Invites se realizó sin inconvenientes. Una función destacable es el excelente enlace de seguimiento con Google Analytics”.

Puedes ver el estudio de caso completo de Yummly aquí.



App Invites se encuentra disponible para Android o iOS, y puedes conocer la manera de integrarla a tus propias aplicaciones en g.co/appinvites.

Publicado por Johnny Lee, Gerente de proyectos técnicos, Project Tango
Hoy, en la CES, Lenovo anunció el desarrollo del primer teléfono inteligente para consumidores que cuenta con Project Tango. Al agregar algunos sensores adicionales y software de visión por computadora, Project Tango transforma tu teléfono inteligente en un lente mágico que te permite introducir información digital en tu mundo físico.



*Las imágenes son solo representativas. El dispositivo Lenovo que se muestra no es el oficial.

A fin de impulsar el crecimiento continuo del ecosistema, también invitamos a los desarrolladores de todo el mundo a proponer ideas para aplicaciones de juegos y utilitarias creadas con Project Tango. Como parte del incubadora de aplicaciones, seleccionaremos las mejores ideas, y ofreceremos financiación y soporte de ingeniería para poder concretarlas. Algo mejor aún: las aplicaciones terminadas se incluirán en el próximo dispositivo de Lenovo. El período para envíos finaliza el 15 de febrero de 2016.

Solo debes transmitirnos tu idea y explicar la manera en que las tecnologías de Project Tango harán posibles nuevas experiencias. Asimismo, te solicitaremos que incluyas los siguientes materiales:
  • Un cronograma del proyecto en el que se incluyan elementos claves para el desarrollo. Convocaremos a los desarrolladores seleccionados el 15 de marzo de 2016.
  • Bocetos visuales de tu idea en los que se incluyan diseños.
  • Capturas de pantalla y videos de aplicaciones de teléfonos inteligentes; por ejemplo, secuencias fílmicas capturadas de aplicaciones.
  • Información textual que incluya; entre otras opciones, guiones gráficos.
  • Una descripción de tu equipo y sus miembros.
  • Un documento de una página en el que presentes la cartera pasada de tu aplicación y el perfil de tu empresa.
A modo de inspiración, Lowe's Home Improvement se asoció con el desarrollador Elementals Web con el propósito de mostrar un caso de uso en el que cada uno trabaja para el lanzamiento. Con la aplicación, puedes apuntar tu teléfono inteligente compatible con Project Tango dentro de tu cocina para ver, en una proyección virtual, el lugar en el que podrían caber un refrigerador o un lavaplatos.
En otros espacios, el desarrollador Schell Games te permite jugar con amigos a un Jenga virtual sobre cualquier superficie. En este caso, no es necesario acomodar los bloques cuando caen.


También hay fabulosas aplicaciones destacadas para Project Tango en Google Play. Puedes elegir tu propio Kit de desarrollo para tablets con Project Tango aquí a fin de concebir nuevas experiencias divertidas e inmersivas que usan el espacio que te rodea.¡Inscríbete ahora!

Publicado por Stuart Morgan, Ingeniero de software y controlador de tareas de migración de WebView.


La representación fuera del proceso fue una de las innovaciones más tempranas de Chrome, y siempre deseamos acercar sus beneficios a nuestros usuarios de iOS. Desafortunadamente, UIWebView, el componente empleado para representar páginas web en iOS, se encuentra en proceso; así que la representación antes no era posible. La presentación de WKWebView en iOS 8 nos brindó esa oportunidad, aunque la migración al nuevo marco trajo consigo importantes ...
Publicado por Stuart Morgan, Ingeniero de software y controlador de tareas de migración de WebView.


La representación fuera del proceso fue una de las innovaciones más tempranas de Chrome, y siempre deseamos acercar sus beneficios a nuestros usuarios de iOS. Desafortunadamente, UIWebView, el componente empleado para representar páginas web en iOS, se encuentra en proceso; así que la representación antes no era posible. La presentación de WKWebView en iOS 8 nos brindó esa oportunidad, aunque la migración al nuevo marco trajo consigo importantes desafíos. En Chrome 48, realizamos un cambio de UIWebView a WKWebView, lo que aportó notables mejoras en la estabilidad, la velocidad, la respuesta y la compatibilidad con la Web.


El mayor cambio tiene que ver con la estabilidad: gracias a la representación fuera del proceso de WKWebView, cuando la vista web se bloquee o se quede sin memoria no desactivará Chrome por completo. Como resultado, Chrome se bloquea un 70 % menos con WKWebView. Incluso teniendo en cuenta la página “Aw, Snap!” (que aparece al bloquearse el representador), la mejora es notable.

Aparte de la estabilidad, WKWebView brinda muchos otros beneficios. La compatibilidad con la Web mejora gracias a la compatibilidad con funciones como IndexedDB, lo que aumenta la puntuación de HTML5test de 391 a 409 para Chrome en iOS. El cambio a pestañas en segundo plano generará un 25 % menos de recargas de páginas. La velocidad de JavaScript en benchmarks (puntos de referencia) como Octane es superior en un orden de magnitud y el desplazamiento tiene una mejor y mayor respuesta.



El equipo de Chrome está comprometido con mejorar la estabilidad y el rendimiento. Esperamos que disfrutes de estos cambios y nos esforzamos por mejorar más aun tu experiencia de exploración en iOS.

Publicado por Laurence Moroney, Developer Advocate

Publicado por Laurence Moroney, Developer Advocate


El envío de mensajes a través de la nube de Google (Google Cloud Messaging, GCM) es una tecnología que provee un servicio de mensajería simple y confiable para dispositivos. Durante los últimos seis meses se ha duplicado el número de mensajes que administra GCM: 150 mil millones por día, y el número de aplicaciones ha crecido un 25 %, hasta 750 000. Teniendo en cuenta este crecimiento, continuamos mejorando el servicio con varias actualizaciones útiles para los desarrolladores.

GCM es compatible con mensajería por temas: una forma simple de segmentar los dispositivos de tus usuarios en grupos, y enviarles mensajes a todos los integrantes de ese segmento al mismo tiempo. Nos complace anunciar que ahora puedes publicar temas gratis para tu aplicación, sin ningún tipo de límite. Esto significa que los desarrolladores de aplicaciones pueden colocar un número ilimitado de dispositivos dentro de cada tema y también crear un número ilimitado de temas.


Moovit utiliza los temas para escalar

Moovit, una comunidad de más de 30 millones de usuarios, ayuda a mejorar el tránsito urbano a nivel mundial. Por medio de la utilización de GCM, Moovit ha sido capaz de crear más de 60 000 temas para ayudar a los usuarios en cada ciudad a navegar a través del desordenado tránsito diario.

«Comenzamos a utilizar GCM para potenciar nuestra infraestructura de envío automático de información de una manera eficiente y sin interrupciones. GCM no solo nos ayuda a enviar actualizaciones en tiempo real a una gran cantidad de decenas de millones de usuarios, manteniéndolos informados sobre cualquier información de tráfico que necesitan para facilitar su viaje de ida y vuelta al trabajo, sino que también nos permite ahorrar tiempo extra o energía en el desarrollo de una infraestructura para realizar envíos internos. Los temas de GCM nos permiten enviar mensajes a usuarios en cientos de ciudades en todo el mundo, con soporte multiplataforma para iOS y Android».

Por ejemplo: Los usuarios del servicio de subterráneos de Londres se vieron afectados por las huelgas que alteraron el funcionamiento normal del servicio. Moovit tiene una audiencia global, pero solamente se notificó a los afectados, dado que Moovit utilizó mensajería por temas de GCM para dar aviso solamente a aquellos que lo necesitaban.


National Public Radio (NPR) utiliza temas para personalizar las noticias


NPR es una organización multimedios y productora de programas radiales en Estados Unidos. Para poder llegar eficientemente a sus usuarios, NPR envía y programa notificaciones personalizadas a sus oyentes a través de su aplicación NPR One. Por ejemplo, si escuchaste la entrevista a Aziz Ansari en el programa All Things Considered, y querías volver a escucharlo, podías suscribirte al tema "Aziz Ansari" y recibir una notificación cuando apareció en el podcast Hidden Brain. Puedes suscribirte de la misma manera a otros temas como las elecciones de 2016, las mujeres en las zonas de combate o la Happy Hour de la cultura pop.



Tejas Mistrly, gerente de productos móviles de NPR, describió cómo utilizan los temas: «Con la mensajería por temas de GCM, NPR es capaz de enviar y programar notificaciones personalizadas para nuestros oyentes en NPR One. La mensajería por temas de GCM nos brinda un conjunto de herramientas que nos permiten enviar las notificaciones más eficientes que se conectan con nuestra aplicación de radio, ya sea para escuchar las noticias más recientes o para contar una historia de un podcast recomendado de la radio pública».


Nuevas API para la administración de temas de GCM


Además de contar con temas gratis sin límite y la actual API del lado del cliente, lanzamos un nuevo paquete deAPI del servidor que te permiten administrar suscripciones a mensajes. Las nuevas API te facilitan la suscripción/dada de baja en forma individual o por lotes, como también la recuperación de información sobre suscripciones actuales según el dispositivo. Estamos seguros que la API del lado del servidor es una gran herramienta que te ayudará a reducir las dificultades de cada distribución, y te permitirá simplificar el proceso de administración y migración de suscripciones a medida que tu aplicación crece.

Para más información sobre el envío de mensajes a través de la nube de Google, visita el sitio de desarrolladores de Google donde podrás aprender más sobre cómo desarrollar para esta tecnología y, además, descargar implementaciones de ejemplo. También podrás encontrar una implementación con referencias completasdisponible en GitHub y en la herramienta de Diagnóstico de GCM para cuando necesites resolver algún problema.

Publicado por Laurence Moroney, Developer Advocate

Publicado por Laurence Moroney, Developer Advocate


En octubre, publicamos una entrada del blog sobre cómo funciona el envío de mensajes a través de la nube de Google (Google Cloud Messaging, GCM) con Doze en Android 6.0 Marshmallow para mejorar el desempeño y la utilización del usuario. En este caso, los mensajes con prioridad normal le permiten al dispositivo permanecer en modo Doze, mientras que los mensajes con prioridad alta sacan al dispositivo del modo Doze. Para conseguir un buen ejemplo de su capacidad y prácticas recomendadas en Android, hablamos con el equipo de ingeniería de Twitter.

Twitter ha llevado a cabo una investigación exhaustiva sobre cuáles mensajes deberían recibir una prioridad alta, dado que esta prioridad puede despertar a un dispositivo en suspensión. Para conseguir realizar esta necesidad particular, Twitter quería que los mensajes directos se envíen con una prioridad alta y las menciones quedarían establecidas con prioridad normal.

Luke Millar, gerente de ingeniería de Android en Twitter comentó: «con Android M tenemos la gran habilidad de ser responsables cuando se trata de ahorrar batería. Esta función nos permite especificar cuáles notificaciones despertarán a un dispositivo en suspensión y cuáles no. Normalmente, la decimos a GCM que espere para enviar notificaciones automáticas hasta la próxima vez que el teléfono del usuario se despierte. Sin embargo, los usuarios esperan recibir algunas notificaciones automáticas inmediatamente, como las notificaciones de mensajes directos, así que las establecimos como de alta prioridad. Es genial tener la posibilidad de especificar cuándo y cómo esas notificaciones llegarán a los usuarios».

Para probar Doze, los ingenieros de Twitter siguieron los pasos descritos en el sitio de desarrolladores de Android. Estos pasos te enseñan a usar comandos adb para crear una simulación de Doze en un dispositivo físico o virtual. Al seguir este método, Twitter pudo probar de forma exitosa cómo funcionan sus prioridades de mensajes en un entorno real.

Otra práctica recomendada que Twitter utilizó fue la transmisión de cargas más grandes, como cuando se envían los Destacados de Twitter. En este caso, decidieron enviar metadatos en la notificación, que luego se utilizaba para sincronizar la aplicación para conseguir los Destacados solicitados. En otras palabras, no transmitían el contenido de los Destacados en una notificación, sino que activaban un mecanismo de sincronización para actualizar los contenidos de la aplicación.

Para conocer más detalles sobre el uso de GCM con tu aplicación en entornos de espera, consulta la documentación.
Puedes encontrar más información sobre Google Cloud Messaging y cómo utilizarla en las notificaciones de tus aplicaciones de Android, iOS y web, en el sitio de desarrolladores de Google, aquí.

Publicado por Aditya Tendulkar, Gerente de producto, Google Mi Negocio


Google Mi Negocio ayuda a las empresas del mundo a conectarse con sus clientes al buscarlos en Google.
Publicado por Aditya Tendulkar, Gerente de producto, Google Mi Negocio


Google Mi Negocio ayuda a las empresas del mundo a conectarse con sus clientes al buscarlos en Google. 
Hoy, presentamos la API de Google Mi Negocio. Esta API permite que grandes empresas y terceros realicen una integración más sencilla con la plataforma de Google Mi Negocio y publiquen actualizaciones para clientes en la Búsqueda de Google y Google Maps. 

Por ejemplo, ahora puedes configurar tus horarios especiales para los días festivos y actualizarlos en todas tus ubicaciones usando la API de Google Mi Negocio.
A través de la API de Google Mi Negocio, los desarrolladores pueden:


A continuación, mostramos un ejemplo de una función de Java con la que se crea una nueva ubicación y se configuran horarios de atención especiales para días festivos:

public static Location createLocation(String accountName) throws Exception {
  Location location = new Location();

  // Street address
  Address address = new Address();
  List addressLines = Arrays.asList("740 Valencia Street");
  address.setAddressLines(addressLines);
  address.setLocality("San Francisco");
  address.setAdministrativeArea("CA");
  address.setCountry("US");
  address.setPostalCode("94110");
  location.setAddress(address);

  // Business hours
  BusinessHours businessHours = new BusinessHours();
  List periods = new ArrayList<>();
  List days = Arrays.asList("Monday", "Tuesday", "Wednesday", "Thursday", "Friday");
  for (String day : days) {
    TimePeriod period = new TimePeriod();
    period.setOpenDay(day);
    period.setOpenTime("11:00");
    period.setCloseTime("20:00");
    period.setCloseDay(day);
    periods.add(period);
  }
  businessHours.setPeriods(periods);
  location.setBusinessHours(businessHours);

  // Special hours
    Date christmasEve = new Date().setYear(2015).setMonth(12).setDay(24);
    Date christmasDay = new Date().setYear(2015).setMonth(12).setDay(25);
    List periods = new ArrayList<>();
    periods.add(new SpecialHourPeriod()
        .setStartDate(christmasEve)
        .setOpenTime("11:00")
        .setCloseTime("20:00")
        .setEndDate(christmasEve));
    periods.add(new SpecialHourPeriod()
        .setStartDate(christmasDay)
        .setIsClosed(true));
   SpecialHours specialHours = new SpecialHours()
        .setSpecialHourPeriods(periods);

  location.setSpecialHours(specialHours);

  location.setLocationName("Dandelion Chocolate");
  location.setStoreCode("DC1");
  location.setPrimaryPhone("415 349-0942");
  location.setPrimaryCategory(new Category().setCategoryId("gcid:chocolate_shop"));
  location.setWebsiteUrl("https://www.dandelionchocolate.com/");

  // Create Location
  CreateLocationRequest createLocationRequest = new CreateLocationRequest();
  // RequestId is a unique id for each location created
  createLocationRequest.setRequestId(“1a84939c-ab7d-4581-8930-ee35af6fefac”);
  createLocationRequest.setLocation(location);
  createLocationRequest.setLanguageCode("en-US");
  Mybusiness.Accounts.Locations.Create createLocation =
      mybusiness.accounts().locations().create(accountName, createLocationRequest);

  Location createdLocation = createLocation.execute();

  System.out.printf("Created Location:\n%s", createdLocation.toPrettyString());
 
  return createdLocation;
}

Al configurar horarios de atención especiales en Google Mi Negocio, comunicaremos a los clientes que verán horarios de apertura específicos de los días festivos en Google:

Para obtener más información sobre la API de Google Mi Negocio y solicitar acceso, visita nuestra página para desarrolladores.
¿Tienes dudas o comentarios? Comunícate con el equipo de la API en el foro de la API de Google Mi Negocio.

Publicado originalmente en el blog de publicadores de DoubleClick by +Juan Irungaray


Los usuarios continúan probando plataformas y pantallas. Actualmente, más de la mitad de las solicitudes de nuestra plataforma proviene de dispositivos móviles, tanto de la Web móvil como de aplicaciones. El equilibrio entre monetizar tu aplicación y brindar una buena experiencia de usuario sigue siendo complejo y, no obstante, fundamental.
Publicado originalmente en el blog de publicadores de DoubleClick by +Juan Irungaray


Los usuarios continúan probando plataformas y pantallas. Actualmente, más de la mitad de las solicitudes de nuestra plataforma proviene de dispositivos móviles, tanto de la Web móvil como de aplicaciones. El equilibrio entre monetizar tu aplicación y brindar una buena experiencia de usuario sigue siendo complejo y, no obstante, fundamental.

Ayer, hicimos hincapié en las maneras de crear una aplicación de alta calidad para tus usuarios. Continúa leyendo para reunir recomendaciones de Mark Wolly, Jefe de soluciones para publicadores móviles de Google, sobre la monetización de aplicaciones y para hallar un punto medio ideal entre la monetización eficaz y una buena experiencia de usuario.


1. Crea anuncios que respeten la experiencia de usuario que ofrezcas: la publicación adecuada de anuncios garantiza ingresos confiables sin sacrificar la experiencia del usuario. Examina el flujo de atracción de usuarios dentro de tu aplicación para publicar anuncios en sitios sin interrupciones, como los puntos de transición en una aplicación para lectura. Puedes experimentar con la frecuencia y las publicaciones de tus anuncios para garantizar la experiencia adecuada en el contexto adecuado para el usuario. Trata de evitar que queden entre el contenido de tu aplicación interactiva y los botones de navegación y menú.

2. Elige los mejores formatos de anuncios para la estructura del contenido de tu aplicación: los usuarios pueden fácilmente distraerse con anuncios debido al tamaño limitado de las pantallas, en especial cuando no coinciden con el aspecto de tu aplicación.
Intenta usar anuncios nativos para crear un aspecto uniforme en tu contenido y tus anuncios. Existen más probabilidades de que los usuarios puedan visualizar y seleccionar estos anuncios, cuyo formato se adecua al contenido de las aplicaciones móviles y al diseño visual. eBay comenzó, hace poco, a usar nuestros anuncios nativos en DoubleClick y experimentó un aumento promedio de 3,6 veces en la atracción por anuncios. En algunas campañas, también se observaron tasas de clic de hasta un 5 %.

Mark cree que “los anuncios nativos representan la oportunidad de establecer un nuevo punto de partida en la producción de publicaciones móviles y creaciones de primera calidad para plataformas móviles. Muchos publicadores ya crearon formatos personalizados para ventas directas, pero aún no extendieron su alcance como tales a través de canales programáticos”.

3. Crea tu estrategia programática directa: al permitirte acceder a formatos creativos de alta calidad a través de publicadores premium, el sistema programático directo presenta nuevos presupuestos de publicadores para tu aplicación y facilita las operaciones. Como lo explicó Mark: “Muchos publicadores han creado increíbles formatos móviles personalizados que ordenan CPM elevados de anunciantes de alta calidad. Pueden extender enormemente su alcance como anunciantes y, al mismo tiempo, retener los mismos CPM y el mismo control al ofrecer estos formatos a nuevos anunciantes a través de canales programáticos”.


Existe un cambio fundamental entre los consumidores en términos del uso de plataformas móviles, lo cual despeja toda duda sobre el hecho de que las aplicaciones tienen un papel importante en la experiencia móvil de un consumidor. En tiempos en los que los usuarios que tienen acceso a través de plataformas de escritorio aumentaron un 1 %, la cifra de los que emplean plataformas móviles experimentó un sorprendente aumento del 41 %1.

En nuestro Mobile Bootcamp, se describen los pasos principales para mejorar a tiempo tus ofertas móviles para los días festivos y el furor por las aplicaciones típico de esta temporada, centrándose en temas como formas de aumentar la posibilidad de descubrir aplicaciones, comprender la interacción de los usuarios, optimizar la calidad de las aplicaciones y monetizar de manera eficaz tu aplicación.

Publicado originalmente en el blog de publicadores de DoubleClick by +Juan Irungaray
Publicado originalmente en el blog de publicadores de DoubleClick by +Juan Irungaray




En este punto, habrás terminado de leer nuestras recomendaciones para aumentar el público de tu aplicación y mantener atraídos a los usuarios. Sin embargo, también hay aspectos técnicos que pueden contribuir al éxito o al fracaso de tu aplicación. La velocidad, por ejemplo, es fundamental: los usuarios esperan que la respuesta de las aplicaciones demore menos de un segundo.

En el último post brindamos recomendaciones para atraer y retener a tus usuarios. Continúa leyendo y accede a los consejos de Dev Gogate, Administrador de soluciones móviles de Google, para brindar a tus usuarios una aplicación de alta calidad.
  1. Cuanto más pequeña sea la aplicación, mejor será el resultado: Los usuarios tienen una capacidad de almacenamiento y un ancho de banda limitados. Por lo tanto, existe el riesgo de que no se instalen copias cuando una aplicación sea grande. Las tiendas de aplicaciones imponen límites y solo otorgan aplicaciones de determinados tamaños a través de conexiones de telefonía celular; Google tiene un límite de 50 MB para cada APK (pero permite archivos de expansión de 2 GB para medios auxiliares) y Apple limita el tamaño de las aplicaciones a 100 MB. Usa la herramienta ProGuard para optimizar tu código de Android y habilitar la reducción de recursos a fin de eliminar recursos no usados e innecesarios de las bibliotecas de dependencias. App Thinning ofrece una solución similar para reducir el tamaño de las aplicaciones en iOS.

  2. Crea aplicaciones en las que los recursos de dispositivos se usen de manera óptima: Cuando se crean aplicaciones sin tener en cuenta la manera en que la pantalla interactúa con los componentes de hardware, se pueden desperdiciar recursos preciados; por ejemplo, la duración de la batería. Según Dev, “el rendimiento de la aplicación es fundamental. En el caso de una aplicación, un mal diseño puede tener un efecto notable y negativo en la percepción que el usuario tenga respecto de su utilidad y seguramente conducirá a su desinstalación”. Dev recomienda compilar una lista de métricas para tus aplicaciones y luego realizar pruebas. En este canal de rendimiento de Android de YouTube y esta comunidad de Google+se ofrecen excelentes consejos sobre la creación de aplicaciones de alto rendimiento.

  3. Asegúrate de que tu aplicación funcione en todos los dispositivos:La incapacidad de detectar errores o bloqueos que solo se produzcan en algunos dispositivos rápidamente deriva en comentarios de clientes disgustados y bajas calificaciones. Dev recomienda usar Cloud Test Lab para probar en forma simultánea tu aplicación en casi todas las marcas y todos los modelos de dispositivos Android, y en varios idiomas, modos de orientación de pantalla y versiones de la API de Android. Un consejo experto de Dev: aun cuando no dispongas de pruebas de instrumentación para tu aplicación, puedes usar pruebas Robo para hacerla funcionar con simulaciones de acciones de usuarios.

  4. Usa pruebas A/B para recibir comentarios reales de los usuarios: Usar tu propia aplicación te permite obtener una perspectiva anticipada de la interacción de los usuarios con ella y de su funcionamiento más allá del laboratorio de prueba. Las pruebas beta, por otra parte, permiten reunir comentarios de un público entusiasta. Debido a que estas pruebas se orientan al público, debes asegurarte de que el proceso sea simple para garantizar un alto nivel de participación por parte de los usuarios. Ambas pruebas te permiten obtener comentarios anticipados de los usuarios antes del lanzamiento masivo de tu aplicación.

  5. Lanza nuevas versiones de tu aplicación en etapas y realiza un control estricto:No subestimes el número de usuarios que pueden adoptar una nueva versión de tu aplicación ni los niveles de uso que puedan darle. Dev recomienda usar implementaciones en etapas. Estas te permiten hacer pruebas beta de diferentes versiones de aplicaciones y lanzar gradualmente actualizaciones de aplicaciones con un grupo de usuarios seleccionados. Cloud Test Lab te permite acceder a dispositivos virtuales que te proporcionan comentarios rápidos durante el desarrollo, además de dispositivos físicos que determinan con precisión problemas hallados en dispositivos reales.

Crear una aplicación de alta calidad es esencial para formar y mantener una base de usuarios leales. Sigue las recomendaciones de Dev para optimizar la calidad de tu aplicación y permanece atento a nuestra publicación de mañana, acerca de las maneras de obtener una monetización eficaz.