SDK справка
SDK обзор
Копировать страницу
Загрузка Lia SDK, свойств объекта Lia, как ответы и ошибки вызовов, и индекс каждого метода.
#Загрузка его
<script src="https://api.lialabs.org/sdk/lia-apps-v1.js"></script>Загрузите его из Lia, перед своими собственными скриптами. Он определяет один глобальный, window.Lia, один раз (загрузка дважды ничего не дает). Это'простой JavaScript без зависимостей, и работает с любым фреймворком или без него. Эта страница описывает версию 1.9.0.
В TypeScript, объявите глобальный, пока не's пакет типов:
declare global {
interface Window { Lia: any }
}
const Lia = window.Lia;#Как ответы на звонки
- Большинство методов возвращает промис. Оно возвращает ответ, описанный для каждого метода, или отклоняется с
Errorкоторый имеетcode(иmessageна английском языке для вас, а не для игроков). - Плохие аргументы тоже отклоняются, с кодом вроде
bad_text, прежде чем что-либо достигнет Lia. Несколько методов, которые не'не возвращать обещания (Lia.inviteLink,Lia.on, кнопки' сеттеры) вместо этого вызывают ошибку. - За пределами приложения Lia), каждый вызов отклоняется с
not_in_lia.Lia.availableговорит вам сразу. - Lia должен ответить в течение 20 секунд, или вызов отклоняется с
timeout. Вызовы, которые ждут человека (счет оплаты, реклама, диалоги, выбор друзей, запросы уведомлений, сканер, буфер обмена, Face ID, поделиться) ждут столько, сколько нужно.
try {
const result = await Lia.pay("extra-lives");
} catch (error) {
switch (error.code) {
case "cancelled": return; // they changed their mind
case "not_in_lia": return showOpenInLia();
default: Lia.toast("Something went wrong", { tone: "error" });
}
}Каждый код указан в Коды ошибок.
#Свойства
Прочтите это после Lia.init() ответил; до этого они используются по умолчанию. Большинство остаются актуальными благодаря Lia'события.
| Свойство | Тип | Что это |
|---|---|---|
Lia.version | строка | The SDK'версия, например "1.9.0". |
Lia.available | логическое значение | true внутри приложения Lia. Известно сразу после загрузки скрипта. |
Lia.platform | строка | "ios" или "android" ("unknown" до init()). |
Lia.language | строка | Человек'язык в Lia: en, es, pt, fr, tr, ru, vi, id, fil, sw, hi, ar или zh. См. Язык. |
Lia.rtl | логическое значение | Читается ли язык справа налево (арабский). |
Lia.colorScheme | строка | "light" или "dark". |
Lia.theme | объект | Lia'цвета, как bg_color, text_color и остальное. См. Lia'тема. |
Lia.viewport | объект | { height, expanded }: ваша страница'высота в пикселях, и является ли лист на полной высоте. |
Lia.safeArea | объект | { top, bottom, left, right }: телефон'ваша безопасная область в пикселях. |
Lia.contentSafeArea | объект | { top, bottom, left, right }: также очищает Lia'плавающие элементы управления в полноэкранном режиме. |
Lia.display | строка | Как открылось ваше приложение: "sheet", "full" или "fullscreen". |
Lia.isFullscreen | логическое значение | Оно'от края до края прямо сейчас. |
Lia.startParam | строка или null | Что было открыто: приглашение's, ссылка'или уведомление'в startParam. null когда открывается из Центра приложений. |
Lia.soundOn | логическое значение | Хочет ли человек ваше приложение'звуки. |
Lia.notificationsAllowed | логическое значение | Разрешает ли этот человек вашему приложению отправлять ему уведомления. |
#Lia.isVersionAtLeast(version)
Проверяет, является ли SDK не менее этой версии, для функций, добавленных позже.
if (Lia.isVersionAtLeast("1.3")) Lia.inviteFriend({ startParam: room });| Параметр | Тип | |
|---|---|---|
version | строка | Нравится "1.3" или "1.3.0". |
Возвращает логическое значение (не промис).
#CSS переменные
После init(), SDK устанавливает эти на вашей странице'ваш корень и поддерживает их актуальными: Lia'тема (--lia-bg-color и остальное), --lia-color-scheme, --lia-viewport-height, --lia-safe-area-inset-* и --lia-content-safe-area-inset-*. См. Внешний вид и ощущения.
#Каждый метод
| Область | Методы |
|---|---|
| Запуск и жизненный цикл | Lia.init, Lia.ready, Lia.session, Lia.close, Lia.on, Lia.off, Lia.onPause, Lia.onResume |
| Платежи и реклама | Lia.pay, Lia.charges, Lia.onCharge, Lia.showAd, Lia.showRewardedAd, Lia.showRewardedInterstitialAd, Lia.showInterstitialAd, Lia.onAd |
| Уведомления и приглашения | Lia.requestNotifications, Lia.inviteFriend, Lia.inviteLink, Lia.share |
| Диалоги | Lia.confirm, Lia.showPopup, Lia.showAlert, Lia.showConfirm, Lia.toast |
| Макет, цвета и кнопки | Lia.expand, Lia.requestFullscreen, Lia.exitFullscreen, Lia.enableExpand, Lia.disableExpand, Lia.enableVerticalSwipes, Lia.disableVerticalSwipes, Lia.enableClosingConfirmation, Lia.disableClosingConfirmation, Lia.setBackgroundColor, Lia.setHeaderColor, Lia.mainButton, Lia.secondaryButton, Lia.backButton, Lia.settingsButton |
| Устройство | Lia.haptic, Lia.scanQr, Lia.copyText, Lia.readClipboard, Lia.openLink, Lia.openLiaLink, Lia.biometric, Lia.accelerometer, Lia.gyroscope, Lia.deviceOrientation |
| Рейтинги и хранилище | Lia.submitScore, Lia.leaderboard, Lia.cloudStorage, Lia.deviceStorage, Lia.secureStorage |
#Приходящий из Telegram
Lia's SDK следует за Telegram's Мини-приложения, где они подходят, поэтому большинство идей переносятся:
| Telegram | Lia |
|---|---|
Telegram.WebApp.initData | Lia.init() отвечает с сессионным токеном, который ваш сервер проверяет с POST /session/verify. |
themeParams, --tg-theme-* | Lia.theme, --lia-* (те же имена) |
MainButton, SecondaryButton, BackButton, SettingsButton | Lia.mainButton, Lia.secondaryButton, Lia.backButton, Lia.settingsButton |
HapticFeedback | Lia.haptic(kind) |
CloudStorage, DeviceStorage, SecureStorage | Lia.cloudStorage, Lia.deviceStorage, Lia.secureStorage (промисы, а не обратные вызовы) |
showPopup, showAlert, showConfirm | То же самое, как промисы |
openInvoice и Звезд | Lia.pay(productId), оплачивается в $LIA |
start_param | Lia.startParam |
#Аналитика веб-приложения
Lia.analytics (SDK 1.8) записи необязательного использования веб-приложения в Lia Labs' OpenPanel проект. Он работает с текущими iOS и Android сборками. Это отдельное согласие из переключателя «Поделиться данными использования» в-native приложении.
Когда ваша страница вызывает Lia.ready(), SDK проверяет, включены ли аналитические данные командой и запрашивает один раз, если этот игрок не выбрал для этого приложения. Отказ не отправляет событий. Небольшая кнопка приватности позволяет человеку изменить свой выбор позже. Выбор сохраняется на сервере Lia для каждого игрока и веб-приложения. Ни одно событие аналитики не накапливается до согласия или не воспроизводится после отказа.
Lia.analytics.allowed: имеет ли этот лист сейчас разрешение.Lia.analytics.requestConsent(): снова открывает выбор приватности и отвечаетtrueтолько после разрешения.Lia.analytics.disable(): немедленно останавливает отправку этого листа и сохраняет отказ.Lia.analytics.track(name, properties?): отвечает на вопрос, было ли отправлено событие; сбои никогда не останавливают вашу игру. Имена используют строчные буквы, цифры и подчеркивания, начинаются с буквы и имеют не более 48 символов. Свойства позволяют до 12 числовых или логических значений, с ключами идентификаторов в нижнем регистре до 32 символов.
await Lia.init();
Lia.ready();
// Only sends when the person has already agreed. Never prompt during a round.
await Lia.analytics.track("round_finished", { level: 3, score: 120, won: true });Записи SDK открывают и возобновляют после согласия. Добавьте собственные имена статических событий для достижений в игре. Не используйте имена, электронные почты, сообщения, URLs, свободный текст или идентификаторы учетных записей в качестве имен событий. Текстовые свойства отклоняются. Коллектор добавляет идентификатор приложения и режим работы (живой/тестовый), проверяет подписанную сессию, повторно проверяет согласие, уважает выключатель аналитики команды и ограничивает события до 60 на игрока на приложение в минуту. Он передает агрегированные события без идентификатора профиля игрока, страницы URLs, значений формы или адреса человека IP.
Трекер использует POST /api/web-analytics/consent и /track с новой подписанной сессией приложения. Эти SDK-собственные конечные точки не требуют ключа разработчика API. Учетные данные OpenPanel остаются на сервере Lia.
Эти методы аналитики доступны в размещённом SDK, подключаемом тегом script. Ссылки приглашений и лобби никогда не открывают запрос согласия автоматически; кнопка конфиденциальности остаётся доступной.
Автоматически переведено. Английский — источник истины. Читать на английском