Referência SDK
Visão geral SDK
Copiar página
Carregando o Lia SDK, as propriedades do objeto Lia, como as chamadas respondem e falham, e um índice de cada método.
#Carregando-o
<script src="https://api.lialabs.org/sdk/lia-apps-v1.js"></script>Carregue-o do Lia, antes de seus próprios scripts. Define um global, window.Lia, uma vez (carregá-lo duas vezes não faz nada). Ele'um JavaScript simples sem dependências, e funciona com qualquer framework ou nenhum. Esta página descreve a versão 1.9.0.
Em TypeScript, declare o global até que haja'é um pacote de tipos:
declare global {
interface Window { Lia: any }
}
const Lia = window.Lia;#Como as chamadas são atendidas
- A maioria dos métodos retorna uma promessa. Ele é resolvido com a resposta descrita para cada método, ou rejeitado com um
Errorque tem umcode(e ummessageem inglês para você, não para os jogadores). - Argumentos ruins também são rejeitados, com um código como
bad_text, antes de qualquer coisa chegar a Lia. Alguns métodos que não'para retornar promessas (Lia.inviteLink,Lia.on, os botões' setters) lançam em vez disso. - Fora do app Lia, toda chamada rejeita com
not_in_lia.Lia.availablediz você desde o início. - Lia deve responder dentro de 20 segundos, ou a chamada é rejeitada com
timeout. Chamadas que aguardam a pessoa (a folha de pagamento, anúncios, diálogos, o seletor de amigos, a solicitação de notificações, o scanner, a área de transferência, Face ID, compartilhar) aguardam o tempo que for necessário.
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" });
}
}Todo código está listado em Códigos de erro.
#Propriedades
Leia estes depois Lia.init() respondeu; antes disso, eles mantêm os padrões. A maioria é mantida atualizada por Lia'eventos.
| Propriedade | Tipo | O que ele é |
|---|---|---|
Lia.version | string | O SDK'sua versão, por exemplo "1.9.0". |
Lia.available | booleano | true dentro do app Lia. Conhecido assim que o script carrega. |
Lia.platform | string | "ios" ou "android" ("unknown" antes init()). |
Lia.language | string | A pessoa's idioma com uma forma de obter Lia. Chame-o após en, es, pt, fr, tr, ru, vi, id, fil, sw, hi, ar ou zh. Veja Idioma. |
Lia.rtl | booleano | Se esse idioma é lido da direita para a esquerda (árabe). |
Lia.colorScheme | string | "light" ou "dark". |
Lia.theme | objeto | Lia'cores, como bg_color, text_color e o restante. Veja Lia'tema. |
Lia.viewport | objeto | { height, expanded }: sua página'altura em px, e se uma folha está em altura total. |
Lia.safeArea | objeto | { top, bottom, left, right }: o telefone'área segura em px. |
Lia.contentSafeArea | objeto | { top, bottom, left, right }: também limpo de Lia'controles flutuantes em tela cheia. |
Lia.display | string | Como seu app foi aberto: "sheet", "full" ou "fullscreen". |
Lia.isFullscreen | booleano | Se ele'borda a borda agora mesmo. |
Lia.startParam | string ou nulo | O que foi usado para abrir: um convite'um link's ou uma notificação'seu startParam. null quando aberto a partir do Centro de Aplicativos. |
Lia.soundOn | booleano | Se a pessoa quer seu aplicativo'sons. |
Lia.notificationsAllowed | booleano | Se essa pessoa permite que seu aplicativo envie notificações para ela. |
#Lia.isVersionAtLeast(version)
Se o SDK é pelo menos dessa versão, para recursos adicionados posteriormente.
if (Lia.isVersionAtLeast("1.3")) Lia.inviteFriend({ startParam: room });| Parâmetro | Tipo | |
|---|---|---|
version | string | Curtir "1.3" ou "1.3.0". |
Retorna um booleano (não uma promessa).
#CSS variáveis
Após init(), os SDK definem esses na sua página'raiz e mantém-as atualizadas: Lia'tema (--lia-bg-color e o restante), --lia-color-scheme, --lia-viewport-height, --lia-safe-area-inset-* e --lia-content-safe-area-inset-*. Veja Aparência e sensação.
#Todo método
| Área | Métodos |
|---|---|
| Início e ciclo de vida | Lia.init, Lia.ready, Lia.session, Lia.close, Lia.on, Lia.off, Lia.onPause, Lia.onResume |
| Pagamentos e anúncios | Lia.pay, Lia.charges, Lia.onCharge, Lia.showAd, Lia.showRewardedAd, Lia.showRewardedInterstitialAd, Lia.showInterstitialAd, Lia.onAd |
| Notificações e convites | Lia.requestNotifications, Lia.inviteFriend, Lia.inviteLink, Lia.share |
| Diálogos | Lia.confirm, Lia.showPopup, Lia.showAlert, Lia.showConfirm, Lia.toast |
| Layout, cores e botões | 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 |
| Dispositivo | Lia.haptic, Lia.scanQr, Lia.copyText, Lia.readClipboard, Lia.openLink, Lia.openLiaLink, Lia.biometric, Lia.accelerometer, Lia.gyroscope, Lia.deviceOrientation |
| Pontuações e armazenamento | Lia.submitScore, Lia.leaderboard, Lia.cloudStorage, Lia.deviceStorage, Lia.secureStorage |
#Vindo do Telegram
Lia'no SDK segue o Telegram'os Mini Apps onde se encaixa, então a maioria das ideias se transferem:
| Telegram | Lia |
|---|---|
Telegram.WebApp.initData | Lia.init() respostas com um token de sessão que seu servidor verifica com POST /session/verify. |
themeParams, --tg-theme-* | Lia.theme, --lia-* (mesmos nomes) |
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 (promessas, não callbacks) |
showPopup, showAlert, showConfirm | O mesmo, como promessas |
openInvoice e Estrelas | Lia.pay(productId), pago em $LIA |
start_param | Lia.startParam |
#Análise de web-app
Lia.analytics (SDK 1.8) registra o uso opcional do aplicativo da web em Lia Labs’ OpenPanel projeto. Funciona com as versões atuais iOS e Android. Isto é opt-in separado a partir do interruptor "Compartilhar dados de uso" do app nativo.
Quando sua página chama Lia.ready(), o SDK verifica se os analíticos estão ativados pela equipe e pergunta uma vez se este jogador não escolheu para este aplicativo. Recusar não envia eventos. Um pequeno botão de privacidade permite que a pessoa mude sua escolha depois. A escolha é armazenada por jogador e aplicativo da web no servidor de Lia. Nenhum evento de análise é armazenado antes do consentimento ou reproduzido depois de recusar.
Lia.analytics.allowed: se esta página tem permissão no momento.Lia.analytics.requestConsent(): abre novamente a escolha de privacidade e respondetrueapenas após permissão.Lia.analytics.disable(): interrompe imediatamente o envio desta página e salva a opção de não consentir.Lia.analytics.track(name, properties?): responde se um evento foi enviado; falhas nunca interrompem seu jogo. Nomes usam letras minúsculas, dígitos e sublinhados, começam com uma letra e têm no máximo 48 caracteres. Propriedades permitem até 12 valores numéricos ou booleanos, com chaves de identificador em minúsculas de até 32 caracteres.
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 });Os registros do SDK abrem e retomam após o consentimento. Adicione seus próprios nomes de evento estáticos para marcos de jogo. Não use nomes, emails, mensagens, URLs, texto livre ou identificadores de conta como nomes de evento. Propriedades de texto são rejeitadas. O coletor adiciona o id do aplicativo e o modo live/teste, verifica a sessão assinada, reverifica o consentimento, respeita o interruptor de análise da equipe e limita os eventos a 60 por jogador por aplicativo por minuto. Ele encaminha eventos agregados sem o id do perfil do jogador, página URLs, valores de formulário ou o endereço IP da pessoa.
O rastreador usa POST /api/web-analytics/consent e /track com uma sessão de app assinada nova. Esses pontos de extremidade SDK precisam de nenhuma chave API de desenvolvedor. As credenciais OpenPanel ficam no servidor de Lia.
Esses métodos de análise estão no SDK hospedado, carregado por uma tag script. Links de convite e de mesas nunca abrem automaticamente o pedido de consentimento; o botão de privacidade continua disponível.
Traduzido automaticamente. O inglês é a fonte de verdade. Leia em inglês