appId + appKey para autenticación en línea. En Web nunca debes incrustar appKey en el JavaScript del frontend.
Nativo (Android / iOS / macOS / Windows / Linux / Flutter)
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 (nativo)
La Consola ya no ofrece descargas de.lic sin conexión en autoservicio. Para obtener una licencia sin conexión, contacta con ventas o un administrador:
- Correo: hello@facebetter.net (asunto sugerido:
[Alianza comercial] Licencia sin conexión) - Más opciones: Contacto
licenseToken / license_token. La validez coincide con tu suscripción actual; tras renovar o cambiar de plan, solicita un archivo nuevo y sustitúyelo en la app.
Notas
- La licencia sin conexión está vinculada a los identificadores de app configurados en la Consola; 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, sin callbacks de puntos clave). Renueva y solicita una licencia nueva.
- Web no puede usar licencias sin conexión; debe completar una ruta de autenticación v2 en línea.
Eventos del motor
Escucha los resultados de licencia e inicialización cononEngineEvent / Flutter engine.events:

