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
- Xcode 12 (o superior)
- CocoaPods 1.9.1 (o superior)
- Una cuenta de desarrollador de Apple para 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 codelab, pero los simuladores no pueden descargar versiones).
¿Cómo utilizarás este tutorial?
¿Cómo calificaría su experiencia con la creación de aplicaciones para iOS?
2. Crear proyecto de consola Firebase
Agregar nuevo proyecto de Firebase
- Inicia sesión en Firebase.
- En Firebase console, haz clic en Agregar proyecto y luego nombra tu proyecto "Firebase Codelab".
No es necesario habilitar Google Analytics para este proyecto.
- 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
- Abra el Podfile en el mismo directorio.
cd firebase-appdistribution-ios/start Open Podfile
- 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.
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:
- 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.
- 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.
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:
- Abra la página Distribución de aplicaciones de Firebase console. Seleccione su proyecto de Firebase cuando se le solicite.
- Presione Empezar
- En la página Lanzamientos, seleccione la aplicación que desea distribuir en el menú desplegable.
- Arrastre el archivo IPA de su aplicación a la consola para cargarlo.
- 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.
- Haga clic en Distribuir para que la compilación esté disponible para los evaluadores.
Agréguese como tester al lanzamiento
En Firebase console, ahora puedes ver los testers que agregaste en la versión de tu aplicación.
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.
- 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.
- 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.
Ahora verá el lanzamiento al que ha sido invitado.
- Toque Registrar dispositivo para compartir su UDID con Firebase para que pueda actualizar el perfil de aprovisionamiento de su aplicación más tarde.
- 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":
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:
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.
- Para exportar todos los UDID, abra la pestaña Probadores y grupos.
- Haga clic en "Exportar UDID de Apple".
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:
- 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ó.
- Agregue los dispositivos registrados a su perfil de aprovisionamiento .
- 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.
- 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.
- 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.
- Si está en un dispositivo físico, presione descargar, luego instale y ejecute la aplicación.
- Cuando se inicie la aplicación, le pedirá que habilite las alertas de nuevas compilaciones. Seleccione "Activar"
- Luego le pedirá que inicie sesión. Haga clic en "Continuar".
- Inicie sesión con su cuenta de probador.
- Volverás a la aplicación. No tendrá que iniciar sesión ni aceptar alertas la próxima vez que ejecute la aplicación.
Distribuya una actualización a sus evaluadores
- Actualice su número de compilación a "2".
- 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.
- 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.
Alertas de compilación de prueba
- Asegúrate de cerrar la aplicación si estaba abierta. Reinicie la aplicación.
- Cuando la aplicación se reinicie, debería recibir una alerta de "Nueva versión disponible".
- Haga clic en "Actualizar" para recibir la última versión.
- Haga clic en "Instalar" en la siguiente pantalla.
- ¡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?
- Stackoverflow 'distribución-aplicación-firebase '
- Canal flojo de la comunidad de Firebase # distribución de aplicaciones
Informar problemas