Pacotes
@lia-labs/sdk
Copiar página
O Lia SDK para apps com um passo de construção. Cada recurso como uma exportação tipada, árvore-shakeável, com as mesmas verificações e códigos de erro que a tag de script, e estado que você pode observar.
npm install @lia-labs/sdk#Iniciar
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?) chama Lia uma vez e responde com o mesmo resultado que Lia.init(); chamando novamente, responde com o primeiro resultado. Também:
- mantém o
--lia-*CSS variáveis atual na sua página (desative com{ cssVars: false }, ou chamebindCssVars()você mesmo), - define sua página's
langedirda pessoa's idioma e tema, e muito mais. Quando sua página for desenhada, chame{ documentLanguage: false }), - mantém o SDK's estado atual de Lia'eventos.
#Da tag de script para imports
Tudo no tag de script's Lia o objeto é uma exportação nomeada aqui, com os mesmos argumentos, respostas e códigos de erro. Importe apenas o que você usar; o restante é excluído do seu pacote.
| Tag 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) e seus atalhos, 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); também holdBanner(position), que mostra um até que a função que ele retorna seja chamada |
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 | Os mesmos nomes |
Lia.expand(), Lia.requestFullscreen(), Lia.exitFullscreen() | Os mesmos nomes |
Lia.enableExpand() … Lia.disableClosingConfirmation() | Os mesmos nomes |
Lia.setBackgroundColor(c), Lia.setHeaderColor(c) | Os mesmos nomes |
Lia.mainButton, Lia.secondaryButton, Lia.backButton, Lia.settingsButton | mainButton, secondaryButton, backButton, settingsButton |
Lia.haptic, Lia.scanQr, Lia.copyText, Lia.readClipboard, Lia.openLink, Lia.openLiaLink | Os mesmos nomes |
Lia.submitScore, Lia.leaderboard | Os mesmos nomes |
Lia.cloudStorage, Lia.deviceStorage, Lia.secureStorage, Lia.biometric | Os mesmos nomes |
Lia.accelerometer, Lia.gyroscope, Lia.deviceOrientation | Os mesmos nomes, com reading e isStarted para assistir |
Lia.on(event, fn), Lia.off, Lia.onPause, Lia.onResume | on(event, fn), off, once, onAny, onPause, onResume |
Lia.language, Lia.theme, Lia.viewport e as outras propriedades | language.get(), themeParams.get(), viewport.get() e o restante |
Todo método's argumentos, respostas e erros estão no Referência SDK.
#Estado de assistência
import { colorScheme, language, viewport } from '@lia-labs/sdk';
language.get(); // "en"
const stop = colorScheme.subscribe((scheme, previous) => repaint(scheme));
viewport.subscribe(({ height }) => resizeCanvas(height));Um ouvinte ouve mudanças apenas (nunca no subscribe) e subscribe retorna sua própria função de parada. Você pode criar a sua própria com signal(initial) e computed(sources, fn).
#Botões
Os botões funcionam como no tag script, e também informam seu 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 nomes: text, color, textColor, isVisible, isActive, isProgressVisible, hasShineEffect, position. onClick retorna uma função que para de ouvir. backButton.isVisible e settingsButton.isVisible também pode ser monitorado.
Para mostrar um botão apenas enquanto parte da sua página estiver na tela, controlBottomButton(button, options) e controlHeaderButton(button, onClick) você recebe update(…) e dispose() (dispose o esconde). Os pacotes do framework usam esses.
#Erros
Toda falha é uma LiaError com um code, os mesmos códigos que o tag de script. isLiaError(error, 'cancelled') verifica um.
import { isLiaError, pay } from '@lia-labs/sdk';
try {
await pay('extra-lives', { idempotencyKey: orderId });
} catch (error) {
if (isLiaError(error, 'cancelled')) return;
throw error;
}Argumentos são verificados antes que qualquer coisa chegue a Lia, e essas verificações rejeitam a promessa (ou lançam, para as poucas chamadas que não)'para retornar um).
#Sem um bundler
O pacote também tem um script de construção que coloca tudo em window.liaSdk:
<script src="https://unpkg.com/@lia-labs/sdk/dist/index.global.js"></script>
<script>
liaSdk.init().then(function (me) { liaSdk.ready(); });
</script>Use este ou a tag script original em uma página, não ambas.
#TypeScript
Tudo é tipado, incluindo cada método'seus parâmetros e resposta, e cada evento'dados (Methods, Events, InitResult, ThemeParams, Charge, AdResult e o restante são exportados).
Traduzido automaticamente. O inglês é a fonte de verdade. Leia em inglês