Пакеты
Пакеты
Копировать страницу
The Lia SDK как пакеты npm. Типизированный мост, дерево-удаляемый SDK, и привязки для React, Preact, Vue, Svelte, Solid, Angular и веб-компонентов.
The тег script является самым быстрым способом входа. Если ваше приложение имеет этап сборки, пакеты npm дают вам ту же SDK с TypeScript типами, импорты, которые можно уменьшить, состояние, подходящее для вашей фреймворка, и фальшивый Lia для построения вне приложения.
#Какой пакет
| Пакет | Используйте его для |
|---|---|
@lia-labs/sdk | Любое приложение с бандлером, с или без фреймворка. |
@lia-labs/sdk-react | React: хуки как useInit, useMainButton, useBackButton. |
@lia-labs/sdk-preact | Preact: те же хуки. |
@lia-labs/sdk-vue | Vue 3: composable возвращают refs. |
@lia-labs/sdk-svelte | Svelte 4 и 5: хранилища. |
@lia-labs/sdk-solid | Твердый: доступоры и create* примитивы. |
@lia-labs/sdk-angular | Angular 17 и позже: inject* функции и сигналы. |
@lia-labs/elements | Любая страница, без фреймворка: <lia-main-button> и друзьями. |
@lia-labs/bridge | Низкоуровневые сообщения для создания собственного слоя. |
Каждый пакет фреймворка повторно экспортирует весь SDK, поэтому достаточно одного импорта:
npm install @lia-labs/sdk @lia-labs/sdk-reactimport { pay, useInit, useMainButton } from '@lia-labs/sdk-react';#Как они подходят друг другу
- @lia-labs/bridgeLia сообщения рамки:
request('pay', { productId }),on('theme', …). ИmockLia(), фальшивый Lia для создания в настольном браузере. - @lia-labs/sdkКаждая функция как именованный экспорт (
init,pay,mainButton,cloudStorage…), с теми же проверками и кодами ошибок, что и у тега script. Его состояние (тема, язык, viewport…) представляет собой набор небольших наблюдаемых значений. - Пакеты фреймворкаТонкий: они превращают эти значения в хуки, ссылки, хранилища или сигналы, и связывают кнопки Lia с вашими компонентами, отображаемыми при подключении и скрываемыми после.
#Состояние, на которое можно смотреть
The SDK'состояние - это набор Readable значения: get() читает сейчас, и subscribe(listener) слышит каждое изменение (с новым и старым значением) и возвращает функцию, которая прекращает наблюдение. Они обновляются с Lia'события после init().
| Значение | Тип |
|---|---|
player | { id, name } или null до init() |
mode | "test", "live" или null |
language, rtl | Человек'язык в Lia, и читается ли он справа налево |
colorScheme, themeParams | "light" или "dark", и Lia'цвета |
viewport | { height, expanded } |
safeArea, contentSafeArea | { top, bottom, left, right } в пикселях |
display, isFullscreen | Как приложение открылось, и было ли оно'от края до края |
startParam | Что было открыто, поддерживалось актуальным, пока оно было открыто |
soundOn, notificationsAllowed, notificationsAvailable | Человек'варианты |
initialized | Возможно init() ответил |
Каждый пакет фреймворка имеет соответствующий хук, композируемый, хранилище или сигнал для каждого.
#Тег скрипта всё ещё работает
https://api.lialabs.org/sdk/lia-apps-v1.js (глобальный Lia) не изменился. Используйте его или пакеты на странице, а не оба: оба слушают Lia's ответы на том же канале, и второй, который загружается, может't.
#Версии
Пакеты говорят на протоколе SDK 1.8.0. A Lia приложение старше функции ответов unknown_method; см. на журнал изменений.
Автоматически переведено. Английский — источник истины. Читать на английском