Alerta a los evaluadores sobre los nuevos lanzamientos de tu aplicación con Firebase App Distribution Android SDK - Codelab

1. Información general

c7a9160ef7b184c7.png22e0b52f771c060d.png

Bienvenido a Integración del SDK de distribución de aplicaciones de Firebase en el laboratorio de programación de aplicaciones de Android. En este laboratorio de código, agregará el SDK de Android de distribución de aplicaciones a su aplicación para mostrar alertas en la aplicación a sus evaluadores cuando haya nuevas compilaciones disponibles para descargar. Aprenderá a usar una configuración básica y una configuración personalizada para que sus evaluadores inicien sesión para recibir actualizaciones. Luego, enviará una nueva versión a App Distribution y activará una nueva alerta de compilación directamente en la aplicación.

lo que aprenderás

  • Cómo usar App Distribution para distribuir una aplicación preliminar a los probadores
  • Cómo integrar el SDK de Android App Distribution en su aplicación
  • Cómo alertar a un probador cuando hay una nueva versión preliminar lista para instalar
  • Cómo personalizar el SDK para que se ajuste a sus necesidades de prueba

Lo que necesitarás

  • Última versión de Android Studio .
  • Código de muestra.
  • Un dispositivo de prueba con Android 4.4+ y servicios de Google Play 9.8 o posterior, o un emulador con servicios de Google Play 9.8 o posterior.
  • Si usa un dispositivo, un cable de conexión.

¿Cómo utilizará este tutorial?

Léalo solo Léelo y completa los ejercicios.

¿Cómo calificaría su experiencia con la creación de aplicaciones de Android?

Principiante Intermedio Competente

2. Obtenga el código de muestra

Clone el repositorio de GitHub desde la línea de comandos.

$ git clone https://github.com/FirebaseExtended/codelab-appdistribution-android.git

Si no tiene git instalado, también puede descargar el proyecto de muestra desde su página de GitHub o haciendo clic en este enlace .

3. Importa la aplicación de inicio

Desde Android Studio, seleccione el directorio codelab-appdistribution-android/start ( carpeta_estudio_de_android.png ) de la descarga del código de muestra ( Archivo > Abrir > .../codelab-appdistribution-android/start).

Ahora debería tener el proyecto de inicio abierto en Android Studio.

4. Crea un proyecto de consola Firebase

Agregar un nuevo proyecto de Firebase

  1. Abre la consola de Firebase .
  2. Seleccione Agregar proyecto y, a continuación, asigne a su proyecto el nombre "Firebase Codelab".

No necesita habilitar Google Analytics para este proyecto.

  1. Haga clic en Crear proyecto .

Agregar una aplicación a Firebase

Registra tu aplicación con Firebase . Utilice "com.google.firebase.appdistributioncodelab" como nombre del paquete.

Agregue el archivo google-services.json a su aplicación

Después de agregar el nombre del paquete y seleccionar Registrarse, siga estos pasos para agregar google-services.json a su aplicación:

  1. Haga clic en Descargar google-services.json para obtener su archivo de configuración de Firebase Android.
  2. Copie el archivo google-services.json en el directorio app de su proyecto.
  3. Después de descargar el archivo, puede omitir los siguientes pasos que se muestran en la consola (ya se han realizado en el proyecto build-android-start).

Actualice el ID de la aplicación para que coincida con su aplicación de Firebase

  1. En el menú de la izquierda (pestaña Proyecto), asegúrese de estar en la vista "Android" y ubique la pestaña "Gradle Scripts" y abra el archivo Gradle de su módulo (nivel de aplicación) (generalmente app/build.gradle.kts ).
  2. Cambie la propiedad applicationId para que coincida con el ID de la aplicación de su aplicación de Firebase. Debería ser "com.google.firebase.appdistributioncodelab"

Sincroniza tu proyecto con archivos Gradle

Para asegurarse de que todas las dependencias estén disponibles para su aplicación, sincronice su proyecto con archivos Gradle seleccionando Archivo > Sincronizar proyecto con archivos Gradle en la barra de herramientas de Android Studio.

5. Configure alertas de nueva compilación en la aplicación con el SDK de Android App Distribution

En este paso, agregará el SDK de Android de Firebase App Distribution a su aplicación y mostrará alertas en la aplicación a sus evaluadores cuando haya nuevas compilaciones disponibles para instalar. Para hacer esto, asegúrese de haber habilitado la API de Firebase App Testers para su proyecto "Firebase Codelab" (en Google Cloud Console). Debe iniciar sesión con la misma cuenta y seleccionar el proyecto correcto en el menú desplegable en la parte superior.

Configurar alertas en la aplicación

El SDK de Android App Distribution proporciona dos formas de configurar alertas de compilación en la aplicación para sus evaluadores:

  • Una configuración de alerta básica, que viene con un cuadro de diálogo preconstruido para mostrar a los evaluadores.
  • Una configuración de alerta avanzada, que le permite personalizar su interfaz de usuario (UI).

Comenzaremos con la configuración básica de alertas. Puede usar updateIfNewReleaseAvailable para mostrar un cuadro de diálogo de alertas de habilitación preconstruido para los evaluadores que aún no han habilitado alertas y luego verificar si hay una nueva compilación disponible. Los evaluadores activan las alertas iniciando sesión en una cuenta que tiene acceso a la aplicación en App Distribution. Cuando se llama, el método ejecuta la siguiente secuencia:

  1. Comprueba si un probador habilitó alertas. De lo contrario, el método muestra un cuadro de diálogo preconstruido que solicita a los evaluadores que inicien sesión en App Distribution con su cuenta de Google.

Habilitar alertas es un proceso único en el dispositivo de prueba que persiste a través de las actualizaciones de su aplicación. Las alertas permanecen habilitadas en el dispositivo de prueba hasta que se desinstala la aplicación o hasta que se llama al método signOutTester .

  1. Comprueba si hay compilaciones disponibles recientemente para que las instale el probador.
  2. Muestra una alerta prediseñada que solicita al probador que descargue la última versión.
  3. Comprueba el nuevo tipo de compilación antes de continuar con la actualización:
  4. Si la nueva compilación es un paquete de aplicaciones (AAB), redirige al evaluador a Play Store para completar el proceso de actualización.
  5. Si la nueva compilación es un APK, el SDK descarga la nueva compilación en segundo plano y solicita al probador que instale la nueva compilación cuando se completa la descarga. El SDK envía notificaciones de progreso de descarga al usuario mediante NotificationManager. Puede agregar su propio indicador de progreso adjuntando un controlador onProgressUpdate a la tarea updateIfNewReleaseAvailable .

Puede llamar updateIfNewReleaseAvailable() en cualquier punto de su aplicación. Por ejemplo, puede llamar updateIfNewReleaseAvailable() durante el método onResume() de MainActivity:

Abra MainActivity.kt y cree el método onResume() así:

MainActivity.kt

override fun onResume() {
    super.onResume()
    checkForUpdate()
}

Ahora implementemos el método checkForUpdate() .

MainActivity.kt

   private fun checkForUpdate() {
        firebaseAppDistribution.updateIfNewReleaseAvailable()
            .addOnProgressListener { updateProgress ->
                // (Optional) Implement custom progress updates in addition to
                // automatic NotificationManager updates.
            }
            .addOnFailureListener { e ->
                if (e is FirebaseAppDistributionException) {
                    // Handle exception.
                }
            }
    }

6. Cree e invite a los evaluadores a descargar su aplicación

En este paso, crea su aplicación y prueba su implementación mediante la distribución de la compilación a los probadores mediante la consola de Firebase.

Crea tu aplicación

Cuando esté listo para distribuir una versión preliminar de su aplicación a los probadores, cree su APK usando su proceso habitual. Debes firmar el APK con tu clave de depuración o clave de firma de la aplicación.

Distribuya su aplicación a los evaluadores

Para distribuir su aplicación a los evaluadores, cargue el archivo APK mediante la consola de Firebase:

  1. Abra la página Distribución de aplicaciones de Firebase console. Seleccione su proyecto de Firebase cuando se le solicite.
  2. En la página Versiones, seleccione la aplicación que desea distribuir en el menú desplegable.

623460c3c8a82ce6.png

  1. Haga clic en Comenzar

bf503b25066ff4a4.png

  1. Arrastra el archivo APK de tu aplicación a la consola para cargarlo.
  2. Cuando se complete la carga, especifique los grupos de probadores y los probadores individuales que desea recibir la compilación. (Agregue su correo electrónico para recibir la invitación). Luego, agregue las notas de la versión para la compilación. Para obtener más información sobre cómo crear grupos de evaluadores, consulte Agregar y quitar evaluadores .

3343048f0930e84b.png

  1. Haga clic en Distribuir para que la compilación esté disponible para los probadores.

2be58fe195928bf9.png

En la consola de Firebase, ahora puede ver los evaluadores que agregó en el lanzamiento de su aplicación.

9935a41810344c61.png

Dado que incluyó su dirección de correo electrónico, recibirá un correo electrónico de Firebase App Distribution invitándolo a probar la aplicación. ¡Ahora eres el primer probador! Siga las instrucciones en Aceptar la invitación para configurarse como probador en su dispositivo de prueba.

Acepta la invitación

Primero deberá aceptar la invitación para descargar y probar la versión.

  1. En su dispositivo de prueba Android, abra el correo electrónico enviado desde Firebase App Distribution y toque Comenzar .
  2. En la aplicación web del probador de distribución de aplicaciones de Firebase que aparece, inicie sesión con su cuenta de Google y toque Aceptar invitación. Ahora puede ver la versión que está invitado a probar.

c18cb684f8e82ad6.png

Descargar la versión del dispositivo de prueba

Cuando navega a la aplicación Codelab de AppDistribution, puede ver que la versión está lista para descargar.

5414d9a536f25ece.png

  1. Toque Descargar , luego instale y ejecute la aplicación.
  2. Cuando se inicia la aplicación, le pide que habilite las alertas de nueva compilación. Presiona Activar .

b059e09acaa4779f.png

  1. Inicie sesión con su cuenta de probador..

22e0b52f771c060d.png

Volverá a la aplicación. La próxima vez que ejecute la aplicación, no necesita iniciar sesión ni aceptar alertas

c9f33df16a2680d.png

Distribuya una actualización a sus evaluadores

  1. Actualice su versionName a "1.1" y versionCode a 2 en su archivo Gradle de módulo (nivel de aplicación) (generalmente app/build.gradle).
  2. Cree su APK usando su proceso normal. Debes firmar el APK con tu clave de depuración o clave de firma de la aplicación.
  3. Cargue este nuevo APK en su consola Firebase, agregue su correo electrónico como probador nuevamente y haga clic en Distribuir .

2dfa702edfdce6b8.png

Probar alertas de compilación

  1. Asegúrate de haber cerrado la aplicación si estaba abierta.
  2. Reinicie la aplicación.
  3. Cuando la aplicación se reinicia, recibe una alerta de Nueva versión disponible.

987e3d0ba4e56f84.png

  1. Para recibir la última versión, haga clic en Actualizar .
  2. Si se le solicita, elija la opción para habilitar las instalaciones de fuentes desconocidas.
  3. Haga clic en Instalar (o Actualizar ) en la siguiente pantalla.

a7c7cd15d60bc764.png

  1. ¡Felicidades! Pudiste actualizar tu aplicación con las alertas integradas.

7. Personaliza el inicio de sesión del evaluador

Los métodos signInTester/signOutTester e isTesterSignedIn le brindan más flexibilidad al personalizar la experiencia de inicio de sesión de su evaluador, para que pueda adaptarse mejor a la apariencia de su aplicación.

El siguiente ejemplo verifica si el evaluador ya inició sesión en su cuenta de evaluador de Firebase App Distribution, por lo que puede optar por mostrar su IU de inicio de sesión solo para los evaluadores que aún no han iniciado sesión. Una vez que el evaluador haya iniciado sesión, puede llame a checkForUpdate para verificar si el evaluador tiene acceso a una nueva compilación.

Desactivemos la comprobación de actualizaciones automáticamente en onResume comentando la llamada checkForUpdate() .

MainActivity.kt

override fun onResume() {
        super.onResume()
        //checkForupdate()
    }

En su lugar, checkForUpdate() ya está agregado en OnClickListener de updatebutton.

Ahora, implementemos nuestro método signIn() que iniciará la sesión del usuario si ya ha iniciado sesión, o cerrará la sesión del usuario si ya ha iniciado sesión.

MainActivity.kt

    private fun signIn() {
        if (isTesterSignedIn()) {
            firebaseAppDistribution.signOutTester()
            configureUpdateButton()
            configureSigninButton()
        } else {
            firebaseAppDistribution.signInTester()
        }
    }

Finalmente, implementemos el método isTesterSignedIn .

MainActivity.kt

    private fun isTesterSignedIn() : Boolean {
        return firebaseAppDistribution.isTesterSignedIn
    }

Cree y pruebe su implementación

8. ¡Felicitaciones!

Ha integrado la función de "visualización de alertas en la aplicación" en una aplicación mediante el SDK de Android de Firebase App Distribution.

Lo que hemos cubierto

  • Distribución de aplicaciones de Firebase
  • SDK de Android de nuevas alertas de Firebase App Distribution

Próximos pasos

Aprende más

¿Tengo una pregunta?

Informar problemas