Notificaciones push web de iOS 16 en 2023

Para aquellos de nosotros que hemos estado esperando, principalmente para que nuestras instancias de Discourse funcionen mejor en iOS, parece que el día está cerca, ya que Apple anunció oficialmente hoy el soporte para notificaciones push web en iOS 16, que llegará en 2023.

23 Me gusta

Hay una presentación al respecto mañana:

Aquí hay un poco más de detalle sobre la implementación.

https://webkit.org/blog/12824/news-from-wwdc-webkit-features-in-safari-16-beta/

Web Push llegará a Safari 16 en macOS Ventura. Esto te permite enviar notificaciones de forma remota a los usuarios de tus sitios web y aplicaciones web, y entregar esas notificaciones incluso cuando Safari no se está ejecutando. Utiliza la misma combinación de estándares web que quizás ya conozcas de otros navegadores: Push API y Notifications API, junto con Service Worker.

Los usuarios optan por recibir notificaciones indicando primero su interés a través de una interacción del usuario, como hacer clic en un botón. Luego, se les pedirá que den permiso a tu sitio o aplicación para enviar notificaciones. Los usuarios podrán ver y administrar las notificaciones en el Centro de Notificaciones, y personalizar los estilos y desactivar las notificaciones por sitio web en la Configuración de Notificaciones.

Si ya has implementado Web Push para tu aplicación web o sitio web utilizando las mejores prácticas de la industria, funcionará automáticamente en Safari. Sin embargo, si has excluido Safari mediante la detección de navegadores, deberás cambiar a la detección de características para que funcione.

Web Push en Safari utiliza el mismo servicio de Apple Push Notification que impulsa las notificaciones push nativas en todas las Mac y dispositivos iOS. Si administras de cerca los puntos finales de push en tu servidor, asegúrate de permitir las URL de cualquier subdominio de push.apple.com. No necesitas ser miembro del Apple Developer Program.

Y busca Web Push para iOS y iPadOS en 2023.

Safari en macOS ha tenido notificaciones push web no estándar desde 2013, pero nunca antes había funcionado para iOS.

Este anuncio solo parece indicar que Safari en macOS cambiará a una API basada en estándares en Safari 16, lo cual es bueno, pero si querías notificaciones push de Safari en macOS, ya puedes implementarlas hoy.

El soporte para iOS será el verdadero cambio.

9 Me gusta

¡Estoy agradecido de que proporciones información más detallada sobre esto!

¿Sabes tú o alguien más cómo esto impactará las instancias de Discourse? Supongo que significará que cuando alguien guarde un sitio web en la pantalla de inicio, permitirá al usuario recibir notificaciones de esa PWA de Discourse, ¿es cierto?

Además, ¿permitirá esto que DiscourseHub envíe notificaciones push de iOS a todas las instancias de Discourse dentro de él?

1 me gusta

No, esta función no tiene nada que ver con la instalación en la pantalla de inicio o las “PWA”.

“PWA” es una especie de término de marketing inventado por desarrolladores de Google; el término se refiere a un conjunto de características:

  1. añadir a la pantalla de inicio (A2HS)
  2. soporte sin conexión, para que el sitio/aplicación siga funcionando cuando estés sin conexión
  3. características similares a las nativas (características que antes eran exclusivas de las aplicaciones nativas), como notificaciones push, bluetooth, obtención de datos en segundo plano, etc.

Pero las características no tienen nada que ver intrínsecamente entre sí. Puedes tener cualquiera de esas características sin ninguna de las otras.

  • Puedes añadir cualquier página web a tu pantalla de inicio. La página web no tiene que tener soporte sin conexión o características similares a las nativas para A2HS. (En realidad, solo se añade un marcador a tu pantalla de inicio; eso es todo lo que hace A2HS).
  • Puedes habilitar el soporte sin conexión para tu sitio web independientemente de si usas A2HS o no.
  • No hay características similares a las nativas que requieran que uses A2HS o que uses soporte sin conexión. WebBluetooth funciona en cualquier página web, siempre que el usuario acepte un diálogo de “permisos”; no tienes que usar A2HS para activarlo.

Hoy en día, en Google Chrome y en la versión actual de Safari 15 de macOS, los sitios web pueden mostrar un pequeño diálogo de solicitud, pidiendo permiso para enviar notificaciones push. (Tienes que hacerlo en un manejador de “clic” o en respuesta a un “gesto del usuario” similar, como arrastrar o deslizar). Probablemente hayas visto esos pop-ups en sitios de noticias de vez en cuando.

La entrada del blog de Apple parece indicar que nada cambiará sobre el aviso de permiso en Safari 16:

Los usuarios optan por recibir notificaciones indicando primero interés a través de un gesto del usuario, como hacer clic en un botón. Luego, se les pedirá que den permiso a tu sitio o aplicación para enviar notificaciones.

Esta pregunta es confusa. Eso es lo que Discourse Hub hace hoy en día.

2 Me gusta

Creo que tal vez hubo algo mal con la configuración de mis notificaciones en mi iPhone, ya que no llegaban:

¡Ah, genial! Así que la gente todavía podría recibir las notificaciones sin A2HS, suena genial, gracias.

Tenía la impresión de que las notificaciones de iOS en Discourse Hub solo funcionaban para las instancias de Discourse alojadas por el equipo de Discourse, según el mensaje a continuación. ¿Ha cambiado esto?

4 Me gusta

Como explica el hilo que enlazaste, Discourse Hub puede enviar notificaciones para cualquier sitio de Discourse, incluso para aquellos que no están alojados por el equipo de Discourse, pero solo envía notificaciones en vivo (instantáneas) para los sitios alojados por el equipo de Discourse. Si agregas un sitio no alojado a Discourse Hub, recibirás notificaciones, pero con un horario más lento.

No obstante, no creo que sea eso lo que pregunta la pregunta, pero puede que haya entendido mal:

Discourse Hub ya puede enviar notificaciones push de iOS desde todas las instancias de Discourse dentro de él. Los sitios no alojados envían notificaciones más lentamente, pero sí las envían.

4 Me gusta

Ahh, de hecho, esperaba que los sitios autoalojados pudieran enviar notificaciones inmediatas. Quizás el retraso en las notificaciones fue lo que me confundió sobre si se estaban enviando o no en este momento.

Dicho esto, estoy emocionado de que iOS 16 habilite las notificaciones inmediatas para los sitios de Discourse autoalojados :tada:

2 Me gusta

Gracias por la aclaración. Me interesan principalmente las notificaciones push en vivo de iOS, no las notificaciones obtenidas mediante sondeo.

2 Me gusta

“WKWebView” es la API de Apple para incrustar un navegador web en una aplicación nativa; Discourse Hub utiliza WKWebView. Hasta donde sé, las notificaciones push existentes y propietarias de Safari 15 para macOS no funcionan en un WKWebView en macOS.

Apple pone algunas funciones de aspecto nativo disponibles solo en la aplicación Safari, no en un WKWebView, y a veces ni siquiera en páginas web guardadas en la pantalla de inicio, que técnicamente se ejecutan en un proceso “Web.app” separado en iOS.

Aún no sabemos si la nueva API Push estándar funcionará en un WKWebView (por lo que no sabemos si funcionará en Discourse Hub), y ciertamente no sabemos si la API Push funcionará en un WKWebView en iOS, que ni siquiera se lanzará en 2022.

Pero, se supone que habrá más detalles en la presentación de mañana.

Para que lo sepas, es habitual que los evangelistas de Apple se nieguen a responder públicamente más preguntas sobre funciones de aspecto nativo en la web.

Considera esta pregunta planteada en Twitter:

Apple ha estado respondiendo a las preguntas de Maximiliano durante todo el día, pero, eh, por alguna razón, ¡solo esta pregunta ha quedado sin respuesta! :grimacing:

6 Me gusta

Oh, Dios mío, me encanta este nivel de detalle, gracias por escribirlo. Esperemos que funcione en WKWebView en iOS y en las aplicaciones de pantalla de inicio :crossed_fingers:t2:

Me alegra ver que no fui el único que vio esa presentación. :wink:

No estoy seguro de por qué no debutará con la primera versión de iOS 16, pero bueno…

¿No estaba eso ya disponible en macOS? He podido recibir notificaciones push de Safari de MacRumors durante años. ¿Quizás estaban usando una solución alternativa de algún tipo? :thinking:

2 Me gusta

Como dije en mi publicación anterior:

1 me gusta

Ah, lo siento. No estaba completamente seguro de a qué te referías con eso. :see_no_evil:

1 me gusta

Hubo muy pocos detalles en el video de hoy. Meet Web Push for Safari - WWDC22 - Videos - Apple Developer

WebKit tiene una entrada de blog hoy.

Hay un poco más de detalle disponible aquí.
\u003chttps://developer.apple.com/documentation/usernotifications/sending_web_push_notifications_in_safari_and_other_browsers\u003e

En el salón de Safari WWDC, un usuario llamado “John” hizo una pregunta: “¿Funcionará web push en instancias de WKWebView?”. La respuesta de “Brady E” de Apple fue:

\u003e En macOS Ventura, Web Push solo es compatible con Safari 16.

John continuó: “¿y en iOS/iPadOS?” a lo que Brady respondió: “Busque soporte para iOS/iPadOS en 2023”. Por lo tanto, hoy no responden ninguna pregunta sobre el soporte de iOS.

Me parece extremadamente improbable que las notificaciones de Web Push funcionen en un WKWebView en 2023, especialmente en iOS, por lo que espero que Safari Web Push no tenga ningún beneficio directo para Discourse Hub.

Pero, por supuesto, la aplicación Discourse Hub será mucho menos importante cuando llegue Safari Web Push.

6 Me gusta

Gracias por seguir esto con Apple y por escribir un seguimiento aquí :folded_hands:t2:

Hay algunos otros beneficios para la aplicación Discourse Hub.

Sin embargo, en su mayor parte tiene razón. Pronto se volverá parcialmente obsoleto. Me pregunto si CDCK lo abandonará por completo… :thinking:

1 me gusta

Its About Time GIFs | Tenor

Por cierto, no hay planes de abandonar la aplicación móvil, sigue siendo muy útil poder agregar todos sus sitios de Discourse y notificaciones en un solo lugar, además de recibir notificaciones en tiempo real.

3 Me gusta

¿Tendría sentido llevar Discourse Hub a la web como PWA?

4 Me gusta

Lamentablemente, eso no está en nuestra hoja de ruta actual, pero es algo que personalmente me encantaría ver, es una gran idea :slight_smile:

7 Me gusta