LiaРазработчики

Пакеты

The Lia SDK для приложений с этапом сборки. Каждая функция как типизированный, дерево-удаляемый экспорт, с теми же проверками и кодами ошибок, что и для тега скрипта, и состояние, которое вы можете наблюдать.

npm install @lia-labs/sdk

#Начать

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?) вызывает Lia один раз и отвечает тем же результатом, что и Lia.init(); вызывая его снова, возвращается первый результат. Также:

  • сохраняет --lia-* CSS переменные текущий на вашей странице (отключить с { cssVars: false }, или вызов bindCssVars() самого себя),
  • устанавливает вашу страницу's lang и dir от человека'язык (отключить с { documentLanguage: false }),
  • сохраняет SDK's состояние текущий из Lia'события.

#От тега скрипта до импортов

Все на теге скрипта's Lia объект — это именованный экспорт здесь, с теми же аргументами, ответами и кодами ошибок. Импортируйте только то, что вам нужно; остальное не включается в ваш бандл.

Тег скрипта@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) и его ярлыки, 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); также holdBanner(position), что показывает один, пока функция, которую он возвращает, не будет вызвана
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Те же имена
Lia.expand(), Lia.requestFullscreen(), Lia.exitFullscreen()Те же имена
Lia.enableExpand() … Lia.disableClosingConfirmation()Те же имена
Lia.setBackgroundColor(c), Lia.setHeaderColor(c)Те же имена
Lia.mainButton, Lia.secondaryButton, Lia.backButton, Lia.settingsButtonmainButton, secondaryButton, backButton, settingsButton
Lia.haptic, Lia.scanQr, Lia.copyText, Lia.readClipboard, Lia.openLink, Lia.openLiaLinkТе же имена
Lia.submitScore, Lia.leaderboardТе же имена
Lia.cloudStorage, Lia.deviceStorage, Lia.secureStorage, Lia.biometricТе же имена
Lia.accelerometer, Lia.gyroscope, Lia.deviceOrientationТе же имена, с reading и isStarted чтобы смотреть
Lia.on(event, fn), Lia.off, Lia.onPause, Lia.onResumeon(event, fn), off, once, onAny, onPause, onResume
Lia.language, Lia.theme, Lia.viewport и другие свойстваlanguage.get(), themeParams.get(), viewport.get() и остальное

Каждый метод'аргументы, ответы и ошибки находятся в SDK справка.

#Состояние просмотра

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

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

Слушатель слышит только изменения (никогда при подписке) и subscribe возвращает собственную функцию остановки. Вы можете создать свою собственную с помощью signal(initial) и computed(sources, fn).

#Кнопки

Кнопки работают как на теге script, и также сообщают вам их состояние:

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 берёт camelCase имена: text, color, textColor, isVisible, isActive, isProgressVisible, hasShineEffect, position. onClick возвращает функцию, которая останавливает прослушивание. backButton.isVisible и settingsButton.isVisible также может быть отслеживаемым.

Чтобы показать кнопку только тогда, когда часть вашей страницы находится на экране, controlBottomButton(button, options) и controlHeaderButton(button, onClick) дает вам update(…) и dispose() (dispose скрывает его). Используются фреймворками.

#Ошибки

Каждая неудача - это LiaError с code, те же коды, что и тег script. isLiaError(error, 'cancelled') проверяет один.

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

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

Аргументы проверяются до того, как что-либо достигнет Lia, и эти проверки отклоняют обещание (или выбрасывают, для немногих вызовов, которые не)'не вернуть один).

#Без бандлера

Пакет также имеет скрипт сборки, который размещает все на window.liaSdk:

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

Используйте это или оригинальный тег script на странице, но не оба сразу.

#TypeScript

Все типизировано, включая каждый метод'параметры и ответ, и каждый событие'данные (Methods, Events, InitResult, ThemeParams, Charge, AdResult и остальное) экспортируется).

Автоматически переведено. Английский — источник истины. Читать на английском

Введите, чтобы искать по каждой странице, методу и точке окончания.