LiaDesarrolladores

Paquetes

El Lia SDK para aplicaciones con un paso de construcción. Cada característica como una exportación tipada y árbol-shakeable, con las mismas comprobaciones y códigos de error que la etiqueta de script, y estado que puedes vigilar.

npm install @lia-labs/sdk

#Comenzar

import { init, isLia, mockLia, ready } from '@lia-labs/sdk';

if (!isLia()) mockLia(); // building in a desktop browser

const me = await init();
render(me);
ready();

init(options?) llama a Lia una vez y responde con el mismo resultado que Lia.init(); llamarlo de nuevo responde con el primer resultado. También:

  • mantiene la --lia-* CSS variables actual en tu página (desactívalo con { cssVars: false }, o llamar bindCssVars() tú mismo),
  • establece tu página's lang y dir desde la persona's idioma (desactívelo con { documentLanguage: false }),
  • mantiene la SDK's estado actual desde Lia'los eventos.

#Desde la etiqueta script a imports

Todo en la etiqueta de script's Lia el objeto es una exportación nombrada aquí, con los mismos argumentos, respuestas y códigos de error. Importa solo lo que uses; lo demás no se incluye en tu paquete.

Etiqueta de script@lia-labs/sdk
Lia.init(), Lia.ready(), Lia.session(), Lia.close()init(), ready(), session(), close()
Lia.pay(id, opts), Lia.charges(), Lia.onCharge(fn)pay(id, opts), charges(), onCharge(fn)
Lia.showAd(opts) y sus accesos directos, Lia.onAd(fn)showAd(opts), showRewardedAd(), showRewardedInterstitialAd(), showInterstitialAd(), onAd(fn)
Lia.showBanner(opts), Lia.hideBanner(), Lia.banner, Lia.onBanner(fn), Lia.showNativeAd(opts), Lia.hideNativeAd(), Lia.nativeAd, Lia.onNativeAd(fn)showBanner(opts), hideBanner(), banner, onBanner(fn), showNativeAd(opts), hideNativeAd(), nativeAd, onNativeAd(fn); también holdBanner(position), lo que muestra uno hasta que se llama a la función que devuelve
Lia.requestNotifications()requestNotifications()
Lia.inviteFriend(opts), Lia.inviteLink(p), Lia.share(text)inviteFriend(opts), inviteLink(p), share(text)
Lia.confirm, Lia.showPopup, Lia.showAlert, Lia.showConfirm, Lia.toastLos mismos nombres
Lia.expand(), Lia.requestFullscreen(), Lia.exitFullscreen()Los mismos nombres
Lia.enableExpand() … Lia.disableClosingConfirmation()Los mismos nombres
Lia.setBackgroundColor(c), Lia.setHeaderColor(c)Los mismos nombres
Lia.mainButton, Lia.secondaryButton, Lia.backButton, Lia.settingsButtonmainButton, secondaryButton, backButton, settingsButton
Lia.haptic, Lia.scanQr, Lia.copyText, Lia.readClipboard, Lia.openLink, Lia.openLiaLinkLos mismos nombres
Lia.submitScore, Lia.leaderboardLos mismos nombres
Lia.cloudStorage, Lia.deviceStorage, Lia.secureStorage, Lia.biometricLos mismos nombres
Lia.accelerometer, Lia.gyroscope, Lia.deviceOrientationLos mismos nombres, con reading y isStarted para ver
Lia.on(event, fn), Lia.off, Lia.onPause, Lia.onResumeon(event, fn), off, once, onAny, onPause, onResume
Lia.language, Lia.theme, Lia.viewport y las otras propiedadeslanguage.get(), themeParams.get(), viewport.get() y el resto

Cada método's argumentos, respuestas y errores están en la SDK referencia.

#Estado de visualización

import { colorScheme, language, viewport } from '@lia-labs/sdk';

language.get(); // "en"
const stop = colorScheme.subscribe((scheme, previous) => repaint(scheme));
viewport.subscribe(({ height }) => resizeCanvas(height));

Un oyente escucha cambios solo (nunca en suscribirse) y subscribe devuelve su propia función de detención. Puede crear la suya propia con signal(initial) y computed(sources, fn).

#Botones

Los botones funcionan como en la etiqueta script, y también te indican su estado:

import { mainButton } from '@lia-labs/sdk';

mainButton.setParams({ text: 'Buy for 5 LIA', isVisible: true });
const stop = mainButton.onClick(buy);
mainButton.state.subscribe((s) => console.log(s.isProgressVisible));

setParams toma camelCase nombres: text, color, textColor, isVisible, isActive, isProgressVisible, hasShineEffect, position. onClick devuelve una función que deja de escuchar. backButton.isVisible y settingsButton.isVisible también se puede vigilar.

Para mostrar un botón solo mientras parte de tu página esté en pantalla, controlBottomButton(button, options) y controlHeaderButton(button, onClick) te da update(…) y dispose() (dispose lo oculta). Los paquetes del framework los usan.

#Errores

Cada fallo es un LiaError con un code, los mismos códigos que el etiqueta script. isLiaError(error, 'cancelled') verifica uno.

import { isLiaError, pay } from '@lia-labs/sdk';

try {
  await pay('extra-lives', { idempotencyKey: orderId });
} catch (error) {
  if (isLiaError(error, 'cancelled')) return;
  throw error;
}

Los argumentos se verifican antes de que nada llegue a Lia, y esas verificaciones rechazan la promesa (o lanzan, para las pocas llamadas que no)'no devolver uno).

#Sin un empaquetador

El paquete también tiene un script de construcción que coloca todo en window.liaSdk:

<script src="https://unpkg.com/@lia-labs/sdk/dist/index.global.js"></script>
<script>
  liaSdk.init().then(function (me) { liaSdk.ready(); });
</script>

Usa esto o la etiqueta de script original en una página, no ambas.

#TypeScript

Todo está tipado, incluyendo cada método'sus parámetros y respuesta, y cada evento'los datos (Methods, Events, InitResult, ThemeParams, Charge, AdResult y el resto se exportan).

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.