Ir al contenido

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ónComportamiento real
10 minutos / 24 horasValida cada 10 minutos online. Offline, usa hasta 24 horas desde la última validación correcta
10 minutos / sin conexión permanenteIntenta heartbeat cada 10 minutos, actualiza reglas al lograrlo y usa firma válida si no conecta.
0 / sin conexión permanenteCon caché válida, inicia sin peticiones programadas. Validar o refrescar explícitamente sigue contactando al servidor
0 / 24 horasSin 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.

Aplicar política aún tiene una funció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.

IdiomaCómo llamar
Goclient.RefreshOnline(ctx)
Javaclient.refreshOnline()
Cln_refresh_online(client)
C++client.RefreshOnline()
C#await client.RefreshOnline()
Pythonclient.refresh_online()
JavaScriptawait 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.