Facilitar la instalación de Discourse como PWA

He estado teniendo dificultades para obtener la funcionalidad PWA en mi foro de Discourse (estoy en un plan alojado). Creo que esto es principalmente un problema con Chrome, no con el propio Discourse, pero espero que alguien aquí conozca las respuestas.

1 ¿Hay alguna manera de cambiar la configuración de instalación en Chrome para Discourse una vez que se han establecido esas opciones?

Parece que cuando abres por primera vez la aplicación PWA (Discourse u otra), Chrome te pregunta si deseas instalarla. Si dices que no (ya sea a propósito o por accidente), la opción de instalación desaparece. ¿Hay alguna forma de recuperarla?

De manera similar, si he elegido instalar Discourse como una PWA en la pantalla de inicio de mi escritorio, pero luego elimino el icono, no encuentro cómo “reinstalarlo” o recuperar el icono de alguna otra manera.

2 ¿Existe alguna forma de agregar un botón en tu foro de Discourse para permitir que los usuarios lo instalen como una PWA (tanto en escritorio como en dispositivos móviles)? De esta manera, tus usuarios no tendrán que pasar por el proceso de instalación manual, algo que la mayoría de ellos no entiende.

4 Me gusta

Puede depender del sistema operativo, pero yo uso Linux (Ubuntu) y no podría ser más sencillo. Tengo un pequeño “+” en el lado derecho de la barra de URL (justo antes del icono de “favorito”). Haz clic en él y se instalará. Una vez instalado, cambia a un icono de “abrir en Discourse Meta”. Si desinstalo la PWA, el “+” vuelve a aparecer para permitir instalarla de nuevo.

Además, si entro al menú de Chrome mientras navego por Meta aquí, tengo de forma similar una opción “Instalar Discourse Meta”, que cambia a “Abrir en Discourse Meta” una vez instalado, y vuelve a ser “Instalar…” si lo desinstalo.

Así que, un icono en la barra de URL más una opción en el menú. Al menos, así es para mí. No sé qué más pedir :wink: No necesitas depender en absoluto del mensaje emergente.

1 me gusta

¿Cómo desinstalas la PWA? En mi caso, para Meta, Chrome (en Mac) me muestra el icono de “abrir” en la barra de direcciones, pero no logro encontrar el icono real de Meta en ningún lado, así que no veo ninguna opción para desinstalarla.

¿Dónde está esto en el “menú de Chrome”?


Creo que la clave es tener un botón en Discourse para instalarlo en la pantalla de inicio de los usuarios. Mi objetivo son usuarios que (como la mayoría) no saben qué es una PWA, y quiero un botón que puedan hacer clic y que diga algo obvio como “Instalar en pantalla de inicio”.

Ten en cuenta que, por lo que sé en Mac, no hay opción de instalación de PWA en Safari.

1 me gusta

Abre la aplicación y selecciona “Desinstalar Discourse Meta” en el menú.
Primer paso: En realidad, instala la PWA. Tengo la sensación de que un icono de “abrir” podría no tener nada que ver con esto.

¿Cuánto de largo es tu menú en realidad? Es una de las líneas, aproximadamente en el medio. No está en ninguna subsección, está directamente en el menú principal (al menos así es en Chrome en Ubuntu). Lo siento, me resulta un poco difícil proporcionar una captura de pantalla en este momento.

Usuarios de Mac :joy:

1 me gusta

Creo que estás describiendo algo totalmente diferente a lo que veo en Chrome en mi Mac.

¿Hay alguna manera de agregar un botón a Discourse para instalarlo como una PWA? Estoy bastante seguro de que se puede hacer añadiendo código HTML y JavaScript en el front-end; estoy comprobando si alguien ya lo ha hecho antes.

Aquí está Chrome en mi Mac; el menú está en la esquina superior derecha de la PWA:

Encontré How to provide your own in-app install experience  |  web.dev, ¿tal vez podrías crear un Componente de Tema?

Hay varios temas muy útiles sobre PWA en Meta. Quizás haya más información allí…

1 me gusta

Ah, la clave es que la aplicación ya debe estar abierta en modo PWA para ver esa opción (la opción no aparece si se abre con el modo de URL normal). En mi propio foro, parece que he perdido por completo el botón para instalar como PWA (antes estaba ahí…)

Entiendo que crear un botón para que el usuario pueda simplemente instalar la aplicación como PWA probablemente requeriría un nuevo tema. Mi pregunta es si alguien lo ha intentado antes. No veo un tema en Meta sobre eso específicamente, aunque es posible que lo haya pasado por alto.

3 Me gusta

Quizás @falco tenga alguna opinión al respecto, pero, en mi opinión, esto depende principalmente de los desarrolladores de navegadores.

En Discourse nos esforzamos mucho por cumplir con todos los requisitos para ser una buena PWA y nos mantenemos al día con las últimas normas de PWA, ya que creemos profundamente en el concepto de PWA.

8 Me gusta

¿Qué es una “configuración de instalación”?

Discourse hace esto de forma predeterminada. Si un usuario cumple ambos criterios de Chrome y es TL1+.

Esto se ha ajustado para que solo ocurra en móviles, ya que sería un poco molesto en el escritorio. Al menos hasta que Chrome lance el modo de pestañas para las PWA en el escritorio.

6 Me gusta

¡Ajá! Pensé que ya habían hecho alguna magia con esto :slightly_smiling_face:

¿Se trata de la configuración que dice: “Muestra el banner de la aplicación DiscourseHub en dispositivos iOS para usuarios regulares (nivel de confianza 1 o superior)”?

Y (aunque entiendo por qué no está configurado para funcionar en escritorio desde el principio), ¿hay alguna forma de que aparezca también en escritorio? Quizás requiera algún código en un plugin.

Solo me refería a poder instalarlo y luego desinstalarlo más tarde. Lo que no había entendido quedó claro por lo mencionado antes en la discusión: existe una opción para esto, pero solo se ve si has abierto la aplicación en modo PWA.

No. DiscourseHub es nuestra aplicación disponible en Google Play y la App Store de Apple.

Y eso está completamente bajo el control del navegador, por lo que no podemos hacer nada sobre cómo funciona la desinstalación.

3 Me gusta

¡Puedo confirmar que al menos en mi Chromebook, la PWA funciona genial! Tengo configurada la PWA tanto para Meta como para nuestro Discourse interno :flexed_biceps:

3 Me gusta

Debes iniciar la PWA desde el Launchpad o haciendo doble clic en el icono de ~/Applications/Chrome Apps; la opción de desinstalar aparecerá en el menú.

Si se abre en una ventana normal de Chrome en lugar de como una PWA, simplemente elimina el icono de la carpeta Chrome Apps. La única diferencia entre estos métodos es que el primero ofrecerá limpiar los datos del sitio en Chrome, mientras que el segundo no lo hará. :slight_smile:

Entendido. Gracias por ese detalle.

¿Hay entonces una configuración en el panel de control que controle esto? No la encuentro.

¿Existe alguna forma de que aparezca el mensaje de “instalar” en Discourse para escritorio, igual que en móviles?


PD: Es increíble que Discourse soporte las PWA. Las PWA son un regalo para los desarrolladores, impulsan la web abierta y muchas otras cosas buenas.

1 me gusta

Tampoco logro averiguar cómo volver a instalar la PWA, y me gustaría que hubiera una opción en los menús o ajustes que hiciera lo mismo que este mensaje:

image

¿Cómo vuelvo a acceder a eso? Ahora mismo, en mi Android/Chrome, no encuentro ninguna forma de instalar la aplicación. Lo único que puedo hacer es usar Chrome para agregarla a la página de inicio. ¿Es lo mismo?

De alguna manera, no me parece lo mismo, porque eso coloca un icono de Chrome encima de mi icono del sitio. Sin embargo, creo que sí recibo notificaciones.

En la versión Beta actual de Chrome para Android, veo esto en Meta: (“Instalar aplicación”)

En la versión estable actual de Chrome para escritorio, veo esto en Meta:

@riking gracias. Pero para mí, en Chrome solo tengo la opción de instalar en la página de inicio. Y me encantaría volver a ver ese cuadro de diálogo/prompt, pero no sé cómo hacerlo.

ACTUALIZACIÓN: tienes razón, incluso después de desinstalar Meta, en el menú de Chrome tengo la opción de “Instalar aplicación”.

¿Por qué en mi sitio de Discourse: community.morphmarket.com no es así? Usamos SSO, pero no se me ocurre nada más especial en cuanto a su configuración. ¿O se trata de algún “estado” especial en el que ahora se encuentra mi Pixel 3?

Como mencioné, parece que la aplicación SÍ está instalada porque se muestra en pantalla completa; sin embargo, esto se logra mediante “Agregar a la pantalla de inicio” y no mediante “Instalar aplicación”.

1 me gusta

Porque estás usando un JPG para el logotipo de tu sitio. Ve a la configuración del sitio y sube un PNG en manifest icon.

3 Me gusta

@Falco, vaya, no lo habría adivinado. Convertí la imagen a PNG y actualicé ese único icono, pero aún no he notado ningún efecto relacionado con la PWA. ¿Hay alguna caché que deba limpiar en el sitio o en mi teléfono?

He convertido tu logotipo a PNG y lo he subido a mi sitio de prueba que ejecuta la última versión, y funciona perfectamente. En tu sitio, aún veo un JPG en el manifest web.

¿Modificaste los valores predeterminados de la configuración del sitio calidad de PNG a JPG?

5 Me gusta