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

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

1. Información general

Bienvenido a la Integración del SDK de distribución de aplicaciones de Firebase en el codelab de su aplicación iOS. En este laboratorio de código, 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 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 versión preliminar de una aplicación a los evaluadores en vivo
  • Cómo integrar App Distribution iOS SDK 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 únicas

Lo que necesitarás

  • Xcode 12 (o superior)
  • CocoaPods 1.9.1 (o superior)
  • Una cuenta de desarrollador de Apple para la distribución Ad Hoc
  • Un dispositivo iOS físico para realizar pruebas. (La aplicación del simulador de iOS funcionará para la mayor parte del laboratorio de código, pero los simuladores no pueden descargar versiones).

¿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 para iOS?

Principiante Intermedio Competente

2. Crear proyecto de consola de Firebase

Agregar nuevo proyecto de Firebase

  1. Inicie sesión en Firebase.
  2. En la consola de Firebase, haga clic en Agregar proyecto y luego asigne a su proyecto el nombre "Firebase Codelab".

No necesita 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 de paquete de iOS.

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

3. Obtenga el proyecto de muestra

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

Descarga dependencias y abre 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:

Podfile

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>"

Agregue Firebase a su 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 puede descargar este archivo en cualquier momento desde la página de configuración de su proyecto.

3cf9290805e7fdab.png

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

AppDistributionExample/AppDelegate.swift

import Firebase

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

AppDistributionExample/AppDelegate.swift

FirebaseApp.configure()

4. Configure alertas de nueva compilación en la aplicación con el SDK de distribución de aplicaciones

En este paso, agregará el SDK de distribución de aplicaciones de Firebase a su aplicación y mostrará alertas en la aplicación a sus evaluadores cuando haya nuevas compilaciones 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 del 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 diálogo de inicio de sesión prediseñado para mostrar a los evaluadores, y una configuración de alerta avanzada, que le permite personalizar 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 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 ha habilitado alertas. De lo contrario, muestra un diálogo preconstruido que les solicita que inicien sesión en App Distribution con su cuenta de Google.

Habilitar alertas es un proceso que se realiza una sola vez en el dispositivo de prueba y persiste entre 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 . Consulte la documentación de referencia del método ( Swift u Objective-C ) para obtener más información.

  1. Comprueba si hay compilaciones disponibles recientemente para que las instale el probador. Devuelve un objeto de liberación o un error .

Puede incluir checkForUpdate en cualquier punto de su aplicación. Por ejemplo, puede solicitar a sus evaluadores que instalen compilaciones disponibles recientemente al inicio al incluir 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 los evaluadores a descargar su aplicación

En este paso, compilará su aplicación y probará 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 evaluadores, seleccione "Cualquier dispositivo iOS (arm64)" como destino de compilación y Producto->Archivo. Una vez que se crea 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 codiseño de Apple para conocer los pasos de solución de problemas.

Distribuya su aplicación a los evaluadores

Para distribuir su aplicación a los evaluadores, cargue el archivo IPA 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. Presiona Comenzar

e4671bd304ecfe47.png

  1. En la página Versiones, 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 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. Consulte Administrar evaluadores para obtener más información sobre la creación de 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 probador del lanzamiento

En la consola de Firebase, ahora puede ver los evaluadores que agregó en el lanzamiento de su 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 a continuación para configurarse 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 distribución de aplicaciones de Firebase que aparece, inicie sesión con su cuenta de Google y toque Aceptar invitación.

4d1af345ef944620.png

Ahora verás el lanzamiento al que te invitaron.

  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 la configuración para descargar el perfil y compartir su UDID.

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

fe93d649dfa25877.png

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

Ver información del probador en la consola

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

1bef6f182c1c58f9.png

Luego, también recibirá un correo electrónico como desarrollador si el dispositivo que están usando aún no está incluido en el perfil de aprovisionamiento. Esto le notificará 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 Testers & Groups.

2745d49a6abc47fe.png

  1. Haz 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 mediante 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: recopile e ingrese 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 o la versión.
  3. Redistribuya su aplicación desde Firebase console o CLI. Si ya ha distribuido una compilación con el mismo número de compilación y versión, solo los usuarios de dispositivos registrados recientemente reciben correos electrónicos de notificación.

Descargar la versión del 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 distribución de aplicaciones usando el enlace en el correo electrónico o el ícono en la pantalla de inicio del dispositivo.

Cuando navega a la aplicación Codelab de UDID, 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 nueva compilación. Seleccione "Activar"

6e3540a2900734e6.png

  1. Luego te pedirá que inicies sesión. Haz 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 que se genera 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. Cargue este nuevo IPA en su consola Firebase, agregue su correo electrónico como probador nuevamente y Distribuya.

b6e75dc216fc3731.png

Probar alertas de compilación

  1. Asegúrate de haber cerrado 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 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 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
 }

Cree y pruebe su implementación

7. ¡Felicitaciones!

Ha integrado la función de "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 de Firebase
  • SDK de iOS de alertas nuevas de distribución de aplicaciones de Firebase

Próximos pasos

Aprende más

¿Tengo una pregunta?

Informar problemas