Inicios de sesión más rápidos con la función Autocompletar de contraseñas en iOS 11

Lo que vas a crear

Autocompletar contraseña en iOS 11

El inicio de sesión es el primer paso que un usuario debe tomar cuando comienza con una aplicación que requiere una cuenta. Esto generalmente toma varios segundos si el usuario recuerda sus credenciales y puede escribirlas de inmediato. Otros usuarios, en cambio, pueden tener que cambiar a su servicio de administrador de contraseña preferido (iCloud Keychain, 1Password, LastPass, etc.) para copiar su nombre de usuario y contraseña. No hace falta decir que esta interacción ralentiza a los usuarios, y algunos de ellos simplemente abandonarán el proceso..

Ha habido algunos intentos de mejorar esta experiencia. 1Password, por ejemplo, ofrece una buena extensión que los desarrolladores de aplicaciones pueden aprovechar. Otra solución que ya se incluye en iOS desde WWDC 2014 es Safari Shared Credentials. 

Sin embargo, en iOS 11, Apple ha introducido una manera aún más sencilla de simplificar el proceso de inicio de sesión: la nueva API de Autocompletar de Contraseña. En comparación con las soluciones anteriores, es más fácil de usar para los usuarios y más rápido de implementar para los desarrolladores.

En esta publicación, aprenderá cómo acelerar el proceso de inicio de sesión y mejorar la retención de usuarios con Password AutoFill, una nueva API introducida en iOS 11.

Introducción

La función Autocompletar con contraseña le permite a los usuarios completar sus credenciales de inicio de sesión directamente en su aplicación al interactuar con la barra de QuickType que se muestra sobre el teclado. Mejorar el flujo de inicio de sesión aumentará su retención de usuarios, así como la reputación de su aplicación. Después de este tutorial, podrá acortar la duración del flujo de inicio de sesión a solo unos segundos. 

Hay dos pasos para implementar la Autocompletar contraseña en su aplicación:

  • Muestre la barra de QuickType con el icono de la llave y permita que los usuarios elijan manualmente el inicio de sesión correcto.
  • Opcionalmente, enlace su aplicación y sitio web de forma segura, de modo que la barra de QuickType pueda sugerir el inicio de sesión correcto para el usuario para acelerar aún más el proceso.

La barra de QuickType

El primer paso es hacer que la barra de QuickType aparezca con el botón de la tecla. Después de este paso, los usuarios podrán tocarlo y seleccionar manualmente el inicio de sesión correcto desde el controlador de vista presentado. La única propiedad necesaria para hacer que aparezca la barra de QuickType es establecer la contenido del texto propiedad en su UITextField o UITextView objeto. Si tiene un control personalizado que se ajuste a , se aplicará el mismo código.

Debe agregar esta propiedad a sus campos de correo electrónico / nombre de usuario y contraseña. Una implementación común sería la siguiente:

usernameTextField.textContentType = .username passwordTextField.textContentType = .password

iOS mostrará la barra de QuickType en todos los dispositivos que ejecutan iOS 11 cuando se guarde al menos una contraseña en el llavero. Si está probando en el simulador y no ve aparecer la barra de QuickType, es muy probable que su llavero esté vacío..

Después de que el usuario presiona el icono de la tecla y se autentica a través de Touch ID, se presenta una lista de todas las contraseñas guardadas. El usuario puede buscar o desplazarse, y cuando se encuentran las credenciales correctas, con un solo toque los campos de inicio de sesión se completarán.

Como puede ver, la parte más lenta en este proceso es encontrar el inicio de sesión correcto en el llavero. En la siguiente sección veremos cómo podemos eliminar este paso y mejorar aún más la experiencia..

Credenciales Sugerencias

También puede indicar a iOS el sitio web con el que está asociada su aplicación. Si el llavero contiene credenciales guardadas desde Safari en iOS o macOS, se sugerirán esas credenciales, eliminando la molestia de buscarlas manualmente en el llavero..

Si ya está utilizando Universal Links, su aplicación debería mostrar las credenciales de su sitio web en la barra de QuickType. iOS sabe qué sitio web está asociado con su aplicación, por lo que está 100% listo para sugerir credenciales.

Otra forma de vincular fuertemente su aplicación y su sitio web, sin necesidad de Universal Links, es un servicio de dominio asociado con credenciales web. 

Cambie a la configuración de su proyecto Xcode, vaya a la Capacidades pestaña, y encienda Dominios asociados. Agregue la URL de su sitio web aquí. Digamos que el nombre de dominio de su sitio web es amazingwebsite.com: el nombre de dominio listado debe ser webcredentials: amazingwebsite.com.

Eso es todo para la configuración en el proyecto Xcode. iOS ahora conoce el sitio web asociado a su aplicación. El último paso es cargar un archivo en su servidor, para que iOS pueda verificar que es el propietario del sitio web que está tratando de asociar con la aplicación. (Esto es para evitar que las aplicaciones maliciosas roben credenciales de otros sitios web).

Cree un nuevo archivo de texto (fuera de su proyecto Xcode si lo prefiere) llamado asociación-sitio-asociación-manzana. Este es un nombre estándar que iOS busca en su servidor mediante una conexión segura (debe tener SSL configurado en su servidor). El contenido del archivo también es bastante estándar. Solo copia y pega el siguiente código.

"webcredentials": "apps": ["1EMDW8DVTP.com.patrickbalestra.AutoFill"]

Debes cambiar la cadena en el aplicaciones La matriz será su ID de equipo (que se puede encontrar en el portal de desarrolladores en la sección de miembros), seguida de un punto y el identificador del paquete de la aplicación. Crea una carpeta llamada .bien conocido en el directorio raíz de su servidor y cargue el archivo en él.

Para asegurarse de que todo salió como se esperaba, verifique en un navegador web si el archivo existe en la dirección especificada. Esta es mi dirección, por ejemplo: https://patrickbalestra.com/.well-known/apple-app-site-association. 

Si ve el archivo JSON correctamente, como en la siguiente imagen, está todo listo.

Inicie la aplicación y observe que la barra de QuickType sugiere las credenciales de su sitio web para que pueda iniciar sesión con un solo toque.

Si desea obtener más información sobre la función Autocompletar con contraseña, consulte la sesión 206 en WWDC 2017.

Conclusión

Como acabamos de ver, la implementación de Autocompletar contraseña es muy fácil. Debe considerar tomarse unos minutos para implementarlo para la conveniencia de sus usuarios y de su negocio. Acelerará el proceso de inicio de sesión y mejorará la retención de su aplicación.

Manténgase atento a los nuevos tutoriales que cubren las nuevas API de iOS 11 y, mientras tanto, consulte algunas de nuestras otras publicaciones sobre el desarrollo de aplicaciones de iOS.