Haptic Feedback en iOS 10

La retroalimentación háptica agrega una nueva dimensión a la interacción del usuario móvil. Aprenda a usar las nuevas API de retroalimentación háptica de iPhone 7 para brindar a sus usuarios una respuesta táctil.

¿Qué es la retroalimentación háptica??

En iOS 10 tenemos una nueva API para proporcionar comentarios al usuario. La retroalimentación háptica es una extensión de la retroalimentación visual a la que ya están acostumbrados todos los usuarios. Si tiene un iPhone 7 o iPhone 7 Plus, es posible que haya notado una pequeña vibración en el dispositivo mientras se desplaza un selector de fecha o al cambiar el valor de un interruptor, eso es retroalimentación táctil. El nuevo UIFeedbackGenerator La clase puede usarse para implementar el mismo comportamiento en tus aplicaciones..

Cuando usarlo

La primera regla de retroalimentación háptica de las Pautas de interfaz humana de iOS: ¡no la use en exceso! No debes enviar comentarios inútiles a tus usuarios. Si lo hace, pueden decidir desactivar esta función para todo su dispositivo. Debido a que se puede deshabilitar, no utilice la retroalimentación háptica como su único método de retroalimentación con su usuario. Es posible que no esté disponible en algunos dispositivos, y las solicitudes se ignorarán silenciosamente en dispositivos más antiguos que no lo admiten.

En general, la retroalimentación háptica debe ser una respuesta a una acción iniciada por el usuario. De esta manera, es más fácil para los usuarios correlacionar la retroalimentación con su fuente.

Finalmente, si quieres reproducir un sonido al mismo tiempo, debes tener cuidado de sincronizarlo.

Cómo elegir la respuesta correcta

El documento Novedades de Apple en iOS 10 especifica que se debe usar una de las siguientes tres clases concretas:

  • UIImpactFeedbackGenerator Proporciona una metáfora física que complementa la experiencia visual. Por ejemplo, el usuario puede sentir un ruido sordo cuando una vista se desliza en su lugar o dos objetos chocan. Tiene tres variaciones: éxito, advertencia, y fracaso.
  • UINotificationFeedbackGenerator indica que una tarea o acción, como depositar un cheque o desbloquear un vehículo, ha completado, fallado o producido una advertencia. Tiene tres variaciones: ligero, medio, y pesado.
  • UISelectionFeedbackGenerator Indica que la selección está cambiando activamente. Por ejemplo, el usuario siente pequeños golpecitos mientras se desplaza una rueda selectora. Esta retroalimentación está destinada a comunicar el movimiento a través de una serie de valores discretos, no hacer o confirmar una selección.

Para explicar estos diferentes tipos, la documentación tiene videos con sonido para ilustrar el patrón de cada tipo de retroalimentación. Pruébalos tú mismo en el sitio de desarrolladores de Apple.

Cómo realizar comentarios

¡Ahora comencemos a codificar! Vamos a construir una aplicación iOS muy simple que proporciona una retroalimentación exitosa cuando se presiona un botón. Abre Xcode 8 y crea un nuevo proyecto iOS.

Agrega un botón en tu Guión gráfico archiva y crea un IBAcción para activar la retroalimentación. 

 El ciclo de vida de un generador de comentarios se ve así:

  1. Instanciar el generador.
  2. Preparar el generador (opcional).
  3. Retroalimentación de gatillo.
  4. Suelte el generador (opcional).

Te guiaré a través de cada uno de estos pasos a continuación..

Instanciar el generador

Primero, declara una nueva variable de tipo. UINotificationFeedbackGenerator. Si desea utilizar otro tipo de comentarios, simplemente cambie esta clase.

var feedbackGenerator: UINotificationFeedbackGenerator? // Declarar el tipo de generador.

Inicialice el generador en viewDidLoad:

anular func viewDidLoad () super.viewDidLoad () feedbackGenerator = UINotificationFeedbackGenerator () // Crear una instancia del generador. 

Preparar el generador

Si sabe de antemano que el usuario va a activar un comentario, debe llamar al preparar() método. Esto reducirá la latencia entre la llamada de método y la realimentación de hardware real. Un ejemplo es cuando desea dar múltiples opiniones durante un gesto. En este caso, primero prepare el generador para reducir la latencia..

Trigger Feedback

En el ejemplo que estamos construyendo, no tenemos forma de saber cuándo el usuario presionará el botón. Por esta razón, dentro de la acción activamos la retroalimentación de inmediato..

@IBAction func triggerNotification (_ sender: UIButton) feedbackGenerator? .NotificationOccurred (.success) // Activa la retroalimentación háptica. 

Suelte el generador

Hemos declarado el generador como opcional para que, en caso de que ya no lo necesitemos, podamos configurarlo como nulo Para liberar todos sus recursos. Este es un paso opcional. 

Actualmente no hay manera de probar la retroalimentación háptica en el Simulador. Debería tener en sus manos un iPhone 7 y probar el flujo de la aplicación con el nuevo sistema de retroalimentación en acción. Ejecute la aplicación en su iPhone 7 y presione el botón en la pantalla. Deberías sentir un feedback de éxito.! 

Al agregar soporte de retroalimentación a su propia aplicación, asegúrese de que se sienta bien en el contexto que sus usuarios esperarían, de lo contrario podrían confundirse.

Conclusión

La retroalimentación háptica es una nueva gran característica para hacer que su aplicación se sienta más realista. Los usuarios siempre aprecian ver que su aplicación es compatible con las últimas funciones de su dispositivo, así que adelante e implementarlo de inmediato.

Mientras tanto, echa un vistazo a algunos de nuestros otros cursos y tutoriales sobre el desarrollo de aplicaciones Swift y las nuevas características en iOS 10.

  • Actualiza tu aplicación a iOS 10

    En este artículo, te mostraré lo que debes hacer para preparar tus aplicaciones para iOS 10. Como en cada versión principal, iOS 10 introduce una serie de cambios y ...
    Bart Jacobs
    iOS
  • iOS 10: Creación de interfaces de notificación personalizadas

    En este tutorial, aprenderá cómo usar el nuevo marco UserNotificationsUI en iOS 10 para crear interfaces personalizadas para el uso local y de su aplicación ...
    Davis allie
    iOS SDK
  • Los datos básicos se mejoraron

    Durante la WWDC de este año, Apple introdujo una serie de mejoras significativas en Core Data, llevando el marco al siguiente nivel. En este artículo, voy a ...
    Bart Jacobs
    Datos básicos
  • Crea aplicaciones iOS con Swift 3

    Se acaba de lanzar iOS 10, y con él, Swift 3. Swift es un nuevo lenguaje de programación de Apple, diseñado específicamente para crear iOS, macOS y ...
    Markus Mühlberger
    Rápido