En este documento, se presentan las prácticas recomendadas para usar Firebase App Distribution a fin de que los flujos de trabajo de prueba previos al lanzamiento de Android sean sustentables y repetibles en un entorno de CI/CD. Las soluciones incluyen Gradle y fastlane, pero para darte aún más flexibilidad, también incluimos soluciones disponibles a través de Firebase console, Firebase CLI y la API pública de Firebase App Distribution. También describimos los límites de las versiones y de los verificadores para que puedas planificar por adelantado una experiencia óptima.
Si también usas plataformas de Apple, consulta Prácticas recomendadas a fin de distribuir apps para Apple a verificadores de control de calidad con CI/CD y fastlane.
Antes de comenzar
Antes de implementar las prácticas recomendadas de este documento, asegúrate de habilitar App Distribution en Firebase console para cada app. Si no lo haces, verás el error 404.
Para habilitar App Distribution, sigue estos pasos:
- Abre la página App Distribution de Firebase console.
- Selecciona tu app para Android.
- Haz clic en Comenzar.
Dado que Android App Bundle (AAB) se está convirtiendo en el formato de paquete de Android más común, te recomendamos que configures la capacidad de distribuir AAB a los verificadores vinculando la app a Google Play.
Automatiza el flujo de trabajo de las pruebas previo al lanzamiento con una canalización de CI/CD
Si quieres automatizar la compilación y el lanzamiento de apps para tus verificadores con CI/CD, te recomendamos que uses fastlane o Gradle. Otra opción es usar Firebase CLI, que te permite acceder a una amplia variedad de productos de Firebase.
Usa fastlane
Integra App Distribution en la canalización de CI/CD con fastlane, una herramienta de código abierto que automatiza la compilación y el lanzamiento de apps para iOS y Android. Si compilas las versiones más recientes y las distribuyes a los verificadores automáticamente, te aseguras de que siempre tengan la versión de prueba más actualizada de la app.
Si quieres aprender a integrar App Distribution en fastlane, consulta Distribuye apps para Android a los verificadores con fastlane.
Usa Gradle
Usa Gradle a fin de integrar App Distribution en tu proceso de compilación de Android con el
complemento de App Distribution para Gradle. El complemento te permite especificar los verificadores y
las notas de la versión en el archivo build.gradle
de tu app, lo que te permite configurar
distribuciones para diferentes tipos y variantes de compilación de tu app.
Si quieres aprender a integrar App Distribution en Gradle, consulta Distribuye apps para Android a los verificadores con Gradle.
Usa Firebase CLI
Usa las herramientas de Firebase CLI que proporciona App Distribution para distribuir compilaciones a los verificadores de manera programática. Puedes especificar verificadores y notas de la versión para una compilación.
Para distribuir tu compilación de Android más reciente, especifica el ID de la app de Firebase y, opcionalmente, agrega una nota de la versión y un archivo con los correos electrónicos de los verificadores:
firebase appdistribution:distribute test.aab \
--app 1:1234567890:android:0a1b2c3d4e5f67890 \
--release-notes "Bug fixes and improvements" --testers-file testers.txt
Si quieres obtener más información sobre el uso de Firebase CLI a fin de automatizar tus compilaciones, consulta Distribuye apps para Android a los verificadores con Firebase CLI.
Usa credenciales de servicio para realizar la autenticación
Usa el complemento de fastlane de App Distribution, el complemento de Gradle o Firebase CLI con cuentas de servicio. Una cuenta de servicio es un tipo de Cuenta de Google que representa las aplicaciones en lugar de usuarios. Tu sistema de CI puede usar cuentas de servicio para ejecutar tus cargas de trabajo de App Distribution. Para obtener más información, consulta Realiza la autenticación con una cuenta de servicio.
Si usas la federación de identidades para cargas de trabajo, puedes generar y usar un archivo de configuración de credenciales en lugar de una clave de cuenta de servicio.
Ten en cuenta los límites de versiones
App Distribution admite un máximo de 1,000 versiones por app. Esto significa que, cuando se supera este límite, App Distribution borra automáticamente las versiones más antiguas que superan el límite. Para aprender a administrar los límites de versiones, consulta ¿Durante cuánto tiempo están disponibles las versiones de las apps?
Agrega el mismo conjunto de verificadores a múltiples versiones
Si quieres agregar una gran cantidad de verificadores a tus versiones, usa la función de administración masiva de verificadores de App Distribution.
Te recomendamos que uses grupos para agregar los mismos verificadores a múltiples versiones. Un grupo actúa como una lista de control de acceso. Cuando quitas a un verificador de un grupo, este pierde el acceso a todas las versiones distribuidas en ese grupo. Para obtener más información, consulta Agrega y quita verificadores de un grupo.
Si tienes muchos verificadores que administrar, puedes agregar y borrar verificadores de forma masiva con Firebase console. Para automatizar los procesos de agregar y quitar verificadores, usa Firebase CLI, fastlane, Gradle o la API pública de Firebase App Distribution.
Ten en cuenta los límites de verificadores
App Distribution limita la cantidad de verificadores que puedes agregar a un proyecto de Firebase o a un grupo de App Distribution. Si superas estos límites, no podrás distribuir la app a verificadores adicionales. A fin de obtener más información sobre el máximo de verificadores, consulta ¿Hay límites para agregar verificadores a mi app?
Permite que los posibles verificadores se registren automáticamente para realizar pruebas
Para facilitar la distribución de la app a más verificadores, te recomendamos que uses vínculos de invitación. Un vínculo de invitación es una URL única que permite a los verificadores ingresar sus direcciones de correo electrónico a fin de registrarse para probar una app. Permitir que los usuarios se agreguen a tu lista de verificadores de apps es una forma sencilla de aumentar tu base de pruebas interna.
Los casos de uso de los vínculos de invitación incluyen programas de pruebas internas de la empresa, organizaciones con grandes equipos de QA y grupos de desarrolladores que desean que los clientes individuales puedan controlar el acceso de los verificadores.
Te recomendamos que crees un vínculo de invitación para un grupo. Los verificadores que se registren con el vínculo de invitación se agregarán automáticamente a las versiones posteriores.
Para obtener más información, consulta Crea vínculos de invitación y Agrega y quita verificadores de un grupo.
Asegúrate de que los verificadores estén probando la versión correcta
Cuando se sube una nueva versión, los verificadores reciben una notificación por correo electrónico. Para complementar esta notificación, puedes usar las siguientes funciones (vínculos de la versión y alertas en la app) y asegurarte de que los verificadores estén probando la versión específica de la app que te interesa:
- Vínculos de la versión: Usa esta función cuando quieras compartir una versión específica con los verificadores. Si quieres aprender a usar los vínculos de la versión, consulta Distribuye apps para Android a los verificadores con Firebase console. Estos vínculos también están disponibles con nuestras herramientas de línea de comandos (CLI) de Firebase, fastlane y Gradle para usar con tus herramientas de automatización de compilación.
- Alertas en la app: Usa estas alertas cuando quieras asegurarte de que los verificadores estén probando la versión más reciente de tu app. Si integras el SDK de Firebase App Distribution para Android, puedes mostrar alertas directamente en la app a los verificadores cuando haya nuevas compilaciones disponibles. Para aprender a agregar alertas en la app, consulta Notifica a los verificadores sobre compilaciones nuevas.
Quita automáticamente el acceso a los verificadores que abandonen la empresa
Una vez que el flujo de pruebas internas de CI/CD esté configurado y en funcionamiento, debes asegurarte de que las personas que abandonan la empresa ya no tengan acceso a las compilaciones internas. Para ayudarte a administrar el acceso de los verificadores a las compilaciones, App Distribution proporciona las siguientes opciones:
- fastlane: Usa el archivo Fastfile o ejecuta directamente las acciones de fastlane. Si quieres obtener más información, consulta Distribuye apps para Android a los verificadores con fastlane.
- Firebase CLI: Usa la acción
firebase appdistribution:testers:remove
. Si quieres obtener más información, consulta Distribuye apps para Android a los verificadores con Firebase CLI. - Gradle: Si usas Gradle para quitar verificadores, pasa
appDistributionRemoveTesters
con los argumentos
y--PROJECT_NUMBER
en tu archivo--EMAILS build.gradle
. Si quieres obtener más información, consulta Distribuye apps para Android a los verificadores con Gradle. - API pública de Firebase App Distribution:
Utiliza el extremo
testers.batchRemove
.