LiaDesenvolvedores

Referência SDK

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 Error que tem um code (e um message em 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.available diz 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.

PropriedadeTipoO que ele é
Lia.versionstringO SDK'sua versão, por exemplo "1.9.0".
Lia.availablebooleanotrue dentro do app Lia. Conhecido assim que o script carrega.
Lia.platformstring"ios" ou "android" ("unknown" antes init()).
Lia.languagestringA 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.rtlbooleanoSe esse idioma é lido da direita para a esquerda (árabe).
Lia.colorSchemestring"light" ou "dark".
Lia.themeobjetoLia'cores, como bg_color, text_color e o restante. Veja Lia'tema.
Lia.viewportobjeto{ height, expanded }: sua página'altura em px, e se uma folha está em altura total.
Lia.safeAreaobjeto{ top, bottom, left, right }: o telefone'área segura em px.
Lia.contentSafeAreaobjeto{ top, bottom, left, right }: também limpo de Lia'controles flutuantes em tela cheia.
Lia.displaystringComo seu app foi aberto: "sheet", "full" ou "fullscreen".
Lia.isFullscreenbooleanoSe ele'borda a borda agora mesmo.
Lia.startParamstring ou nuloO 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.soundOnbooleanoSe a pessoa quer seu aplicativo'sons.
Lia.notificationsAllowedbooleanoSe 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âmetroTipo
versionstringCurtir "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

ÁreaMétodos
Início e ciclo de vidaLia.init, Lia.ready, Lia.session, Lia.close, Lia.on, Lia.off, Lia.onPause, Lia.onResume
Pagamentos e anúnciosLia.pay, Lia.charges, Lia.onCharge, Lia.showAd, Lia.showRewardedAd, Lia.showRewardedInterstitialAd, Lia.showInterstitialAd, Lia.onAd
Notificações e convitesLia.requestNotifications, Lia.inviteFriend, Lia.inviteLink, Lia.share
DiálogosLia.confirm, Lia.showPopup, Lia.showAlert, Lia.showConfirm, Lia.toast
Layout, cores e botõesLia.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
DispositivoLia.haptic, Lia.scanQr, Lia.copyText, Lia.readClipboard, Lia.openLink, Lia.openLiaLink, Lia.biometric, Lia.accelerometer, Lia.gyroscope, Lia.deviceOrientation
Pontuações e armazenamentoLia.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:

TelegramLia
Telegram.WebApp.initDataLia.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, SettingsButtonLia.mainButton, Lia.secondaryButton, Lia.backButton, Lia.settingsButton
HapticFeedbackLia.haptic(kind)
CloudStorage, DeviceStorage, SecureStorageLia.cloudStorage, Lia.deviceStorage, Lia.secureStorage (promessas, não callbacks)
showPopup, showAlert, showConfirmO mesmo, como promessas
openInvoice e EstrelasLia.pay(productId), pago em $LIA
start_paramLia.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 responde true apenas 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

Digite para pesquisar todas as páginas, métodos e endpoints.