LiaDéveloppeurs

Paquets

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 appeler bindCssVars() vous-même),
  • définit votre page's lang et dir de 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.toastLes 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.settingsButtonmainButton, secondaryButton, backButton, settingsButton
Lia.haptic, Lia.scanQr, Lia.copyText, Lia.readClipboard, Lia.openLink, Lia.openLiaLinkLes mêmes noms
Lia.submitScore, Lia.leaderboardLes mêmes noms
Lia.cloudStorage, Lia.deviceStorage, Lia.secureStorage, Lia.biometricLes mêmes noms
Lia.accelerometer, Lia.gyroscope, Lia.deviceOrientationLes mêmes noms, avec reading et isStarted pour regarder
Lia.on(event, fn), Lia.off, Lia.onPause, Lia.onResumeon(event, fn), off, once, onAny, onPause, onResume
Lia.language, Lia.theme, Lia.viewport et les autres propriétéslanguage.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

Tapez pour rechercher sur toutes les pages, méthodes et points de terminaison.