En poco más de dos años, Android App Bundle se ha convertido en el estándar preferido para publicar en Google Play. Actualmente, más de 600 000 apps y juegos utilizan un paquete de apps en producción, lo que representa más del 40% de todos los lanzamientos de Google Play. El 50% de los principales desarrolladores de Google Play usa paquetes de apps. Por ejemplo, Adobe los utilizó para reducir el tamaño de Adobe Acrobat Reader en un 20%.
Recientemente, lanzamos Play Asset Delivery (PAD) para ofrecer a los juegos los grandes beneficios de los paquetes de apps y permitir que los desarrolladores mejoren la experiencia del usuario y, a la vez, reduzcan los costos de entrega y el tamaño de sus juegos. Gameloft usó PAD para mejorar la retención de los usuarios, gracias a lo cual generó un 10% más de nuevos jugadores que con su anterior sistema de entrega de activos.
Para aquellos que hagan el cambio, hemos publicado algunas preguntas frecuentes sobre la firma de apps de Play, que es obligatoria para los paquetes de apps, además de una guía sobre cómo probar el paquete de apps. Sigue leyendo para saber más acerca de las recientes mejoras que hemos hecho en los procesos de desarrollo, prueba y publicación de paquetes de apps.
Play Feature Delivery
Los paquetes de apps permiten el desarrollo modular mediante módulos de funciones dinámicas con una variedad de opciones de entrega personalizables. Ahora es posible acceder a recursos de reducción en módulos de funciones dinámicas, así como a tu módulo base cuando se compilan apps modulares. Esta función tan solicitada puede generar una reducción considerable en el tamaño de tus apps. Está disponible en Android Studio 4.2, actualmente en versión canary, en la función experimental android.experimental.enableNewResourceShrinker=true.
android.experimental.enableNewResourceShrinker=true
De forma predeterminada, los módulos de tiempo de instalación ahora se fusionan automáticamente cuando se procesan los paquetes de apps en APK de distribución (a partir de bundletool 1.0.0). Eso significa que puedes separar tu app en módulos durante el desarrollo y al mismo tiempo reducir la cantidad de APK distribuidos a cada dispositivo, lo que acelerará la descarga e instalación de tu app. Puedes elegir establecer una "función experimental extraíble" para los módulos de tiempo de instalación a fin de evitar la fusión, lo que te permite desinstalar un módulo en el dispositivo después de haberlo usado. Es una buena idea quitar los módulos grandes una vez que ya no se necesiten, puesto que, si se reduce el tamaño de la aplicación, es menos probable que se desinstale.
La dependencia de función en función ahora está estable en Android Studio 4.0, por lo que puedes especificar si un módulo de funciones dinámicas depende de otro módulo de funciones. El hecho de poder definir esa relación garantiza que tu app cuente con los módulos necesarios para desbloquear funcionalidades adicionales, lo que genera menos solicitudes y una modularización más sencilla.
Sabemos que es importante probar la entrada de una app y obtener la misma experiencia que tus usuarios en una situación real. El uso compartido interno de apps te permite subir compilaciones de pruebas a Play y obtener un vínculo para compartir que permita descargar tu app. Al descargar tu aplicación desde ese vínculo, obtienes un objeto binario idéntico al que se entregaría a los usuarios después del lanzamiento de tu app en Play.
Play Asset Delivery
Play Asset Delivery amplía el formato del paquete de apps, ya que permite empaquetar hasta 2 GB de recursos de juegos junto con el objeto binario en un solo artefacto publicado en Google Play. PAD permite que los juegos de más de 150 MB sustituyan a los archivos de expansión heredados (OBB) y dependan de Play para mantener los activos actualizados, al igual que con tu objeto binario de juego. También se encarga de la compresión y la aplicación de parches delta, ya que minimiza el tamaño de descarga y hace que el juego se actualice más rápido.
<id="imgCaption"> El contenido de un paquete de aplicaciones para Android con un módulo base, dos módulos de funciones dinámicas y dos paquetes de activos.
Luego, puedes elegir uno de los tres modos de entrega, según el momento en que desees que esos activos se entreguen a los usuarios: tiempo de instalación, como parte de la instalación inicial del juego; a pedido, para que los activos se entreguen solo cuando se soliciten; o seguimiento rápido, que activará una descarga adicional inmediatamente después de que se complete la instalación del juego, independientemente de si el usuario abre la app. El seguimiento rápido te permite minimizar el tiempo de la primera interacción y hacer llegar los activos a los usuarios lo más rápido posible.
En los próximos meses, lanzaremos la orientación de formato de compresión de textura, que te permitirá incluir varios activos de formato de compresión de textura y confiar en que los entreguemos al formato más avanzado que admita el dispositivo solicitante.
Obtén más información en esta sesión de nuestra Game Developer Summit y consulta la documentación para ver las opciones de integración de Unity, Unreal Engine, Gradle, Native y Java.
La mejor distribución de Google Play
Google Play ofrece miles de millones de apps, juegos, actualizaciones y módulos de funciones dinámicas cada mes a los usuarios de Android en miles de tipos de dispositivos de todo el mundo. Invertimos mucho tiempo y energía en asegurarnos de que tu contenido se entregue a los usuarios de la manera más fluida y eficiente posible al mismo tiempo que se oculta la complejidad de la experiencia del usuario.
Por ejemplo, recientemente mejoramos el servicio de descargas que usa Google Play. Este cambio, por sí solo, ha acelerado la instalación de los paquetes de apps en un promedio del 6% y ha aumentado el éxito de la instalación a nivel mundial en un 1%, lo que genera millones de nuevas instalaciones para los desarrolladores cada semana.
También estamos implementando varias mejoras en la distribución de módulos de funciones dinámicas, como permitir que se instalen cuando su aplicación es VISIBLE o superior, reducir el umbral de almacenamiento libre que desencadena errores de almacenamiento insuficiente y eliminar la confirmación del usuario para las funciones dinámicas de gran tamaño a través de Wi-Fi. Solo esto ha generado un 12% más de descargas de módulos aplazados con éxito. Las apps que utilizan funciones dinámicas se beneficiarán de estos cambios automáticamente.
Necesidad de nuevas aplicaciones en la segunda mitad de 2021
Seguimos haciendo que los paquetes de apps tengan un mejor formato de publicación que los APK de Google Play. Por ejemplo, el nuevo explorador de paquetes de apps te permite administrar todos tus paquetes de apps en un solo lugar. Puedes descargar y certificar los APK exactos que Play genera para su entrega, así como un APK firmado y universal (un APK único e instalable que incluye todo el código y los recursos necesarios para los dispositivos compatibles) que puedes utilizar en otros canales de distribución.
Nos complace ver que los paquetes de apps han sido bien recibidos por el ecosistema de apps y juegos, y nos entusiasma seguir mejorándolos. Como anunciamos en el evento de Android 11, para ayudarnos a invertir en futuras mejoras, tenemos la intención de hacer obligatoria la publicación de apps y juegos nuevos con Android App Bundle en Google Play a partir de la segunda mitad de 2021. En el mismo plazo, daremos de baja los archivos de expansión de APK heredados (OBB) y haremos que Play Asset Delivery sea la opción estándar para la publicación de juegos de más de 150 MB. También requeriremos que las experiencias instantáneas se publiquen a través de paquetes de apps instantáneas y daremos de baja el formato ZIP de las apps instantáneas heredadas.
Queremos agradecer a todos los que ya han hecho el cambio a Android App Bundle y, en especial, a aquellos que han compartido sus comentarios. Tus comentarios nos ayudan a definir el futuro de los paquetes de apps y a mejorar la tecnología para todo el mundo, así que continúa haciéndonos saber lo que piensas.
¿Qué tan útil te resultó esta entrada de blog?
★ ★ ★ ★ ★