Distribuye apps para Android a los verificadores con Firebase CLI


En esta guía, se describe cómo distribuir Android App Bundles (AAB) a los verificadores con Firebase CLI. Esta herramienta te permite especificar verificadores y notas de la versión de una compilación y, luego, distribuir la compilación según corresponda.

App Distribution se integra en el servicio de uso compartido interno de apps de Google Play para procesar los AAB que subes y entregar APK optimizados para la configuración de los dispositivos de tus verificadores. La distribución de AAB te permite hacer lo siguiente:

  • Ejecutar APK optimizados (entregados por Google Play) para los dispositivos de tus verificadores

  • Descubrir y depurar los problemas específicos del dispositivo

  • Probar funciones del paquete de aplicación, como Play Feature Delivery y Play Asset Delivery

  • Reducir el tamaño de las descargas para los verificadores

Permisos necesarios

Para subir AAB a App Distribution, debes vincular tu app de Firebase con una app en Google Play. Debes tener el nivel de acceso necesario para realizar estas acciones.

Si no tienes el acceso necesario a Firebase, puedes pedirle al propietario del proyecto de Firebase que te asigne el rol correspondiente usando la configuración de IAM de Firebase console. Si tienes preguntas sobre el acceso a tu proyecto de Firebase, incluida la búsqueda o asignación de propietarios, revisa las Preguntas frecuentes sobre "Permisos y acceso a los proyectos de Firebase".

La siguiente tabla se aplica a la vinculación de una app de Firebase con una app en Google Play y a la carga de AAB.

Acción en Firebase console Permiso de IAM obligatorio Roles de IAM que incluyen permisos obligatorios de forma predeterminada Roles adicionales requeridos
Vincula una app de Firebase a una app en Google Play firebase.playLinks.update Uno de los siguientes roles: Accede a una cuenta de desarrollador de Google Play como Administrador
Sube AAB a App Distribution firebaseappdistro.releases.update Uno de los siguientes roles: ––

Antes de comenzar

  1. Si aún no lo hiciste, agrega Firebase a tu proyecto de Android. Al final de este flujo de trabajo, tendrás una app de Firebase para Android en tu proyecto de Firebase.

    Si no utilizas ningún otro producto de Firebase, solo debes crear un proyecto y registrar tu app. Si decides usar productos adicionales, asegúrate de completar todos los pasos que se indican en Agrega Firebase al proyecto de Android.

  2. Para crear un vínculo de Firebase a Google Play y subir AAB, asegúrate de que la app cumpla con los siguientes requisitos:

    • La app en Google Play y la app de Firebase para Android deben estar registradas con el mismo nombre de paquete.

    • La app en Google Play debe estar configurada en el panel de apps y se distribuye en uno de los segmentos de Google Play (Pruebas internas, Pruebas cerradas, Pruebas abiertas o Producción).

    • La revisión de la app en Google Play debe estar completa y la app debe estar publicada. La app está publicada si en la columna Estado de la app se muestra uno de los siguientes estados: Pruebas internas (no pruebas internas en borrador), Pruebas cerradas, Pruebas abiertas o Producción.

  3. Vincula tu app de Firebase para Android a tu cuenta de desarrollador de Google Play:

    1. En Firebase console, ve a la Configuración del proyecto y, luego, selecciona la pestaña Integraciones.

    2. En la tarjeta de Google Play, haz clic en Vincular.
      Si ya tienes vínculos a Google Play, haz clic en Administrar en su lugar.

    3. Sigue las instrucciones en pantalla para habilitar la integración de App Distribution y seleccionar las apps de Firebase para Android que quieres vincular a Google Play.

    Obtén más información para realizar vinculaciones a Google Play.

Paso 1: Crea la app

Cuando estés listo para distribuir una versión previa al lanzamiento de tu app a los verificadores, compila el AAB (consulta la documentación de Android Studio para obtener instrucciones).

Paso 2: Distribuye la app a los verificadores

Para distribuir tu app a los verificadores, sube el archivo de tu app con Firebase CLI:

  1. Instala Firebase CLI o actualízala a la versión más reciente (recomendamos descargar el objeto binario independiente para la CLI específica de tu SO). Asegúrate de acceder y probar que puedes ingresar a tus proyectos.
  2. En la página de App Distribution de Firebase console, selecciona la app que quieras distribuir y, luego, haz clic en Comenzar.
  3. Ejecuta el comando appdistribution:distribute para subir la app y distribuirla a los verificadores. Usa los siguientes parámetros para configurar la distribución:

    Opciones de appdistribution:distribute
    --app

    Obligatorio: El ID de app de Firebase de tu aplicación. Puedes encontrar el ID de la app en la página Configuración general de Firebase console.

    --app 1:1234567890:android:0a1b2c3d4e5f67890
    --token

    Un token de actualización que se imprime cuando autenticas el entorno de CI con Firebase CLI (consulta Usa la CLI con sistemas de CI para obtener más información).

    --token "$FIREBASE_TOKEN"
    --release-notes
    --release-notes-file

    Las notas de la versión de esta compilación.

    Puedes especificar las notas de la versión directamente, como sigue:

    --release-notes "Text of release notes"

    O bien, especificar la ruta de acceso a un archivo de texto sin formato:

    --release-notes-file "/path/to/release-notes.txt"
    --testers
    --testers-file

    Las direcciones de correo electrónico de los verificadores que quieres invitar.

    Puedes especificar los verificadores como una lista de direcciones de correo electrónico separada por comas, como sigue:

    --testers "ali@example.com, bri@example.com, cal@example.com"

    O bien, puedes especificar la ruta de acceso a un archivo de texto sin formato que contenga una lista de direcciones de correo electrónico separada por comas, de la siguiente manera:

    --testers-file "/path/to/testers.txt"
    --groups
    --groups-file

    Los grupos de verificadores que deseas invitar (consulta Administra verificadores). Los grupos se especifican con alias de grupos, que puedes consultar en Firebase console.

    Puedes especificar los grupos como una lista separada por comas, como sigue:

    --groups "qa-team, trusted-testers"

    O bien, puedes especificar la ruta de acceso a un archivo de texto sin formato que contenga una lista de nombres de grupo separada por comas, de la siguiente manera:

    --groups-file "/path/to/groups.txt"
    --debug

    Una marca que puedes incluir para imprimir un resultado de registro detallado.

    --test-devices
    --test-devices-file

    Los siguientes tipos de distribución forman parte de la función beta de verificadores automatizados.

    Los dispositivos de prueba a los que deseas distribuir las compilaciones (consulta Pruebas automatizadas).

    Puedes especificar los verificadores como una lista de direcciones de correo electrónico separada por comas, como sigue:

    --test-devices: "model=shiba,version=34,locale=en,orientation=portrait;model=b0q,version=33,locale=en,orientation=portrait"

    También puedes especificar la ruta de acceso a un archivo de texto sin formato que contenga una lista de dispositivos de prueba separada por punto y coma:

    --test-devices-file: "/path/to/test-devices.txt"
    --test-username

    El nombre de usuario del acceso automático que se usará durante las pruebas automatizadas.

    --test-password
    --test-password-file

    La contraseña del acceso automático que se usará durante las pruebas automatizadas.

    O bien, puedes especificar la ruta de acceso a un archivo de texto sin formato que contenga una contraseña:

    --test-password-file: "/path/to/test-password.txt"
    --test-username-resource

    El nombre del recurso del campo de nombre de usuario del acceso automático que se usará durante las pruebas automatizadas.

    --test-password-resource

    El nombre de recurso del campo de contraseña para el acceso automático que se usará durante las pruebas automatizadas.

    --test-non-blocking

    Ejecuta pruebas automatizadas de forma asíncrona. Visita Firebase console para ver los resultados de la prueba automática.

    Por ejemplo:

    firebase appdistribution:distribute test.aab  \
        --app 1:1234567890:android:0a1b2c3d4e5f67890  \
        --release-notes "Bug fixes and improvements" --testers-file testers.txt
    

    Firebase CLI genera los siguientes vínculos después de la carga de la versión. Estos vínculos te ayudan a administrar objetos binarios y garantizar que los verificadores y otros desarrolladores tengan la versión correcta:

    • firebase_console_uri: Es un vínculo a Firebase console que muestra un solo lanzamiento. Puedes compartir este vínculo con otros desarrolladores de tu organización.
    • testing_uri: Es un vínculo a la versión en la experiencia de verificador (aplicación nativa para Android) que permite que los verificadores vean las notas de la versión y, luego, instalen la app en su dispositivo. El verificador necesita acceso a la versión para poder usar el vínculo.
    • binary_download_uri: Es un vínculo firmado que descarga e instala directamente el objeto binario de la app (archivo APK o AAB). El vínculo vence después de una hora.

    Administra verificadores y grupos

    Además de distribuir versiones, también puedes usar appdistribution:testers:add y appdistribution:testers:remove para invitar a verificadores nuevos o quitar los existentes de tu proyecto de Firebase.

    Una vez que se agrega un verificador a tu proyecto de Firebase, puedes agregarlo a versiones individuales. Una vez que quites un verificador, este ya no tendrá acceso a las versiones del proyecto. Ten en cuenta que los verificadores que se hayan quitado recientemente pueden conservar el acceso a tus versiones durante un período.

    Por ejemplo:

    firebase appdistribution:testers:add anothertester@email.com moretesters@email.com
    
    firebase appdistribution:testers:remove anothertester@email.com moretesters@email.com
    

    Los correos electrónicos del verificador deben estar separados por un espacio. También puedes especificar verificadores con --file /path/to/testers.txt.

    Si tienes una gran cantidad de verificadores, considera usar grupos: Puedes usar appdistribution:group:create y appdistribution:group:delete para crear o borrar grupos en tu proyecto de Firebase.

    Usa --group-alias para especificar un grupo para los comandos appdistribution:testers:add y appdistribution:testers:remove.

    Por ejemplo:

    firebase appdistribution:group:create "QA team" qa-team
    
    firebase appdistribution:testers:add --group-alias=qa-team anothertester@email.com moretesters@email.com
    
    firebase appdistribution:testers:remove --group-alias=qa-team anothertester@email.com moretesters@email.com
    
    firebase appdistribution:group:delete qa-team
    

Una vez que distribuyas la compilación, estará disponible en el panel de App Distribution de Firebase console por 150 días (cinco meses). Cuando falten 30 días para el vencimiento de la compilación, se mostrará un aviso de vencimiento en la consola y en la lista de compilaciones de tu verificador, en el dispositivo de prueba.

Los verificadores que no recibieron invitaciones para probar la app las recibirán por correo electrónico para comenzar, y los verificadores existentes recibirán notificaciones por correo electrónico en las que se indicará que hay una nueva compilación lista para probar (consulta la guía de preparación para verificadores si necesitas instrucciones para instalar la app de prueba). En Firebase console, puedes supervisar el estado de cada verificador (si aceptó la invitación y si descargó la app).

Los verificadores tendrán 30 días para aceptar una invitación a fin de probar la app antes de que venza. Cuando falten 5 días para que venza la invitación, aparecerá un aviso en Firebase console junto al verificador en una versión. Para renovar una invitación, puedes usar el menú desplegable de la fila del verificador para reenviarla.

Próximos pasos