LiaDesarrolladores

SDK referencia

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 Error que tiene un code (y un message en 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.available te 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.

PropiedadTipo¿Qué es
Lia.versioncadenaEl SDK'su versión, por ejemplo "1.9.0".
Lia.availablebooleanotrue dentro de la app Lia. Se conoce tan pronto como se carga el script.
Lia.platformcadena"ios" o "android" ("unknown" antes init()).
Lia.languagecadenaLa persona's idioma en Lia: en, es, pt, fr, tr, ru, vi, id, fil, sw, hi, ar o zh. Ver Idioma.
Lia.rtlbooleanoSi el idioma se lee de derecha a izquierda (árabe).
Lia.colorSchemecadena"light" o "dark".
Lia.themeobjetoLia's colores, como bg_color, text_color y el resto. Ver Lia'su tema.
Lia.viewportobjeto{ height, expanded }: tu página's altura en píxeles, y si una hoja está a altura completa.
Lia.safeAreaobjeto{ top, bottom, left, right }: el teléfono'el área segura en píxeles.
Lia.contentSafeAreaobjeto{ top, bottom, left, right }: también limpio de Lia'los controles flotantes en pantalla completa.
Lia.displaycadenaCómo se abrió tu aplicación: "sheet", "full" o "fullscreen".
Lia.isFullscreenbooleanoSi lo'de borde a borde en este momento.
Lia.startParamcadena o nuloLo 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.soundOnbooleanoSi la persona quiere tu app's sonidos.
Lia.notificationsAllowedbooleanoSi 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ámetroTipo
versioncadenaMe 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

ÁreaMétodos
Inicio y ciclo de vidaLia.init, Lia.ready, Lia.session, Lia.close, Lia.on, Lia.off, Lia.onPause, Lia.onResume
Pagos y anunciosLia.pay, Lia.charges, Lia.onCharge, Lia.showAd, Lia.showRewardedAd, Lia.showRewardedInterstitialAd, Lia.showInterstitialAd, Lia.onAd
Notificaciones y invitacionesLia.requestNotifications, Lia.inviteFriend, Lia.inviteLink, Lia.share
DiálogosLia.confirm, Lia.showPopup, Lia.showAlert, Lia.showConfirm, Lia.toast
Diseño, colores y botonesLia.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
DispositivoLia.haptic, Lia.scanQr, Lia.copyText, Lia.readClipboard, Lia.openLink, Lia.openLiaLink, Lia.biometric, Lia.accelerometer, Lia.gyroscope, Lia.deviceOrientation
Puntuaciones y almacenamientoLia.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:

TelegramLia
Telegram.WebApp.initDataLia.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, SettingsButtonLia.mainButton, Lia.secondaryButton, Lia.backButton, Lia.settingsButton
HapticFeedbackLia.haptic(kind)
CloudStorage, DeviceStorage, SecureStorageLia.cloudStorage, Lia.deviceStorage, Lia.secureStorage (promesas, no callbacks)
showPopup, showAlert, showConfirmLo mismo, como promesas
openInvoice y EstrellasLia.pay(productId), pagado en $LIA
start_paramLia.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 responde true solo 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

Escribe para buscar en cada página, método y punto final.