Ir a la consola

Distribuye apps para Android a los verificadores con Gradle

Puedes 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.

Antes de comenzar

Si aún no lo hiciste, agrega Firebase a tu proyecto de Android.

Si no utilizas ningún otro producto de Firebase, solo tienes que crear un proyecto y registrar tu app. Sin embargo, si decides usar productos adicionales en el futuro, asegúrate de completar todos los pasos en la página vinculada anteriormente.

1. Configura tu proyecto de Android

En el archivo Gradle (generalmente app/build.gradle) de tu módulo (en el nivel de la app), incluye el complemento de App Distribution debajo del complemento para Android:

apply plugin: 'com.android.application'
// ...

apply plugin: 'com.google.firebase.appdistribution'
// ...

buildscript {
    repositories {
        google()
    }
    dependencies {
        classpath 'com.google.firebase:firebase-appdistribution-gradle:1.1.0'
    }
}

2 Autentica con Firebase

Antes de poder usar el complemento de Gradle, primero debes realizar la autenticación con tu proyecto de Firebase. Puedes realizarla de las siguientes tres maneras:

Autentica con la Cuenta de Google

  1. Ejecuta el siguiente comando:
    ./gradlew appDistributionLogin
    
    El comando imprime un vínculo de autenticación.
  2. Abre el vínculo en un navegador.

  3. Cuando se te solicite, accede a tu Cuenta de Google y otorga permiso para acceder a tu proyecto de Firebase. El comando Gradle imprime un token de actualización, que el complemento de App Distribution utiliza para autenticar con Firebase.

  4. Configura la variable de entorno FIREBASE_TOKEN en el token del paso anterior de la siguiente manera:
    export FIREBASE_TOKEN=<token>
    

Autentica con una cuenta de servicio

La autenticación con una cuenta de servicio te permite utilizar de manera flexible el complemento con tu sistema de integración continua (IC). Existen dos formas de proporcionar las credenciales de cuenta de servicio:

  • Pasa el archivo de claves de la cuenta de servicio a build.gradle. Este método podría resultarte útil si ya tienes el archivo de claves de tu cuenta de servicio en el entorno de compilación.
  • Configura la variable de entorno GOOGLE_APPLICATION_CREDENTIALS para que apunte al archivo de claves de tu cuenta de servicio. Es posible que prefieras este método si ya configuraste las ADC para otro servicio de Google (p. ej., Google Cloud Platform).

Sigue estos pasos para autenticar con credenciales de cuenta de servicio:

  1. En Google Cloud Platform Console, selecciona tu proyecto y crea una cuenta de servicio nueva.
  2. Agrega la función Administrador de Firebase Quality.
  3. Crea una clave JSON privada y traslada la clave a una ubicación accesible para tu entorno de compilación. Asegúrate de conservar este archivo en una ubicación segura, ya que otorga acceso de administrador a tu proyecto de Firebase.
  4. Omite este paso si creaste tu app después del 20 de septiembre de 2019: En la consola de las API de Google, habilita API de Firebase App Distribution. Cuando se te indique, selecciona el proyecto que tiene el mismo nombre que tu proyecto de Firebase.
  5. Proporciona o localiza las credenciales de tu cuenta de servicio:

    1. Para pasar tu clave de cuenta de servicio Gradle, en tu archivo build.gradle, configura la propiedad serviceCredentialsFile en el archivo JSON de clave privada.
    2. Para ubicar tus credenciales con ADC, establece la variable de entorno GOOGLE_APPLICATION_CREDENTIALS. Reemplaza [PATH] con la ruta del archivo JSON de la clave privada y [FILE_NAME] con el nombre del archivo. Por ejemplo:

       export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json
      

      Para obtener más información sobre cómo autenticar con ADC, consulta Proporciona credenciales para tu aplicación.

3. Configura las propiedades de distribución

  1. En el archivo app/build.gradle, configura App Distribution. Para ello, agrega al menos una sección firebaseAppDistribution. Puedes configurar App Distribution para tipos de compilación y atributos de productos. Por ejemplo, para distribuir la compilación release a los verificadores, realiza lo siguiente:

    android {
    
        // ...
    
        buildTypes {
            release {
                firebaseAppDistribution {
                    releaseNotesFile="/path/to/releasenotes.txt"
                    testers="ali@example.com, bri@example.com, cal@example.com"
                }
            }
        }
    
        // ...
    }
    

    Y para distribuir las compilaciones debug y release en atributos de productos “demostración“ y “completos”, realiza lo siguiente:

    android {
    
        // ...
    
        buildTypes {
            debug {...}
            release {...}
        }
    
        flavorDimensions "version"
        productFlavors {
          demo {
              dimension "version"
              firebaseAppDistribution {
                  releaseNotes="Release notes for demo version"
                  testers="demo@testers.com"
              }
          }
          full {
              dimension "version"
              firebaseAppDistribution {
                  releaseNotes="Release notes for full version"
                  testers="full@testers.com"
              }
          }
        }
    
        // ...
    }
    

Usa los siguientes parámetros para configurar App Distribution:

Parámetros de compilación de App Distribution
appId

El ID de app de Firebase de la app. Solo es obligatorio si no tienes instalado el complemento de Gradle de los Servicios de Google. Puedes encontrar el ID de la app en el archivo google-services.json o en Firebase console en la página Configuración general. El valor de tu archivo build.gradle anula el resultado de valor del complemento de Gradle google-services.

serviceCredentialsFile

La ruta de acceso al archivo JSON de la clave privada de tu cuenta de servicio. Solo es obligatoria si usas la autenticación de cuentas de servicio.

releaseNotes o releaseNotesFile

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

Puedes especificar las notas de la versión directamente o la ruta a un archivo de texto sin formato.

testers o testersFile

Las direcciones de correo electrónico de los verificadores a los que quieres distribuir las compilaciones.

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


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

O bien, puedes especificar la ruta de acceso a un archivo que contenga una lista separada por comas de direcciones de correo electrónico.


testersFile="/path/to/testers.txt"
groups o groupsFile

Los grupos de verificadores a los que quieres distribuir las compilaciones (consulta Administra verificadores). Los grupos se especifican con alias de grupos, que puedes encontrar en la pestaña Verificadores en la consola de Firebase App Distribution.

Puedes especificar los grupos como una lista separada por comas de alias de grupos:


groups="qa-team, android-testers"

O bien, puedes especificar la ruta de acceso a un archivo que contenga una lista separada por comas de alias de grupos.


groupsFile="/path/to/tester-groups.txt"

4. Distribuye las apps a los verificadores

Por último, para empaquetar la app de prueba y, luego, invitar a los verificadores, compila los destinos assembleBUILD-VARIANT y appDistributionUploadBUILD-VARIANT con el wrapper de Gradle de tu proyecto, en el que BUILD-VARIANT es el atributo de producto opcional y el tipo de compilación que configuraste en el paso anterior.

Por ejemplo, para distribuir tu aplicación con la variante de compilación release, ejecuta el siguiente comando:

./gradlew assembleRelease appDistributionUploadRelease

O, si realizaste la autenticación con tu Cuenta de Google y no proporcionaste credenciales en el archivo de compilación Gradle, incluye la variable FIREBASE_TOKEN:

export FIREBASE_TOKEN=1/a1b2c3d4e5f67890
./gradlew --stop // Only needed for environment variable changes
./gradlew assembleRelease appDistributionUploadRelease

Los verificadores que no recibieron invitaciones para probar la aplicación las recibirán por correo electrónico para comenzar. Los verificadores existentes reciben notificaciones por correo electrónico en las que se indica que hay una compilación nueva lista para probarse.

Para obtener más información sobre los atributos de los productos, consulta Configura variantes de compilación.