Dashboard
Resumen general de la aplicación
| Título | Destino | ✅ | ❌ | Fecha |
|---|---|---|---|---|
| Cargando… | ||||
Analíticas
Registros e indicadores de uso
Usuarios de la app
Lista de todos los usuarios registrados
| # | Nombre | Estado | Registrado | |
|---|---|---|---|---|
| Cargando… | ||||
Whitelist
Usuarios con acceso ilimitado sin suscripción
| User ID | Nota | Agregado | ||
|---|---|---|---|---|
| Cargando… | ||||
Enviar notificación
Push notifications a los usuarios de la app
Los de prueba, renovación y vencimiento los manda el cron a diario. Aquí puedes dispararlos cuando quieras, o mandarte uno a ti mismo para comprobar que llegan.
Manda el aviso ahora mismo, ignorando el estado de su suscripción. Es la única forma de verlo llegar al teléfono sin fabricar datos falsos. No consume el aviso real: el usuario seguirá recibiendo el suyo cuando toque.
Lo mismo que hace el cron. Ver a quién avisaría no envía nada, solo cuenta. Respeta el registro anti-duplicados, así que no repite avisos ya mandados — si quieres volver a ver uno, usa la prueba de arriba.
Historial de notificaciones
Registro de todas las notificaciones enviadas
| Título | Mensaje | Destino | ✅ Enviadas | ❌ Fallidas | Fecha |
|---|---|---|---|---|---|
| Cargando… | |||||
Suscripciones
Gestión de planes y suscripciones de usuarios
| Nombre | Plan | Estado | Entorno | Inicio | Vence | Promo | Acción | |
|---|---|---|---|---|---|---|---|---|
| Cargando… | ||||||||
| ID | Nombre | Descripción | $/mes | $/año | Trial | Dispositivos | Estado | |
|---|---|---|---|---|---|---|---|---|
| Cargando… | ||||||||
Cada contador caduca solo al cerrarse su ventana. Vaciarlo no debilita nada de forma duradera: solo adelanta ese reinicio. Útil cuando alguien —tú incluido— se queda fuera probando.
| Origen | Acción | Correo | Quién | Golpes | Estado | Se reinicia | |
|---|---|---|---|---|---|---|---|
| Cargando… | |||||||
| Correo | Dispositivo | Desde | Caduca |
|---|---|---|---|
| Cargando… | |||
Cada renovación anula una fila y crea otra —del orden de una por hora de uso y dispositivo— y nada las borraba nunca. Aquí se poda el historial muerto.
Solo se borran filas ya revocadas o caducadas. Una sesión utilizable no entra en la condición, así que esto no puede echar a nadie. Se conserva un margen de días porque el motivo de cada revocación es lo que permite explicar después por qué se cerró una sesión — ya ha servido para encontrar fallos que parecían "la app me saca al login".
—
Configuración
Parámetros globales de la aplicación
El aviso amarillo aparece en el Dashboard cuando quedan ≤ N días de prueba.
Días en que se envía push al usuario (separados por coma). Ejemplo: 3,1
envía dos notificaciones: una 3 días antes y otra 1 día antes.
Aviso a los planes de pago activos antes de que Apple les cobre. No tienen que hacer nada: es para que no les sorprenda el cargo y les dé tiempo a cancelar. Entre 1 y 30.
Cuántos días hacia atrás se buscan suscripciones ya vencidas. Es una ventana y no un día exacto para que, si el cron no corrió un día, esos usuarios no se queden sin aviso. Entre 1 y 30.
Interruptor general de prueba, renovación y vencimiento. Apagarlo los silencia todos sin tocar el servidor. No afecta a los envíos manuales de Notificaciones.
Quien tenga una versión anterior recibe el aviso de actualizar. Escribe 0 para no avisar de nada. Formato 1.2.3.
No: la app enseña un aviso con «Actualizar» y «Ahora no»; saltarlo no tiene ninguna consecuencia. Sí: la app no deja trabajar hasta actualizar, salvo que el operador tenga un evento en curso, en cuyo caso puede terminarlo (12 h).
A dónde lleva el botón «Actualizar». Tiene que empezar por https://
Para que el push se envíe automáticamente, agrega esta línea al crontab del servidor
(crontab -e):
0 10 * * * php /var/www/html/photobooth/scripts/send-trial-reminders.php >> /var/log/trial_reminders.log 2>&1
Mi cuenta
Administra tu acceso al portal
Administradores del portal
Cuentas con acceso a este panel — separadas de los usuarios de la app
| Nombre | Estado | Último acceso | Creado | |
|---|---|---|---|---|
| Cargando… | ||||