En mayo, publicamos una actualización sobre nuestros planes de reducción de las strings de usuario-agente y prometimos publicar más detalles sobre el cronograma. Ahora que tenemos una prueba de origen lista para implementar en el encabezado de usuario-agente reducido (y las interfaces de JS asociadas), podemos compartir los cronogramas estimados. La información que presentamos a continuación se tomó de la entrada original del blog, pero incluye las versiones de Chrome estimadas donde estas fases te ayudarán a prepararte.
El panel del cronograma de Chromium sirve para conocer las fechas asociadas con cada versión de Chrome y su progresión de Canary a Beta y versión estable.
Nota: Se aplican las renuncias de responsabilidad sobre la estimación de los plazos de ingeniería; pueden producirse demoras debido a circunstancias imprevistas. En caso de que se produzcan demoras, no aceleraremos los plazos entre fases.
Planeamos lanzar estos cambios lentamente y de manera gradual en 7 fases, siempre teniendo en cuenta los comentarios de la prueba de origen.
Fase 1: Desde Chrome 92 (20 de julio de 2021)
Llamado a la acción (CTA): Analiza el uso de tu sitio para saber dónde es necesaria la migración.
Advierte sobre el acceso a navigator.userAgent, navigator.appVersion y navigator.platform en Herramientas para desarrolladores, a partir de M92.
Fase 2: Chrome 95 a Chrome 100
CTA: Inscríbete en la prueba de origen de tu sitio y proporciona comentarios hasta que se lance Chrome 101.
Inicia una prueba de origen de sitios a fin de aceptar la última string de usuario-agente reducida para pruebas y comentarios, como mínimo durante 6 meses.
Evaluaremos los comentarios de los socios y la comunidad sobre la prueba de origen y, en función de estos comentarios, procederemos a las fases 3 a 7 de nuestro plan. A su vez, daremos al ecosistema un tiempo adecuado para adaptarse entre fases. De lo contrario, según los comentarios, reconsideraremos el mejor plan de acción.
Fase 3: Chrome 100
CTA: Inscríbete en la prueba de baja o política empresarial de tu sitio si es necesario.
Lanza la prueba de baja y la política empresarial si el sitio necesita más tiempo para la migración.
Fase 4: Chrome 101
CTA: Asegúrate de que el sitio sea compatible con la versión reducida de Chrome; si no lo es, migra a Sugerencias de clientes de usuario-agente.
Envía los números de versión reducidos (“0.0.0”) de Chrome MINOR.BUILD.PATCH. Una vez lanzada, la string de usuario-agente reducida se aplicará a todas las cargas de páginas en sistemas operativos de computadoras de escritorio y dispositivos móviles para sitios que no participan en la prueba de baja.
Fase 5: Chrome 107
CTA: Asegúrate de que el sitio sea compatible con la string de usuario-agente reducida para computadoras de escritorio y con las API de JS asociadas; si no lo es, migra a Sugerencias de clientes de usuario-agente.
Comienza el lanzamiento de la string de usuario-agente reducida para computadoras de escritorio y las API de JS asociadas (navigator.userAgent, navigator.appVersion y navigator.platform). Una vez lanzada, la string de usuario-agente reducida se aplicará a todas las cargas de páginas en sistemas operativos de computadoras de escritorio para sitios que no participan en la prueba de baja.
Fase 6: Chrome 110
CTA: Asegúrate de que el sitio sea compatible con la string de usuario-agente reducida para dispositivos móviles y con las API de JS asociadas; si no lo es, migra a Sugerencias de clientes de usuario-agente.
Comienza el lanzamiento de la string de usuario-agente reducida para dispositivos móviles (y tablets) Android y de las API de JS asociadas. Una vez lanzada, la string de usuario-agente reducida se aplicará a todas las cargas de páginas en Android que no participan en la prueba de baja.
Fase 7: Chrome 113
La prueba de baja finaliza y todas las cargas de páginas reciben la string de usuario-agente reducida y las API de JS relacionadas.
Consulta la página de actualización de strings de usuario-agente reducidas para obtener más información y ejemplos de este tipo de strings en cada una de las fases. También notaremos si hay demoras o cambios importantes en esta página.
Esto forma parte de una serie de artículos sobre la calidad de las apps. A continuación, te mostramos un resumen de los demás artículos:
La primera impresión es muy importante para los usuarios. Incluso las apps con el mejor diseño pueden fracasar si no brindan una experiencia estable sin fallas.
Imagina a un usuario preparándose para relajarse después del trabajo. Toma un bocadillo, se acomoda en el sofá, abre su app de juego favorita… y se produce una falla. O bien, la app se congela cada vez que está a punto de pasar al siguiente nivel. Estas experiencias inestables pueden frustrar a los usuarios y hacer que desinstalen la app o dejen una opinión negativa en la tienda de aplicaciones.
De hecho, el motivo más frecuente de las eliminaciones tempranas de una app son los problemas de calidad. Uno de cada cinco usuarios (19%) desinstalará una app tras experimentar errores técnicos o fallas.1
Las apps pueden fallar por varios motivos. El dispositivo del usuario puede tener poca memoria o un chipset limitado, o bien ejecutar una versión del SO anterior. Otro motivo puede ser que el código de la app tenga muchos errores. Principalmente, a medida que agregas funciones nuevas y obtienes más usuarios en distintos dispositivos, es probable que se presente una variedad mayor de fallas detrás de escena.
Realizar seguimientos, organizar y corregir fallas manualmente puede resultar un desafío complejo y tedioso. Aún si recopilas todos los datos de fallas, es posible que no veas con claridad qué produce la falla en la app o qué errores afectan a la mayoría de los usuarios. Es por esta razón que tener las herramientas de informe de fallas adecuadas es de vital importancia.
La mejor forma de aumentar la retención y participación de usuarios nuevos y existentes es mejorar tu app y lanzar funciones nuevas de forma continua. Sin embargo, a medida que crezca tu base de usuarios, resultará más difícil dividir tu tiempo entre lanzar funciones nuevas y supervisar su estabilidad.
El informe de fallas en tiempo real de Firebase Crashlytics te permite clasificar y solucionar rápidamente los errores recopilando y agrupando las fallas en función de la parte del código donde se produjo. Se enumeran grupos de errores por orden de frecuencia y grado de impacto en los usuarios, por lo que puedes identificar con facilidad cuáles abordar y, de esta forma, obtienes más tiempo para compilar funciones que mantendrán interesados a los usuarios.
Se muestran datos de informes sobre fallas en el panel de Firebase Crashlytics
A fin de adentrarte aún más en tus datos de fallas, puedes habilitar la exportación de flujos de BigQuery para identificar los problemas más comunes y comprender las tendencias a lo largo del tiempo, como qué versiones del SO o dispositivos específicos están provocando la mayoría de las fallas. Esto es útil para visualizar tus datos de fallas y supervisar los problemas que activan alertas y flujos de trabajos personalizados. Asimismo, si habilitas la transmisión de BigQuery, puedes analizar tus datos con BigQuery SQL, exportarlos a otro proveedor de servicios en la nube y usar Google Data Studio para crear paneles y visualizaciones de tendencias de fallas personalizados.
Crashlytics integrado con BigQuery
En el caso de una app como Spotify, con más de 65 equipos que mantienen millones de líneas de código por plataforma y lanzan funciones nuevas cada semana, moverse rápido y en gran escala es clave. A fin de reducir el estrés del equipo de desarrollo antes de cada lanzamiento, Spotify pasó de realizar un seguimiento manual de las fallas todos los días a automatizar el proceso de lanzamiento a través de Crashlytics, principalmente con BigQuery. En lugar de que el gerente de versiones tenga que supervisar cada falla, Spotify ahora usa Crashlytics para hacerles un seguimiento en versiones Alfa y Beta, establecer reglas para los tickets entrantes y asignarlos a los equipos correctos.
Deliveroo, una empresa de envío de comida a domicilio del Reino Unido, también implementó Crashlytics y BigQuery a fin de adelantarse a las fallas antes de que alcancen determinados límites y realizar un seguimiento y análisis de datos de rendimiento de cada versión nueva en tiempo real. Gracias a la posibilidad de crear informes personalizados y agrupar errores, el equipo de desarrollo redujo de forma considerable el tiempo requerido para solucionar problemas y reproducir los errores de la app. A la vez, las sesiones sin fallas aumentaron de 99.35% a más de 99.7%.
Las fallas no solo alejan a tus usuarios existentes, sino que las opiniones negativas sobre la app tras experimentar una sesión inestable también pueden afectar la posibilidad de atraer usuarios nuevos. Es por eso que es esencial saber cuándo y dónde se producen las fallas.
Las alertas de velocidad de Crashlytics te notifican cuando una falla determinada comienza a replicarse, de modo que puedas responder antes de que el problema afecte a más usuarios. Las alertas de velocidad también se pueden configurar, por lo que puedes establecer límites que determinen cuándo se deben activar las alertas en función del porcentaje de sesiones de usuarios afectados.
Por ejemplo, las alertas de velocidad pueden detectar problemas grandes durante el lanzamiento de una versión nueva de tu app o notificarte rápidamente si hay algún error que está afectando a un gran porcentaje de usuarios. Te enviarán un correo electrónico o un mensaje en Slack, Jira o PagerDuty, según la integración de terceros que tengas habilitada con tu proyecto.
Configuración de alertas de velocidad en la consola de Firebase
Así es como Swiggy, uno de los servicios más grandes de entrega de comida a domicilio de India, supervisa de manera simultánea todos los errores de la app y se enfoca primero en los problemas más importantes. El equipo de desarrollo de Swiggy conectó las alertas de velocidad de Crashlytics con PagerDuty y Jira a fin de notificar al ingeniero disponible cuando las fallas importantes superen cierto límite. Esto le permitió a Swiggy acelerar el envío de versiones, con la seguridad de que recibirán alertas sobre fallas de alta y baja prioridad de forma adecuada.
La identificación rápida de fallas frecuentes es solo una pieza del rompecabezas. Cuando descubres la causa raíz, puedes mitigar el riesgo y reducir la frustración de los usuarios de la app garantizando que esas fallas no volverán a producirse.
Las claves y los registros personalizados de Crashlytics graban los eventos que experimentan los usuarios durante la sesión a través de un seguimiento del estado y la secuencia de su app. Con esto obtienes una instantánea práctica de lo que el usuario estaba haciendo cuando se produjo la falla de la app. Asimismo, puedes definir claves personalizadas, como "fuente_instalación", "idioma" y "red", a fin de identificar exactamente qué sucedió antes de cada falla, por ejemplo, si el usuario instaló la app desde Play Store o si tenía una conexión Wi-Fi, y reducir el tiempo que toma reproducirla.
Además, si usas Crashlytics con Google Analytics, puedes capturar automáticamente eventos predefinidos de Google Analytics, conocidos como rutas de navegación, que complementa los datos obtenidos con los registros personalizados y brinda información más detallada sobre la causa de la falla.
Rutas de navegación en Google Analytics
Para los desarrolladores de juegos para dispositivos móviles como Tapps Games, brindar una experiencia estable y envolvente es clave para mantener a los jugadores interesados. En el pasado, Tapps solía buscar de forma manual comentarios negativos en las opiniones de los usuarios y, luego, intentaba reproducir las fallas que encontraban. Gracias a las alertas de velocidad de Crashlytics, el equipo recibe de forma inmediata notificaciones cuando comienzan a aumentar las fallas graves. Después de revisar los datos, se dieron cuenta de que una actualización al proceso de creación de videos del juego Vlogger Go Viral junto con un evento comunitario de jugadores estaban produciendo fallas constantes.
El equipo de desarrollo de Tapps Games implementó rápidamente una solución que ayudó a aumentar su calificación de la tienda de Google Play de 3.9 a 4.7 y, a su vez, elevaron la cantidad de usuarios que no experimentaron fallas de 94.6% a 99.8%.
Para hacer crecer tu público, mantener a los usuarios interesados y generar recomendaciones y opiniones positivas, la estabilidad de tu app debe ser un área de enfoque clave. Instalar el SDK de Firebase Crashlytics en tu app te brinda las herramientas y la información que necesitas para mantenerte al tanto de los problemas críticos.
En la tercera y última parte de nuestra guía, destacaremos un conjunto de herramientas que puedes usar junto con Firebase Crashlytics para observar el rendimiento de tu app desde la perspectiva del usuario.
Fuentes
Entrada publicada por Purnima Kochikar, vicepresidenta de Play Partnerships
Como lo destacamos en marzo, nuestra misión es ayudar a los desarrolladores a alcanzar el éxito y a crear negocios sostenibles. El mes pasado, en Google I/O, de acuerdo con esta visión, anunciamos actualizaciones orientadas a permitir que más usuarios descubran tus apps y juegos, abrimos la inscripción para el nuevo nivel de costo del servicio del 15% y mucho más.
Como buscamos constantemente maneras de ayudar a todo tipo de desarrolladores a tener éxito en Google Play, hoy tenemos algo más para compartir.
Los usuarios reciben contenido atractivo independientemente del dispositivo que usan. Tras el reciente lanzamiento de Entertainment Space para tablets, el anuncio de que los relojes Samsung incorporarán Wear OS, la actualización de la plataforma Android Auto y la nueva experiencia de descubrimiento de Google TV, los desarrolladores tendrán más oportunidades que nunca de captar el interés de los usuarios.
En Play, nos entusiasma ayudar a los desarrolladores a adaptar sus servicios no solo a dispositivos móviles, sino también a todos los factores de forma que son importantes para los usuarios. Desde hace mucho tiempo, ofrecemos programas que ayudan a crear experiencias innovadoras y hoy lanzamos en todo el mundo nuestro programa Play Media Experience, que permitirá a más desarrolladores invertir en las mejores experiencias de contenido multimedia en todos los dispositivos, por ejemplo:
Mediante estas integraciones, brindamos nuevas oportunidades de descubrimiento y recaptación de usuarios, con lo cual los desarrolladores podrán acelerar su crecimiento general en Play y ofrecer un costo de servicio del 15% durante el plazo del programa. Nuestro objetivo principal es que los desarrolladores puedan ofrecer experiencias de primera calidad.
Los desarrolladores pueden revisar los lineamientos del programa y mostrar interés ahora. Si cumplen con los requisitos, les enviaremos más información. El programa Play Media Experience se suma a nuestros diversos recursos para desarrolladores, como Suscríbete con Google para editores de noticias, los programas existentes para empresas y nuestras diferentes iniciativas, como Puntos de Play y Play Pass, que nos ayudan a seguir mejorando los productos que ofrecemos a los usuarios y a satisfacer las necesidades de los desarrolladores.
Regístrate ahora para la edición digital de Cumbre de desarrolladores de Google para juegos, que se realizará el 12 y 13 de julio, y conoce las actualizaciones más recientes de productos de Google. Realizaremos más de 20 sesiones sobre Android, Play, Cloud y Firebase, y publicaremos anuncios que te ayudarán a crear mejores juegos y llegar a tus usuarios.
Como siempre, seguiremos dispuestos a recibir tus comentarios y esperamos encontrar nuevas maneras de apoyar tu negocio en todas las etapas en Google Play.
Entrada publicada por Scott Carbon-Ogden, gerente de Productos de juegos de Android
Hoy lanzamos Android Game Development Kit (AGDK), un conjunto integral de herramientas y bibliotecas que permiten desarrollar, optimizar y ofrecer juegos de Android de gran calidad.
Las funciones del AGDK siguen tres principios claves:
En la versión inicial, nos concentramos en cubrir tres áreas principales sobre las que recibimos muchos comentarios de nuestra comunidad de desarrolladores. Flujos de trabajo integrados, bibliotecas de juegos de C/C++ y optimización de rendimiento.
Por lo general, cuanto menor es la necesidad de cambiar herramientas, mayor eficacia se obtiene. De esta manera, con el AGDK proporcionamos nuevas herramientas para facilitar el desarrollo de juegos de Android en tu IDE principal. Nos concentraremos en los tramos del flujo de trabajo en los que Google puede agregar un valor único y solucionar problemas específicos de Android, al tiempo que ofreceremos compatibilidad con las partes del flujo de trabajo existente que manejas con comodidad.
Comienza el desarrollo de C con menos interfaz nativa de Java (JNI) usando nuestras bibliotecas de juegos para desarrollo de C y C++. La mayoría de los juegos y motores de juego están escritos en C++, mientras que para el desarrollo en Android suele ser necesario el lenguaje de programación Java. Para unir estos dos lenguajes mediante una interfaz nativa de Java se requiere mucho esfuerzo y se pueden generar errores o regresiones de rendimiento. El AGDK te ayudará a compilar y personalizar motores de juego proporcionando bibliotecas de juegos de C que minimizan el uso del lenguaje de programación Java y la JNI. De esta manera, los juegos serán más fáciles de compilar, depurar y mantener.
Nos concentramos en las principales frustraciones de los desarrolladores. En un principio, se compilarán clases fundamentales para actividad y entrada. A más largo plazo, planificamos crear más bibliotecas de C para ofrecer una funcionalidad que se utiliza comúnmente en todos los motores de juego. Incorporaremos nuestras bibliotecas de ritmo de fotogramas y audio de alto rendimiento, y agregaremos tres bibliotecas nuevas:
Encontrarás más información sobre estas bibliotecas en nuestra sesión sobre bibliotecas de C y C++.
Para que la integración sea lo más sencilla posible, puedes obtener todas nuestras bibliotecas como dependencia de Maven, archivo Zip compilado previamente o código fuente.
Nuestro objetivo es ayudarte a encontrar problemas de rendimiento o estabilidad antes del lanzamiento y supervisar el juego después de este para detectar errores. Comenzaremos por las métricas más importantes, como la velocidad de fotogramas, el tiempo de carga y la memoria, e iremos incluyendo métricas nuevas.
En g.co/android/AGDK, hallarás los últimos recursos para desarrollo de juegos de Android y podrás descargar el AGDK. Mira el seguimiento de las sesiones en dispositivos móviles para conocer todas las sesiones de la Cumbre de desarrolladores de Google para juegos.