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

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 Мини-приложения, где они подходят, поэтому большинство идей переносятся:

TelegramLia
Telegram.WebApp.initDataLia.init() отвечает с сессионным токеном, который ваш сервер проверяет с POST /session/verify.
themeParams, --tg-theme-*Lia.theme, --lia-* (те же имена)
MainButton, SecondaryButton, BackButton, SettingsButtonLia.mainButton, Lia.secondaryButton, Lia.backButton, Lia.settingsButton
HapticFeedbackLia.haptic(kind)
CloudStorage, DeviceStorage, SecureStorageLia.cloudStorage, Lia.deviceStorage, Lia.secureStorage (промисы, а не обратные вызовы)
showPopup, showAlert, showConfirmТо же самое, как промисы
openInvoice и ЗвездLia.pay(productId), оплачивается в $LIA
start_paramLia.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. Ссылки приглашений и лобби никогда не открывают запрос согласия автоматически; кнопка конфиденциальности остаётся доступной.

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

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