SDK referencia
SDK visión general
Copiar página
Cargando el Lia SDK, las propiedades del objeto Lia, cómo responden y fallan las llamadas, e un índice de cada método.
#Cargándolo
<script src="https://api.lialabs.org/sdk/lia-apps-v1.js"></script>Cárgalo desde Lia, antes de tus propios scripts. Define un global, window.Lia, una vez (cargarlo dos veces no hace nada). Es'un JavaScript plano sin dependencias, y funciona con cualquier framework o sin ninguno. Esta página describe la versión 1.9.0.
En TypeScript, declare el global hasta que haya's un paquete de tipos:
declare global {
interface Window { Lia: any }
}
const Lia = window.Lia;#Cómo responden las llamadas
- La mayoría de los métodos devuelven una promesa. Se resuelve con la respuesta descrita para cada método, o se rechaza con un
Errorque tiene uncode(y unmessageen inglés para ti, no para los jugadores). - Malos argumentos también se rechazan, con un código como
bad_text, antes de que nada llegue a Lia. Algunos métodos que no'no devolver promesas (Lia.inviteLink,Lia.on, los botones' (setters) lanzan en su lugar. - Fuera de la aplicación Lia, cada llamada se rechaza con
not_in_lia.Lia.availablete lo dice desde el principio. - Lia debe responder dentro de 20 segundos, o la llamada rechaza con
timeout. Llamadas que esperan a la persona (la hoja de pago, anuncios, diálogos, el selector de amigos, la solicitud de notificaciones, el escáner, el portapapeles, Face ID, compartir) esperan tanto como sea necesario.
try {
const result = await Lia.pay("extra-lives");
} catch (error) {
switch (error.code) {
case "cancelled": return; // they changed their mind
case "not_in_lia": return showOpenInLia();
default: Lia.toast("Something went wrong", { tone: "error" });
}
}Todo código está listado en Códigos de error.
#Propiedades
Leer estos después Lia.init() ha respondido; antes de eso, tienen valores predeterminados. La mayoría se mantienen actualizados mediante Lia'los eventos.
| Propiedad | Tipo | ¿Qué es |
|---|---|---|
Lia.version | cadena | El SDK'su versión, por ejemplo "1.9.0". |
Lia.available | booleano | true dentro de la app Lia. Se conoce tan pronto como se carga el script. |
Lia.platform | cadena | "ios" o "android" ("unknown" antes init()). |
Lia.language | cadena | La persona's idioma en Lia: en, es, pt, fr, tr, ru, vi, id, fil, sw, hi, ar o zh. Ver Idioma. |
Lia.rtl | booleano | Si el idioma se lee de derecha a izquierda (árabe). |
Lia.colorScheme | cadena | "light" o "dark". |
Lia.theme | objeto | Lia's colores, como bg_color, text_color y el resto. Ver Lia'su tema. |
Lia.viewport | objeto | { height, expanded }: tu página's altura en píxeles, y si una hoja está a altura completa. |
Lia.safeArea | objeto | { top, bottom, left, right }: el teléfono'el área segura en píxeles. |
Lia.contentSafeArea | objeto | { top, bottom, left, right }: también limpio de Lia'los controles flotantes en pantalla completa. |
Lia.display | cadena | Cómo se abrió tu aplicación: "sheet", "full" o "fullscreen". |
Lia.isFullscreen | booleano | Si lo'de borde a borde en este momento. |
Lia.startParam | cadena o nulo | Lo que lo abrió: una invitación's, un enlace'o una notificación's startParam. null cuando se abre desde el Centro de Aplicaciones. |
Lia.soundOn | booleano | Si la persona quiere tu app's sonidos. |
Lia.notificationsAllowed | booleano | Si esta persona permite que tu app le envíe notificaciones. |
#Lia.isVersionAtLeast(version)
Si SDK es al menos esta versión, para características añadidas posteriormente.
if (Lia.isVersionAtLeast("1.3")) Lia.inviteFriend({ startParam: room });| Parámetro | Tipo | |
|---|---|---|
version | cadena | Me gusta "1.3" o "1.3.0". |
Devuelve un booleano (no un promesa).
#CSS variables
Después init(), el SDK los coloca en tu página'la raíz y la mantiene actualizada: Lia'su tema (--lia-bg-color y el resto), --lia-color-scheme, --lia-viewport-height, --lia-safe-area-inset-* y --lia-content-safe-area-inset-*. Ver Aspecto y sensación.
#Cada método
| Área | Métodos |
|---|---|
| Inicio y ciclo de vida | Lia.init, Lia.ready, Lia.session, Lia.close, Lia.on, Lia.off, Lia.onPause, Lia.onResume |
| Pagos y anuncios | Lia.pay, Lia.charges, Lia.onCharge, Lia.showAd, Lia.showRewardedAd, Lia.showRewardedInterstitialAd, Lia.showInterstitialAd, Lia.onAd |
| Notificaciones y invitaciones | Lia.requestNotifications, Lia.inviteFriend, Lia.inviteLink, Lia.share |
| Diálogos | Lia.confirm, Lia.showPopup, Lia.showAlert, Lia.showConfirm, Lia.toast |
| Diseño, colores y botones | Lia.expand, Lia.requestFullscreen, Lia.exitFullscreen, Lia.enableExpand, Lia.disableExpand, Lia.enableVerticalSwipes, Lia.disableVerticalSwipes, Lia.enableClosingConfirmation, Lia.disableClosingConfirmation, Lia.setBackgroundColor, Lia.setHeaderColor, Lia.mainButton, Lia.secondaryButton, Lia.backButton, Lia.settingsButton |
| Dispositivo | Lia.haptic, Lia.scanQr, Lia.copyText, Lia.readClipboard, Lia.openLink, Lia.openLiaLink, Lia.biometric, Lia.accelerometer, Lia.gyroscope, Lia.deviceOrientation |
| Puntuaciones y almacenamiento | Lia.submitScore, Lia.leaderboard, Lia.cloudStorage, Lia.deviceStorage, Lia.secureStorage |
#Viniendo de Telegram
Lia's SDK sigue a Telegram's Mini Aplicaciones donde se adapta, por lo que la mayoría de las ideas se trasladan:
| Telegram | Lia |
|---|---|
Telegram.WebApp.initData | Lia.init() responde con un token de sesión que su servidor verifica con POST /session/verify. |
themeParams, --tg-theme-* | Lia.theme, --lia-* (mismos nombres) |
MainButton, SecondaryButton, BackButton, SettingsButton | Lia.mainButton, Lia.secondaryButton, Lia.backButton, Lia.settingsButton |
HapticFeedback | Lia.haptic(kind) |
CloudStorage, DeviceStorage, SecureStorage | Lia.cloudStorage, Lia.deviceStorage, Lia.secureStorage (promesas, no callbacks) |
showPopup, showAlert, showConfirm | Lo mismo, como promesas |
openInvoice y Estrellas | Lia.pay(productId), pagado en $LIA |
start_param | Lia.startParam |
#Análisis de la aplicación web
Lia.analytics (SDK 1.8) registra el uso opcional de la aplicación web en Lia Labs' OpenPanel proyecto. Funciona con las versiones actuales de iOS y Android. Esto es opción separada desde el interruptor de "Compartir datos de uso" de la aplicación nativa.
Cuando su página llama Lia.ready(), el SDK comprueba si el equipo ha habilitado las analíticas y pregunta una vez si este jugador no ha elegido para esta aplicación. Rechazar no envía eventos. Un pequeño botón de privacidad permite a la persona cambiar su elección más tarde. La elección se almacena por jugador y aplicación web en el servidor de Lia's. No se almacenan eventos de analíticas antes del consentimiento ni se reproducen después de rechazar.
Lia.analytics.allowed: si esta página tiene actualmente permiso.Lia.analytics.requestConsent(): vuelve a abrir la elección de privacidad y respondetruesolo después de la autorización.Lia.analytics.disable(): detiene inmediatamente los envíos de esta página y guarda la opción de no participar.Lia.analytics.track(name, properties?): indica si se envió un evento; los fallos nunca detienen su juego. Los nombres usan letras minúsculas, dígitos y guiones bajos, comienzan con una letra y tienen como máximo 48 caracteres. Las propiedades permiten hasta 12 valores numéricos o booleanos, con claves de identificador en minúsculas de hasta 32 caracteres.
await Lia.init();
Lia.ready();
// Only sends when the person has already agreed. Never prompt during a round.
await Lia.analytics.track("round_finished", { level: 3, score: 120, won: true });Los registros de SDK se abren y reanudan tras el consentimiento. Agrega tus propios nombres de eventos estáticos para los hitos del juego. No uses nombres, correos electrónicos, mensajes, URLs, texto libre o identificadores de cuenta como nombres de eventos. Las propiedades de texto son rechazadas. El recolector agrega la ID de la aplicación y el modo de producción/prueba, comprueba la sesión firmada, vuelve a comprobar el consentimiento, respeta el interruptor de análisis del equipo, y limita los eventos a 60 por jugador por aplicación por minuto. Transmite eventos agregados sin el ID de perfil del jugador, página URLs, valores de formulario o la dirección IP de la persona.
El rastreador usa POST /api/web-analytics/consent y /track con una sesión de aplicación firmada recién creada. Estos SDK-propios puntos finales no necesitan clave de desarrollador API. Las credenciales OpenPanel permanecen en el servidor de Lia.
Estos métodos de analítica están en el SDK alojado que se carga con una etiqueta script. Los enlaces de invitación y de mesas nunca abren automáticamente la solicitud de consentimiento; el botón de privacidad sigue disponible.
Traducido automáticamente. El inglés es la fuente de verdad. Leer en inglés