appId + appKey para autenticación en línea. En Web nunca debes incrustar appKey en el JavaScript del frontend.
Nativo (Android / iOS / macOS / Windows)
Pasa una de las siguientes opciones al crear el motor:
Prioridad: si
licenseToken no está vacío, el SDK valida ese token en local y no llama a la red con appId / appKey.
iOS / macOS
.lic sin conexión como asset de la app y cargarlo en tiempo de ejecución, en lugar de hardcodearlo en el código fuente. Cómo obtenerlo: Licencia sin conexión más abajo.
Web
El SDK del navegador no tiene camposappId / appKey. El motor solo acepta licenseToken y lo verifica en local. Obtén el token desde tu servidor antes de init().
Flujo recomendado
- Crea una app en la Consola, vincula tu dominio Web y copia
appId/appKey(consulta Suscripción) - Guarda las claves en tu backend; expón un endpoint (por ejemplo
POST /api/facebetter/auth) - Tu backend firma una petición a
https://facebetter.pixpark.net/facebetter/v2/authy devuelve el cuerpo de respuesta en bruto a la página - Pasa esa cadena a
EngineConfig.licenseTokeny luego llama ainit()
demo/web/react) usa el mismo patrón: frontend en src/fetchLicenseToken.js, proxy del servidor en api/facebetter/auth.js.
Frontend
Proxy del servidor (ejemplo Node)
GuardaFB_APP_ID / FB_APP_KEY en variables de entorno. Coloca esto en Express / Fastify / una función serverless:
api/facebetter/auth.js.
Campos de la petición upstream
Si tiene éxito, el upstream devuelve JSON (incluido un campo
token). Puedes reenviar el texto de la respuesta tal cual, o extraer solo la cadena token: el SDK acepta ambos.
Licencia sin conexión
Descarga un.lic sin conexión en la página de credenciales de la Consola y pasa el contenido completo como licenseToken / license_token.
Los planes de pago bloquean cada identificador guardado. Una plataforma vacía se puede completar una vez. Para cambiar un valor bloqueado, contacta con soporte. Los planes gratis pueden editar identificadores y descargar en cualquier momento.
El archivo caduca 15 días después de que termine la suscripción. Volver a descargarlo no alarga esa fecha. Tras renovar, descarga un archivo nuevo.
Notas
- Los tokens en línea y las licencias sin conexión comprueban el identificador de la Consola: iOS y macOS usan el Bundle ID, Android el nombre del paquete, Windows y Linux el nombre del ejecutable, y un navegador el origen de la página. Electron no comprueba el origen. Si no coinciden, la validación falla.
- Si no ha caducado: las funciones siguen tu plan de suscripción.
- Si ha caducado: el motor aún puede inicializarse, pero las capacidades vuelven al plan Free (prueba con marca de agua). Tras renovar, descarga un archivo nuevo en la Consola.
- Las licencias sin conexión en la web están vinculadas al origen de la página. Pasa el
.liccompleto comolicenseToken.
Eventos del motor
Escucha los resultados de licencia e inicialización cononEngineEvent:

