AppMovilFS 1.6: por que la app no se instalaba si FacturaScripts esta en una subcarpeta
El sintoma
Instalas AppMovilFS, aparece la campana abajo a la derecha... y no pasa nada mas. No hay boton de instalar la app, los avisos no llegan al movil y la campana esta siempre vacia. Ni un mensaje de error.
Si te ha pasado esto, casi seguro que tu FacturaScripts no esta en la raiz del dominio, sino en una subcarpeta: midominio.com/facturascripts/, /erp/, /fs/...
Que pasaba en realidad
Hasta la 1.5 el plugin pedia cuatro cosas a la raiz del dominio, siempre:
/Manifest— el archivo que le dice al navegador que esto es una app instalable./Sw— el service worker, que es lo que recibe los avisos push./Notificaciones— lo que llena la campana./PushSubscribe— donde se apunta cada movil para recibir avisos.
En una instalacion en subcarpeta esas cuatro direcciones no existen: son cuatro 404. Y como el navegador descarta un manifest que no puede leer sin avisar a nadie, y un service worker que no se registra tampoco protesta, el plugin se quedaba mudo. Funcionaba perfectamente... en las instalaciones que estaban en la raiz.
Que cambia en la 1.6
El plugin calcula ahora la carpeta real de tu instalacion y la pone delante de todo: manifest, service worker, iconos, avisos y suscripciones. En la raiz se comporta exactamente igual que antes; en una subcarpeta, por fin funciona.
Tambien se arregla un detalle relacionado: los enlaces que otros plugins guardan en cada aviso (por ejemplo /ListFacturaCliente) llevaban al 404 del dominio. Ahora se les pone delante el prefijo correcto, tanto al pulsar en la campana como al pulsar en la notificacion del movil.
Y una pantalla que te dice que falta
El segundo problema era que, cuando algo no iba, no habia forma de saber que. La pantalla de configuracion trae ahora una Comprobacion de la instalacion con cuatro respuestas claras:
| Comprueba | Por que importa | | --- | --- | | Carpeta de la instalacion | Te dice desde donde se sirve la app. Si esperabas la raiz y pone otra cosa, ahi tienes la pista. | | Conexion segura (https) | Sin https no hay app instalable ni avisos push. Es una regla de los navegadores, no del plugin. La unica excepcion es localhost. | | Iconos de la app | Sin iconos el navegador no ofrece instalar nada. | | Cifrado de los avisos push | Si tu servidor no trae openssl con curva P-256, la campana sigue funcionando pero no se puede enviar al movil. |
Lo de https es, con diferencia, el motivo mas frecuente despues de la subcarpeta. Si pruebas FacturaScripts en la red local por http://192.168.1.x, el navegador no va a instalar la app por mucho que el plugin este bien configurado.
iPhone y iPad
Safari nunca muestra un boton de instalar: ese boton no existe en iOS. La forma de instalar la app en un iPhone es Compartir (el icono de la flecha hacia arriba, abajo en la barra de Safari) y despues Anadir a pantalla de inicio.
Antes no lo decia nadie, asi que los usuarios de iPhone buscaban un boton que no iba a aparecer. Ahora la campana detecta el iPhone y lo explica ahi mismo.
Si ya lo tenias instalado
Actualiza a la 1.6 y entra en Admin > App movil. Si las cuatro filas de la comprobacion estan en verde, pide a cada usuario que abra FacturaScripts en su movil y pulse la campana una vez: ahi es donde el navegador le pregunta si acepta los avisos. Hasta que no lo acepte, su movil no esta suscrito.
Si alguna fila sale en rojo o en amarillo, la propia fila dice que hacer.