Пакеты
@lia-labs/sdk
Копировать страницу
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.settingsButton | mainButton, 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.onResume | on(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 и остальное) экспортируется).
Автоматически переведено. Английский — источник истины. Читать на английском