Latidos de licencia y verificación sin conexión
Ambos ajustes están en Políticas de licencia, pero definen cosas distintas: frecuencia de contacto online y tiempo de uso sin alcanzar el servidor.
Intervalo: frecuencia de validación
Configura Intervalo de heartbeat (segundos) en 600, el SDK envía un heartbeat aproximadamente cada 10 minutos mientras se ejecuta. Cada éxito obtiene las reglas actuales y actualiza la caché local de licencia.
Introduce 600–86400 segundos. Introduce 0 desactiva los latidos programados. La aplicación puede verificar o actualizar manualmente. Se añade un retraso aleatorio del 0–10%; el intervalo nunca baja de 600 segundos.
Con una licencia ligada al dispositivo y caché válida, se restaura el acceso y se actualiza en segundo plano, incluso sin temporizador. Las licencias solo online y flotantes esperan al servidor.
Plazo sin conexión: uso sin alcanzar el servidor
El modo sin conexión tiene tres opciones. No cambia el intervalo de heartbeat.
- Permitir durante un tiempo definido
- Con 24 horas, la caché firmada dura como máximo 24 horas desde la última validación online correcta. Puede funcionar durante cortes de red o fallos temporales en ese plazo. Después necesita una validación online correcta.
- Respaldo sin conexión no permitido
- El inicio requiere conexión correcta al servidor; la caché de disco no permite omitir un fallo. La firma breve obtenida durante la ejecución dura como máximo
max(10, 心跳间隔)segundos; la aplicación debe seguir validando y comprobando permisos. - Permitir uso sin conexión permanente
- La firma local puede usarse a largo plazo, incluso sin red. Una licencia de 30 días caduca en 30 días; offline permanente no convierte una licencia temporal en perpetua.
La API usa offline_mode representa estas tres opciones, en orden limited, none, permanent. Con un plazo sin conexión,offline_seconds es 1–31536000 segundos; usa 0 en los otros dos modos.
¿Cómo funcionan estas combinaciones?
| Heartbeat / ajustes sin conexión | Comportamiento real |
|---|---|
| 10 minutos / 24 horas | Valida cada 10 minutos online. Offline, usa hasta 24 horas desde la última validación correcta |
| 10 minutos / sin conexión permanente | Intenta heartbeat cada 10 minutos, actualiza reglas al lograrlo y usa firma válida si no conecta. |
| 0 / sin conexión permanente | Con caché válida, inicia sin peticiones programadas. Validar o refrescar explícitamente sigue contactando al servidor |
| 0 / 24 horas | Sin heartbeat programado, pero la caché caduca. La app programa validación; desactivarlo no amplía el plazo sin conexión. |
Deja más tiempo offline que el intervalo de heartbeat. Con heartbeat cada hora y solo 1 minuto offline, la firma caduca antes del siguiente; la app debe validar aparte.
¿Cambiar la política actualiza las licencias existentes?
Sí. Guardar sincroniza atómicamente límites, funciones, cuotas, modelo, mantenimiento y versiones con cada licencia vinculada no revocada. Ya no hace falta aplicarla una por una.
La sincronización conserva tipo de plazo, días, primera activación, vencimiento, cliente, uso y ampliación de mantenimiento. El tipo de la política solo rige licencias futuras y no vuelve perpetua una licencia de 30 días.
Si quedan dispositivos o sesiones activos al cambiar el modelo, o el nuevo límite es menor que el uso actual, guardar devuelve ACTIVE_DEVICES_CONFLICT, sin actualizar parcialmente la política ni las licencias vinculadas. Libera los dispositivos en conflicto y guarda de nuevo.
Tras guardar, las licencias vinculadas antiguas y nuevas usan las reglas en la siguiente activación, validación o heartbeat correcto. El SDK sustituye la caché firmada. Reintentar el mismo Idempotency-Key devuelve el resultado original.
Un dispositivo offline sigue con sus reglas firmadas. Reconectarse no actualiza la caché por sí solo: una petición debe completarse. La app puede refrescar al volver la conexión.
Para mover licencias a otra política, selecciónalas y previsualiza con Aplicar política. Al editar su política actual, basta guardar para sincronizar automáticamente.
Actualización online explícita
Estos métodos siempre intentan el servidor, incluso con offline permanente y heartbeat desactivado. El éxito renueva la firma. Un fallo de red informa error y conserva caché válida. Una revocación o liberación explícita la borra.
| Idioma | Cómo llamar |
|---|---|
| Go | client.RefreshOnline(ctx) |
| Java | client.refreshOnline() |
| C | ln_refresh_online(client) |
| C++ | client.RefreshOnline() |
| C# | await client.RefreshOnline() |
| Python | client.refresh_online() |
| JavaScript | await client.refreshOnline() |
Un refresco correcto cuenta como una petición de activación API. Si la política activa heartbeats antes desactivados, llama StartHeartbeat de tu lenguaje. Los dispositivos offline no reciben revocaciones ni liberaciones.