Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Distribuya aplicaciones de Android a los probadores usando fastlane

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Esta guía describe cómo distribuir compilaciones de AAB a los evaluadores mediante fastlane , una plataforma de código abierto que automatiza la creación y el lanzamiento de aplicaciones de iOS y Android. Sigue instrucciones simples definidas en un Fastfile . Después de configurar fastlane y su Fastfile , puede integrar App Distribution con su configuración de fastlane.

App Distribution se integra con el servicio interno de uso compartido de aplicaciones de Google Play para procesar los AAB que carga y sirve APK que están optimizados para las configuraciones de dispositivos de sus evaluadores. La distribución de AAB le permite hacer lo siguiente:

  • Ejecute APK optimizados (servidos por Google Play) que están optimizados para los dispositivos de sus evaluadores.

  • Descubra y depure problemas específicos del dispositivo.

  • Pruebe funciones de paquetes de aplicaciones como Play Feature Delivery y Play Asset Delivery .

  • Reduzca el tamaño de las descargas para sus evaluadores.

Permisos requeridos

Para cargar AAB en App Distribution, debe vincular su aplicación de Firebase a una aplicación en Google Play . Debe tener el nivel de acceso requerido para realizar estas acciones.

Si no tiene el acceso necesario a Firebase, puede pedirle al propietario de un proyecto de Firebase que le asigne la función correspondiente a través de la configuración de IAM de la consola de Firebase . Si tiene preguntas sobre el acceso a su proyecto de Firebase, incluida la búsqueda o la asignación de un propietario, consulte las preguntas frecuentes sobre "Permisos y acceso a proyectos de Firebase" .

La siguiente tabla se aplica a la vinculación de una aplicación de Firebase a una aplicación en Google Play, así como a la carga de AAB.

Acción en la consola Firebase Permiso de gestión de identidades y accesos requerido Funciones de IAM que incluyen los permisos necesarios de forma predeterminada Rol(es) adicional(es) requerido(s)
Vincular una aplicación de Firebase a una aplicación en Google Play firebase.playLinks.update Uno de los siguientes roles: Acceso a una cuenta de desarrollador de Google Play como administrador
Subir AAB a la distribución de aplicaciones firebaseappdistro.releases.update Uno de los siguientes roles: ––

Antes de que empieces

  1. Si aún no lo ha hecho, agregue Firebase a su proyecto de Android . Al final de este flujo de trabajo, tendrá una aplicación de Android de Firebase en su proyecto de Firebase.

    Si no está utilizando ningún otro producto de Firebase, solo necesita crear un proyecto y registrar su aplicación. Si decide usar productos adicionales, asegúrese de completar todos los pasos en Agregar Firebase a su proyecto de Android .

  2. Para crear un enlace de Firebase a Google Play y cargar AAB, asegúrese de que su aplicación cumpla con los siguientes requisitos:

    • La aplicación en Google Play y la aplicación Firebase para Android están registradas con el mismo nombre de paquete.

    • La aplicación en Google Play se configura en el tablero de la aplicación y se distribuye a una de las pistas de Google Play (pruebas internas, pruebas cerradas, pruebas abiertas o producción).

    • La revisión de la aplicación en Google Play está completa y la aplicación está publicada. Su aplicación se publica si la columna Estado de la aplicación muestra uno de los siguientes estados: Prueba interna (no prueba interna preliminar), Prueba cerrada, Prueba abierta o Producción.

  3. Vincula tu aplicación Firebase para Android a tu cuenta de desarrollador de Google Play:

    1. En Firebase console, vaya a su del proyecto , luego seleccione la pestaña Integraciones .

    2. En la tarjeta de Google Play , haga clic en Enlace .
      Si ya tiene enlaces a Google Play, haga clic en Administrar en su lugar.

    3. Siga las instrucciones en pantalla para habilitar la integración de distribución de aplicaciones y seleccione qué aplicaciones Android de Firebase vincular a Google Play.

    Obtén más información sobre la vinculación a Google Play .

Paso 1. Configurar Fastlane

  1. Instalar y configurar fastlane .

  2. Para agregar App Distribution a su configuración de fastlane, ejecute el siguiente comando desde la raíz de su proyecto de Android:

    fastlane add_plugin firebase_app_distribution

    Si el comando le solicita una opción, seleccione la Option 3: RubyGems.org .

Paso 2. Autenticarse con Firebase

Antes de poder usar el complemento fastlane, primero debe autenticarse con su proyecto de Firebase de una de las siguientes maneras. De manera predeterminada, el complemento fastlane busca las credenciales de la CLI de Firebase si no se usa ningún otro método de autenticación.

Paso 3. Configure su Fastfile y distribuya su aplicación

  1. En un carril ./fastlane/Fastfile , agregue un bloque firebase_app_distribution . Utilice los siguientes parámetros para configurar la distribución:
    parámetros firebase_app_distribution
    app

    Obligatorio : el ID de aplicación de Firebase de su aplicación. Puede encontrar el ID de la aplicación en Firebase console, en la página Configuración general .

    app: "1:1234567890:android:0a1b2c3d4e5f67890"
    firebase_cli_token

    Un token de actualización que se imprime cuando ejecuta la acción de inicio de sesión del complemento (consulte Autenticar con una cuenta de Google , más arriba) o cuando autentica su entorno de CI con Firebase CLI (lea Usar la CLI con sistemas de CI para obtener más información).

    service_credentials_file

    La ruta al archivo json de su cuenta de servicio de Google. Consulte más arriba cómo autenticarse con las credenciales de la cuenta de servicio .

    android_artifact_type

    Especifica el tipo de archivo de Android (APK o AAB).

    android_artifact_path

    Reemplaza apk_path (obsoleto). Ruta absoluta al archivo APK o AAB que desea cargar. Si no se especifica, fastlane determina la ubicación del archivo desde el carril en el que se generó el archivo.

    release_notes
    release_notes_file

    Notas de la versión para esta compilación.

    Puede especificar las notas de la versión directamente:

    release_notes: "Text of release notes"

    O bien, especifique la ruta 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 evaluadores que desea invitar.

    Puede especificar los evaluadores como una lista de direcciones de correo electrónico separadas por comas:

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

    O bien, puede especificar la ruta a un archivo de texto sin formato que contenga una lista de direcciones de correo electrónico separadas por comas:

    testers_file: "/path/to/testers.txt"
    groups
    groups_file

    Los grupos de testers a los que desea invitar (consulte Administrar testers ). Los grupos se especifican usando alias de grupo , que puede buscar en Firebase console.

    Puede especificar los grupos como una lista separada por comas:

    groups: "qa-team, trusted-testers"

    O bien, puede especificar la ruta a un archivo de texto sin formato que contenga una lista de nombres de grupos separados por comas:

    groups_file: "/path/to/groups.txt"
    debug

    Una bandera booleana. Puede establecer esto en true para imprimir la salida de depuración detallada.

platform :android do
    desc "My awesome app"
    lane :distribute do
        build_android_app(task: "bundle", ...)
        # build_android_app is a built-in fastlane action.
        firebase_app_distribution(
            app: "1:123456789:android:abcd1234",
            testers: "tester1@company.com, tester2@company.com",
            release_notes: "Lots of amazing new features to test out!",
            android_artifact_type: "AAB"
        )
    end
end

Para que la compilación esté disponible para los probadores, ejecute su carril:

fastlane <lane>

El complemento fastlane genera los siguientes enlaces después de la carga del lanzamiento. Estos enlaces lo ayudan a administrar binarios y garantizar que los probadores y otros desarrolladores tengan la versión correcta:

  • firebase_console_uri : un vínculo a la consola de Firebase que muestra una única versión. Puede compartir este enlace con otros desarrolladores en su organización.
  • testing_uri : un vínculo a la versión en la experiencia del evaluador (aplicación nativa de Android) que permite a los evaluadores ver las notas de la versión e instalar la aplicación en su dispositivo. El probador necesita acceso a la versión para usar el enlace.
  • binary_download_uri : un enlace firmado que descarga e instala directamente el binario de la aplicación (archivo APK o AAB). El enlace caduca después de una hora.

Después de distribuir su compilación, estará disponible en el panel de distribución de aplicaciones de Firebase console durante 150 días. Cuando faltan 30 días para que caduque la compilación, aparece un aviso de caducidad en la consola y en la lista de compilaciones del probador en su dispositivo de prueba.

Los evaluadores que no fueron invitados previamente a probar la aplicación reciben invitaciones por correo electrónico para comenzar. Los probadores existentes reciben notificaciones por correo electrónico de que una nueva compilación está lista para probar. Para saber cómo instalar la aplicación de prueba, consulte la guía de configuración del probador . Puede monitorear el estado de cada evaluador para determinar si aceptaron la invitación y si descargaron la aplicación en Firebase console.

(Opcional) Para incrementar automáticamente su número de compilación cada vez que crea una nueva versión en App Distribution, puede usar la acción firebase_app_distribution_get_latest_release y, por ejemplo, el complemento fastlane increment_version_code . El siguiente código proporciona un ejemplo de cómo incrementar automáticamente su número de compilación:

lane :increment_version do
  latest_release = firebase_app_distribution_get_latest_release(
    app: "<your Firebase app ID>"
  )
  increment_version_code({ version_code: latest_release[:buildVersion].to_i + 1 })
end

Para obtener más información sobre la acción firebase_app_distribution_get_latest_release , consulte Obtener información sobre la última versión de su aplicación .

Paso 4 (Opcional). Gestión de probadores para la distribución.

Puede agregar y eliminar evaluadores de la versión de su aplicación utilizando su archivo Fastfile o ejecutando acciones de Fastlane directamente. La ejecución de acciones anula directamente los valores establecidos en su Fastfile .

Una vez que se agrega un probador a su proyecto de Firebase, puede agregarlo a versiones individuales. Los evaluadores que se eliminen de su proyecto de Firebase ya no tendrán acceso a los lanzamientos de su proyecto, pero es posible que conserven el acceso a sus lanzamientos durante un período de tiempo.

Usar Fastfile

# Use lanes to add or remove testers from an app release.
lane(:add_testers) do
  firebase_app_distribution_add_testers(
    emails: "foo@google.com,bar@google.com"
    # or file: "/path/to/testers.txt"
  )
end

lane(:remove_testers) do
  firebase_app_distribution_remove_testers(
    emails: "foo@google.com,bar@google.com"
    # or file: "/path/to/testers.txt"
  )
end
# Add or remove testers with the terminal
$ fastlane add_testers
$ fastlane remove_testers

Ejecutar acciones de vía rápida

fastlane run firebase_app_distribution_add_testers emails:"foo@google.com,bar@google.com"

fastlane run firebase_app_distribution_remove_testers emails:"foo@google.com,bar@google.com"

También puede especificar testers usando --file="/path/to/testers.txt en lugar de --emails .

Las tareas firebase_app_distribution_add_testers y firebase_app_distribution_remove_testers también aceptan los siguientes argumentos:

  • project_name : Tu número de proyecto de Firebase.
  • service_credentials_file : la ruta a su archivo de credenciales de servicio de Google.
  • firebase_cli_token : token de autenticación para Firebase CLI.

service_credentials_file y firebase_cli_token son los mismos argumentos utilizados por la acción de carga.

Paso 5 (Opcional). Obtenga información sobre la última versión de su aplicación

Puede usar la acción firebase_app_distribution_get_latest_release para obtener información sobre la última versión de su aplicación en App Distribution, incluida la información de la versión de la aplicación, las notas de la versión y el tiempo de creación. Los casos de uso incluyen el aumento automático de la versión y la transferencia de las notas de la versión anterior.

El valor de retorno de la acción es un hash que representa la última versión. Este hash también está disponible mediante lane_context[SharedValues::FIREBASE_APP_DISTRO_LATEST_RELEASE] . Para obtener más información sobre los campos disponibles en este hash, consulte la documentación de la API REST .

Parámetros

Parámetros firebase_app_distribution_get_latest_release
app

Obligatorio : el ID de aplicación de Firebase de su aplicación. Puede encontrar el ID de la aplicación en Firebase console, en la página Configuración general .

app: "1:1234567890:android:0a1b2c3d4e5f67890"
firebase_cli_token

Un token de actualización que se imprime cuando ejecuta la acción de inicio de sesión del complemento (consulte Autenticar con una cuenta de Google , más arriba) o cuando autentica su entorno de CI con Firebase CLI (lea Usar la CLI con sistemas de CI para obtener más información).

service_credentials_file

La ruta al archivo json de su cuenta de servicio de Google. Consulte más arriba cómo autenticarse con las credenciales de la cuenta de servicio .

debug

Una bandera booleana. Puede establecer esto en true para imprimir la salida de depuración detallada.

Próximos pasos

Conozca las prácticas recomendadas para distribuir aplicaciones de Android a evaluadores de control de calidad mediante CI/CD .