Paquets
@lia-labs/sdk
Copier la page
Les Lia SDK pour les applications avec un pas de construction. Chaque fonctionnalité en tant qu'export typé, arbre-shakeable, avec les mêmes vérifications et codes d'erreur que la balise script, et un état que vous pouvez surveiller.
npm install @lia-labs/sdk#Démarrer
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?) appelle Lia une fois et répond avec le même résultat que Lia.init(); appeler à nouveau donne le premier résultat. Cela fait aussi :
- garde le
--lia-*CSS variables actuel sur votre page (désactivez avec{ cssVars: false }, ou appelerbindCssVars()vous-même), - définit votre page's
langetdirde la personne's langue et thème, et bien plus encore. Lorsque votre page est dessinée, appelez{ documentLanguage: false }), - garde le SDK's état actuel de Lia'les événements.
#Du balisage script aux imports
Tout sur l'étiquette script's Lia l'objet est une exportation nommée ici, avec les mêmes arguments, réponses et codes d'erreur. Importez uniquement ce que vous utilisez ; le reste est exclu de votre bundle.
| Balise 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) et ses raccourcis, 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); aussi holdBanner(position), ce qui affiche un seul jusqu'à ce que la fonction qu'il retourne soit appelée |
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 | Les mêmes noms |
Lia.expand(), Lia.requestFullscreen(), Lia.exitFullscreen() | Les mêmes noms |
Lia.enableExpand() … Lia.disableClosingConfirmation() | Les mêmes noms |
Lia.setBackgroundColor(c), Lia.setHeaderColor(c) | Les mêmes noms |
Lia.mainButton, Lia.secondaryButton, Lia.backButton, Lia.settingsButton | mainButton, secondaryButton, backButton, settingsButton |
Lia.haptic, Lia.scanQr, Lia.copyText, Lia.readClipboard, Lia.openLink, Lia.openLiaLink | Les mêmes noms |
Lia.submitScore, Lia.leaderboard | Les mêmes noms |
Lia.cloudStorage, Lia.deviceStorage, Lia.secureStorage, Lia.biometric | Les mêmes noms |
Lia.accelerometer, Lia.gyroscope, Lia.deviceOrientation | Les mêmes noms, avec reading et isStarted pour regarder |
Lia.on(event, fn), Lia.off, Lia.onPause, Lia.onResume | on(event, fn), off, once, onAny, onPause, onResume |
Lia.language, Lia.theme, Lia.viewport et les autres propriétés | language.get(), themeParams.get(), viewport.get() et le reste |
Chaque méthode'les arguments, les réponses et les erreurs sont dans le SDK référence.
#État de visionnage
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 écouteur entend les changements uniquement (jamais sur souscription) et subscribe retourne sa propre fonction d'arrêt. Vous pouvez en créer une vous-même avec signal(initial) et computed(sources, fn).
#Boutons
Les boutons fonctionnent comme sur la balise script, et vous indiquent également leur état :
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 prend camelCase noms : text, color, textColor, isVisible, isActive, isProgressVisible, hasShineEffect, position. onClick retourne une fonction qui arrête l'écoute. backButton.isVisible et settingsButton.isVisible peut aussi être surveillé.
Pour afficher un bouton uniquement pendant qu'une partie de votre page est à l'écran, controlBottomButton(button, options) et controlHeaderButton(button, onClick) vous donne update(…) et dispose() (dispose le cache). Les packages du framework utilisent ces éléments.
#Erreurs
Chaque échec est un LiaError avec un code, les mêmes codes que le balise script. isLiaError(error, 'cancelled') vérifie un.
import { isLiaError, pay } from '@lia-labs/sdk';
try {
await pay('extra-lives', { idempotencyKey: orderId });
} catch (error) {
if (isLiaError(error, 'cancelled')) return;
throw error;
}Les arguments sont vérifiés avant que quoi que ce soit n'atteigne Lia, et ces vérifications rejettent la promesse (ou lancent une erreur, pour les rares appels qui ne le font pas)'ne retourne qu'un seul.
#Sans un bundler
Le package contient également un script de construction qui place tout sur window.liaSdk:
<script src="https://unpkg.com/@lia-labs/sdk/dist/index.global.js"></script>
<script>
liaSdk.init().then(function (me) { liaSdk.ready(); });
</script>Utilisez ceci ou la balise script originale sur une page, pas les deux.
#TypeScript
Tout est typé, y compris chaque méthode'ses paramètres et réponses, et chaque événement'les données (Methods, Events, InitResult, ThemeParams, Charge, AdResult et le reste est exporté).
Traduit automatiquement. L'anglais est la source de vérité. Lire en anglais