Alerte a los evaluadores sobre los nuevos lanzamientos de su aplicación con el SDK de iOS de Firebase App Distribution - Codelab

1. Información general

Bienvenido a Integración del SDK de distribución de aplicaciones de Firebase en el codelab de tu aplicación iOS. En este codelab, agregará el SDK 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 utilizar una configuración básica y una configuración personalizada para que sus evaluadores inicien sesión y reciban actualizaciones. Luego, enviará una nueva versión a App Distribution y activará una alerta de nueva compilación directamente en la aplicación.

lo que aprenderás

  • Cómo utilizar App Distribution para distribuir una aplicación preliminar a los evaluadores en vivo
  • Cómo integrar el SDK de iOS de App Distribution en su aplicación
  • Cómo alertar a un evaluador cuando hay una nueva versión preliminar lista para instalar
  • Cómo personalizar el SDK para que se ajuste a sus necesidades de prueba específicas

Lo que necesitarás

¿Cómo utilizarás este tutorial?

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

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

Principiante Intermedio Competente

2. Crear proyecto de consola Firebase

Agregar nuevo proyecto de Firebase

  1. Inicia sesión en Firebase.
  2. En Firebase console, haz clic en Agregar proyecto y luego nombra tu proyecto "Firebase Codelab".

No es necesario habilitar Google Analytics para este proyecto.

  1. Haga clic en Crear proyecto .

Agregar aplicación a Firebase

Siga la documentación para registrar su aplicación con Firebase. Utilice "com.google.firebase.codelab.AppDistribution.<your_name>" como ID del paquete de iOS.

Cuando se le solicite, descargue el archivo GoogleService-Info.plist de su proyecto. Lo necesitarás más tarde.

3. Obtenga el proyecto de muestra

Descargar el Código

Comience clonando el proyecto de muestra.

git clone git@github.com:googlecodelabs/firebase-appdistribution-ios.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 .

Descargue dependencias y abra el proyecto en Xcode

  1. Abra el Podfile en el mismo directorio.
cd firebase-appdistribution-ios/start
Open Podfile
  1. Agregue la siguiente línea a su podfile:

archivo de pods

pod 'Firebase/AppDistribution'

Ejecute pod update en el directorio del proyecto y abra el proyecto en Xcode.

pod install --repo-update
xed .

Actualice el identificador de paquete para que coincida con su aplicación Firebase

En el menú de la izquierda, haga doble clic en AppDistributionExample. Luego, ubique la pestaña General y cambie el identificador del paquete para que coincida con el identificador del paquete de su aplicación Firebase, que se puede encontrar en la configuración del proyecto . Debería ser "com.google.firebase.codelab.AppDistribution.<tu_nombre>"

Agrega Firebase a tu aplicación

Localice el archivo GoogleService-Info.plist que descargó anteriormente en su sistema de archivos y arrástrelo a la raíz del proyecto Xcode. También puedes descargar este archivo en cualquier momento desde la página de configuración de tu proyecto.

3cf9290805e7fdab.png

En su archivo AppDistributionExample/AppDelegate.swift importe Firebase en la parte superior del archivo

Ejemplo de distribución de aplicaciones/AppDelegate.swift

import Firebase

Y en el método didFinishLaunchingWithOptions agregue una llamada para configurar Firebase.

Ejemplo de distribución de aplicaciones/AppDelegate.swift

FirebaseApp.configure()

4. Configure alertas de nuevas compilaciones en la aplicación con el SDK de distribución de aplicaciones

En este paso, agregará el SDK de Firebase App Distribution a su aplicación y mostrará alertas dentro de la aplicación a sus evaluadores cuando haya nuevas versiones de su aplicación 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). Deberá 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 distribución de aplicaciones 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 de inicio de sesión prediseñado para mostrar a los evaluadores, y una configuración de alerta avanzada, que le permite personalice su propia interfaz de usuario (UI).

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

  1. Comprueba si un probador ha habilitado las alertas. De lo contrario, muestra un diálogo prediseñado que les solicita que inicien sesión en App Distribution con su cuenta de Google.

La habilitación de alertas es un proceso único en el dispositivo de prueba y persiste en todas las actualizaciones de su aplicación. Las alertas permanecen habilitadas en el dispositivo de prueba hasta que se desinstale la aplicación o hasta que se llame al método signOutTester . Consulte la documentación de referencia del método ( Swift u Objective-C ) para obtener más información.

  1. Comprueba si hay compilaciones nuevas disponibles para que las instale el probador. Devuelve un objeto de lanzamiento o un error .

Puede incluir checkForUpdate en cualquier punto de su aplicación. Por ejemplo, puede solicitar a sus evaluadores que instalen compilaciones recientemente disponibles al inicio incluyendo checkForUpdate en viewDidAppear de UIViewController .

En su archivo AppDistributionViewController.swift importe Firebase en la parte superior del archivo

AppDistributionViewController.swift

import Firebase

Abra AppDistributionExample/AppDistributionViewController.swift y copie líneas en el método viewDidAppear de esta manera:

AppDistributionViewController.swift

 override func viewDidAppear(_ animated: Bool) {
    checkForUpdate()
 }

Ahora implementemos el método checkForUpdate().

AppDistributionViewController.swift

  private func checkForUpdate() {
    AppDistribution.appDistribution().checkForUpdate(completion: { [self] release, error in
      var uiAlert: UIAlertController

      if error != nil {
        uiAlert = UIAlertController(title: "Error", message: "Error Checking for update! \(error?.localizedDescription ?? "")", preferredStyle: .alert)
      } else if release == nil {
        uiAlert = UIAlertController(title: "Check for Update", message: "No releases found!!", preferredStyle: .alert)
        uiAlert.addAction(UIAlertAction(title: "Ok", style: UIAlertAction.Style.default))
      } else {
        guard let release = release else { return }

        let title = "New Version Available"
        let message = "Version \(release.displayVersion)(\(release.buildVersion)) is available."
        uiAlert = UIAlertController(title: title, message: message, preferredStyle: .alert)

        uiAlert.addAction(UIAlertAction(title: "Update", style: UIAlertAction.Style.default) {
          _ in
          UIApplication.shared.open(release.downloadURL)
        })
        uiAlert.addAction(UIAlertAction(title: "Cancel", style: UIAlertAction.Style.cancel) {
          _ in
        })
      }
      self.present(uiAlert, animated: true, completion: nil)
    })
  }

5. Cree e invite a probadores a descargar su aplicación.

En este paso, creará su aplicación y probará su implementación distribuyéndola a los evaluadores mediante Firebase console.

Crea tu aplicación

Cuando esté listo para distribuir una versión preliminar de su aplicación a los evaluadores, seleccione "Cualquier dispositivo iOS (arm64)" como destino de compilación y Producto->Archivar. Una vez creado el archivo, cree una distribución firmada con el perfil de distribución de desarrollo.

98d8eb042c36a685.png

b2e9ccff91d761c1.png

8e815564f64d2d39.png

Cuando se completa la compilación, guarda un archivo IPA y algunos archivos de registro en la carpeta que especifique. Distribuya el archivo IPA a sus evaluadores en los siguientes pasos.

Si tiene problemas para crear su aplicación, consulte los documentos de diseño de código de Apple para conocer los pasos para solucionar el problema.

Distribuya su aplicación a los evaluadores

Para distribuir tu aplicación a los evaluadores, carga el archivo IPA usando Firebase console:

  1. Abra la página Distribución de aplicaciones de Firebase console. Seleccione su proyecto de Firebase cuando se le solicite.
  2. Presione Empezar

e4671bd304ecfe47.png

  1. En la página Lanzamientos, seleccione la aplicación que desea distribuir en el menú desplegable.

8a3da2939b9746f4.png

  1. Arrastre el archivo IPA de su aplicación a la consola para cargarlo.
  2. Cuando se complete la carga, especifique los grupos de probadores y los probadores individuales que desea que reciban la compilación. (Agregue su correo electrónico para recibir la invitación). Luego, agregue notas de la versión para la compilación. Consulte Administrar evaluadores para obtener más información sobre cómo crear grupos de evaluadores.

de63e3c3c64f909e.png

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

b6e75dc216fc3731.png

Agréguese como tester al lanzamiento

En Firebase console, ahora puedes ver los testers que agregaste en la versión de tu aplicación.

eb61c6be96ff3a11.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! Continúe con la sección siguiente para configurarlo como probador en su dispositivo de prueba.

Registre su dispositivo de prueba

Primero deberá registrar su dispositivo de prueba para descargar y probar una versión Ad Hoc.

  1. En su dispositivo de prueba iOS, abra el correo electrónico enviado desde Firebase App Distribution y toque el enlace Comenzar. Asegúrate de abrir el enlace en Safari.
  2. En la aplicación web del probador de Firebase App Distribution que aparece, inicie sesión con su cuenta de Google y toque Aceptar invitación.

4d1af345ef944620.png

Ahora verá el lanzamiento al que ha sido invitado.

  1. Toque Registrar dispositivo para compartir su UDID con Firebase para que pueda actualizar el perfil de aprovisionamiento de su aplicación más tarde.

fd141215e54a938d.png

  1. Siga las instrucciones y vaya a configuración para descargar el perfil y compartir su UDID.

Ahora, cuando regresa a Distribución de aplicaciones, la versión ahora está marcada como "Dispositivo registrado":

fe93d649dfa25877.png

El UDID del evaluador ahora se ha compartido con el desarrollador. Ahora depende del desarrollador crear para el evaluador una nueva versión de la aplicación.

Ver información del probador en la consola

De vuelta en la vista del desarrollador en Firebase console, el probador aparecerá como "Aceptado" en la versión:

1bef6f182c1c58f9.png

Luego, también recibirás un correo electrónico como desarrollador si el dispositivo que están utilizando aún no está incluido en el perfil de aprovisionamiento. Esto le notificará sobre el nuevo UDID que necesita agregar. También tiene la opción de exportar todos los UDID como un archivo de texto.

  1. Para exportar todos los UDID, abra la pestaña Probadores y grupos.

2745d49a6abc47fe.png

  1. Haga clic en "Exportar UDID de Apple".

cb45477f8cc436ba.png

El archivo debe contener el UDID de su dispositivo de prueba.

Device ID            Device Name                            Device Platform
1234567890     tester.app.distribtuion@gmail.com - iPhone SE 2nd Gen        ios

Cuando reciba uno de estos correos electrónicos, actualice su perfil de aprovisionamiento con el UDID y distribuya una nueva compilación a sus evaluadores siguiendo estos pasos:

  1. Agregue los dispositivos a su portal de desarrolladores de Apple.
  • Opción 1: importe los UDID del dispositivo como un archivo CSV. En la pestaña Probadores y grupos del panel de distribución de aplicaciones, seleccione Todos los probadores y luego haga clic en Exportar UDID de Apple para descargar un archivo CSV. A continuación, importe el archivo a su cuenta de desarrollador de Apple utilizando la opción Registrar varios dispositivos. Consulte la documentación de Apple para obtener más información. Tenga en cuenta que es posible que su cuenta de desarrollador de Apple solo le permita importar una cantidad limitada de dispositivos por año.
  • Opción 2: Recopilar e ingresar los UDID por correo electrónico. En la página Agregar dispositivos del portal para desarrolladores de Apple, registre el nuevo UDID especificado en el correo electrónico que recibió.

ffb74294e68ee1c8.png

  1. Agregue los dispositivos registrados a su perfil de aprovisionamiento .
  2. Descargue el perfil de aprovisionamiento y utilícelo para reconstruir su aplicación. Si está reconstruyendo solo para actualizar los dispositivos registrados, no actualice el número de compilación ni la versión.
  3. Redistribuya su aplicación desde Firebase console o CLI. Si ya distribuyó una compilación con el mismo número de compilación y versión, solo los usuarios de dispositivos recién registrados recibirán correos electrónicos de notificación.

Descargue la versión desde el dispositivo de prueba

Ahora la versión tiene el UDID del dispositivo de prueba, por lo que el dispositivo de prueba puede descargar e instalar la aplicación. App Distribution envía un correo electrónico a los evaluadores cuando su UDID se agrega a una nueva versión.

a4049260bae2850b.png

  1. En el dispositivo de prueba, regrese a la aplicación web del probador de App Distribution mediante el enlace del correo electrónico o el ícono en la pantalla de inicio del dispositivo.

Cuando navega a la aplicación UDID codelab, puede ver que la versión está lista para descargar.

papá6d03b6ad78746.png

  1. Si está en un dispositivo físico, presione descargar, luego instale y ejecute la aplicación.
  2. Cuando se inicie la aplicación, le pedirá que habilite las alertas de nuevas compilaciones. Seleccione "Activar"

6e3540a2900734e6.png

  1. Luego le pedirá que inicie sesión. Haga clic en "Continuar".

82d90d7935bfaea0.png

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

13bee1d03fa94ebf.png

  1. Volverás a la aplicación. No tendrá que iniciar sesión ni aceptar alertas la próxima vez que ejecute la aplicación.

815d6757eb5f6327.png

Distribuya una actualización a sus evaluadores

  1. Actualice su número de compilación a "2".

861aa63ebbc6ec54.png

  1. Seleccione "Cualquier dispositivo iOS (arm64)" como destino de compilación y Producto->Archivo. Una vez generado el archivo, cree una distribución firmada con el perfil de distribución de desarrollo.
  2. Cuando se completa la compilación, guarda un archivo IPA y algunos archivos de registro en la carpeta que especifique. Sube esta nueva IPA a tu Firebase console, agrega tu correo electrónico como tester nuevamente y distribuye.

b6e75dc216fc3731.png

Alertas de compilación de prueba

  1. Asegúrate de cerrar la aplicación si estaba abierta. Reinicie la aplicación.
  2. Cuando la aplicación se reinicie, debería recibir una alerta de "Nueva versión disponible".

3bd532992df458e6.png

  1. Haga clic en "Actualizar" para recibir la última versión.
  2. Haga clic en "Instalar" en la siguiente pantalla.

3a761d8fa4b79d33.png

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

6. Personaliza el inicio de sesión del tester

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

En el siguiente ejemplo se verifica si el evaluador ya inició sesión en su cuenta de probador de Firebase App Distribution, por lo que puede elegir mostrar su interfaz de usuario 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.

Deshabilitemos la verificación automática de actualizaciones en viewDidAppea r comentando la llamada checkForUpdate() .

AppDistributionViewController.swift

 override func viewDidAppear(_ animated: Bool) {
    // checkForUpdate()
 }

En su lugar, llamemos a checkForUpdate() en checkForUpdateButtonClicked( ).

 @objc func checkForUpdateButtonClicked() {
    checkForUpdate()
 }

Ahora, implementemos nuestro método signInOutButtonClicked() 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.

AppDistributionViewController.swift

 @objc func signInOutButtonClicked() {
    if isTesterSignedIn() {
      AppDistribution.appDistribution().signOutTester()

      self.configureCheckForUpdateButton()
      self.configureSignInSignOutButton()
      self.configureSignInStatus()

    } else {
      AppDistribution.appDistribution().signInTester(completion: { error in
        if error == nil {
          self.configureCheckForUpdateButton()
          self.configureSignInSignOutButton()
          self.configureSignInStatus()
        } else {
          let uiAlert = UIAlertController(title: "Custom:Error", message: "Error during tester sign in! \(error?.localizedDescription ?? "")", preferredStyle: .alert)
          uiAlert.addAction(UIAlertAction(title: "Ok", style: UIAlertAction.Style.default) {
            _ in
          })

          self.present(uiAlert, animated: true, completion: nil)
        }
      })
    }
  }

Finalmente, implementemos el método isTesterSignedI n.

AppDistributionViewController.swift

 private func isTesterSignedIn() -> Bool {
    return AppDistribution.appDistribution().isTesterSignedIn
 }

Construya y pruebe su implementación

7. ¡Felicitaciones!

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

Lo que hemos cubierto

  • Distribución de aplicaciones Firebase
  • Distribución de aplicaciones de Firebase Nuevas alertas SDK para iOS

Próximos pasos

Aprende más

¿Tengo una pregunta?

Informar problemas