Paquetes
@lia-labs/sdk
Copiar página
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 llamarbindCssVars()tú mismo), - establece tu página's
langydirdesde 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.toast | Los 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.settingsButton | mainButton, secondaryButton, backButton, settingsButton |
Lia.haptic, Lia.scanQr, Lia.copyText, Lia.readClipboard, Lia.openLink, Lia.openLiaLink | Los mismos nombres |
Lia.submitScore, Lia.leaderboard | Los mismos nombres |
Lia.cloudStorage, Lia.deviceStorage, Lia.secureStorage, Lia.biometric | Los mismos nombres |
Lia.accelerometer, Lia.gyroscope, Lia.deviceOrientation | Los mismos nombres, con reading y isStarted para ver |
Lia.on(event, fn), Lia.off, Lia.onPause, Lia.onResume | on(event, fn), off, once, onAny, onPause, onResume |
Lia.language, Lia.theme, Lia.viewport y las otras propiedades | language.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