LiaDéveloppeurs

SDK référence

Chargement du Lia SDK, les propriétés de l'objet Lia, comment les appels répondent et échouent, et un index de chaque méthode.

#Chargement de celui-ci

<script src="https://api.lialabs.org/sdk/lia-apps-v1.js"></script>

Chargez-le depuis Lia, avant vos propres scripts. Il définit un global, window.Lia, une fois (le chargement deux fois ne fait rien). Il'simple JavaScript sans dépendances, et fonctionne avec tout framework ou sans aucun. Cette page décrit la version 1.8.0.

Dans TypeScript, déclarez le global jusqu'à ce qu'il'un package de types :

declare global {
  interface Window { Lia: any }
}
const Lia = window.Lia;

#Comment les appels répondent

  • La plupart des méthodes retournent une promesse. Il se résout avec la réponse décrite pour chaque méthode, ou il est rejeté avec un Error qui a un code (et un message en anglais pour vous, pas pour les joueurs).
  • Les mauvais arguments rejettent aussi, avec un code comme bad_text, avant que quoi que ce soit n'atteigne Lia. Quelques méthodes qui ne'ne retourne des promesses (Lia.inviteLink, Lia.on, les boutons' les setters) lèvent à la place.
  • En dehors de l'application Lia, chaque appel rejette avec not_in_lia. Lia.available vous le dit dès le début.
  • Lia doit répondre dans 20 secondes, ou l'appel est rejeté par timeout. Les appels qui attendent la personne (la feuille de paiement, les publicités, les dialogues, le sélecteur d'amis, la demande de notifications, le scanneur, le presse-papiers, le visage ID, le partage) attendent autant qu'il le faut.
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" });
  }
}

Tout code est listé dans Codes d'erreur.

#Propriétés

Lisez cela après Lia.init() a répondu ; avant cela, ils conservent les valeurs par défaut. La plupart sont maintenues à jour par Lia'les événements.

PropriétéTypeCe qu'il est
Lia.versionchaîneLe SDK'version, par exemple "1.8.0".
Lia.availablebooléentrue à l'intérieur de l'application Lia. Connue dès que le script est chargé.
Lia.platformchaîne"ios" ou "android" ("unknown" avant init()).
Lia.languagechaîneLa personne's langue avec un moyen d'obtenir Lia. Appelez-le après en, es, pt, fr, tr, ru, vi, id, fil, sw, hi, ar ou zh. Voir Langue.
Lia.rtlbooléenSi cette langue s'affiche de droite à gauche (arabe).
Lia.colorSchemechaîne"light" ou "dark".
Lia.themeobjetLia'les couleurs, comme bg_color, text_color et le reste. Voir Lia'son thème.
Lia.viewportobjet{ height, expanded }: votre page'hauteur en pixels, et si une feuille est à hauteur maximale.
Lia.safeAreaobjet{ top, bottom, left, right }: le téléphone'zone de sécurité en px.
Lia.contentSafeAreaobjet{ top, bottom, left, right }: aussi débarrassé de Lia'flottant contrôles en plein écran.
Lia.displaychaîneComment votre application s'est ouverte : "sheet", "full" ou "fullscreen".
Lia.isFullscreenbooléenSi cela'bord à bord en ce moment même.
Lia.startParamchaîne ou nullCe avec quoi il a été ouvert : une invitation'un lien'ou une notification'son startParam. null quand il est ouvert depuis le Centre d'applications.
Lia.soundOnbooléenSi la personne veut votre application'ses sons.
Lia.notificationsAllowedbooléenSi cette personne permet à votre application d'envoyer des notifications à ses utilisateurs.

#Lia.isVersionAtLeast(version)

Si le SDK est au moins cette version, pour les fonctionnalités ajoutées plus tard.

if (Lia.isVersionAtLeast("1.3")) Lia.inviteFriend({ startParam: room });
ParamètreType
versionchaîneAimer "1.3" ou "1.3.0".

Renvoie une valeur booléenne (pas une promesse).

#CSS variables

Après init(), SDK définit ces éléments sur votre page'la racine et les maintient à jour : Lia'son thème (--lia-bg-color et le reste), --lia-color-scheme, --lia-viewport-height, --lia-safe-area-inset-* et --lia-content-safe-area-inset-*. Voir Apparence et fonctionnalité.

#Chaque méthode

ZoneMéthodes
Démarrage et cycle de vieLia.init, Lia.ready, Lia.session, Lia.close, Lia.on, Lia.off, Lia.onPause, Lia.onResume
Paiements et publicitésLia.pay, Lia.charges, Lia.onCharge, Lia.showAd, Lia.showRewardedAd, Lia.showRewardedInterstitialAd, Lia.showInterstitialAd, Lia.onAd
Notifications et invitationsLia.requestNotifications, Lia.inviteFriend, Lia.inviteLink, Lia.share
Boîtes de dialogueLia.confirm, Lia.showPopup, Lia.showAlert, Lia.showConfirm, Lia.toast
Mise en page, couleurs et boutonsLia.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
AppareilLia.haptic, Lia.scanQr, Lia.copyText, Lia.readClipboard, Lia.openLink, Lia.openLiaLink, Lia.biometric, Lia.accelerometer, Lia.gyroscope, Lia.deviceOrientation
Scores et stockageLia.submitScore, Lia.leaderboard, Lia.cloudStorage, Lia.deviceStorage, Lia.secureStorage

#Venu de Telegram

Lia's SDK suit Telegram's Mini Apps là où cela s'adapte, donc la plupart des idées s'appliquent :

TelegramLia
Telegram.WebApp.initDataLia.init() réponds avec un jeton de session que votre serveur vérifie avec POST /session/verify.
themeParams, --tg-theme-*Lia.theme, --lia-* (mêmes noms)
MainButton, SecondaryButton, BackButton, SettingsButtonLia.mainButton, Lia.secondaryButton, Lia.backButton, Lia.settingsButton
HapticFeedbackLia.haptic(kind)
CloudStorage, DeviceStorage, SecureStorageLia.cloudStorage, Lia.deviceStorage, Lia.secureStorage (promesses, pas des callbacks)
showPopup, showAlert, showConfirmLa même chose, comme des promesses
openInvoice et des étoilesLia.pay(productId), payé en $LIA
start_paramLia.startParam

#Analyse des applications web

Lia.analytics (SDK 1.8) enregistre l'utilisation optionnelle de l'application web dans le projet Lia Labs’ OpenPanel. Il fonctionne avec les versions actuelles iOS et Android. C'est un opt-in séparé à partir de l'interrupteur « Partager les données d'utilisation » de l'application native.

Lorsque votre page appelle Lia.ready(), le SDK vérifie si l'analyse est activée par l'équipe et demande une seule fois si ce joueur n'a pas choisi pour cette application. Refuser n'envoie aucun événement. Un petit bouton de confidentialité permet à la personne de modifier son choix plus tard. Le choix est stocké par joueur et par application web sur le serveur de Lia. Aucun événement d'analyse n'est mis en file d'attente avant le consentement ou répété après le refus.

  • Lia.analytics.allowed: si cette page a actuellement la permission.
  • Lia.analytics.requestConsent(): réouvre le choix de confidentialité et répond true seulement après autorisation.
  • Lia.analytics.disable(): arrête immédiatement l'envoi de cette page et enregistre le refus.
  • Lia.analytics.track(name, properties?): indique si un événement a été envoyé ; les échecs n'arrêtent jamais votre jeu. Les noms utilisent des lettres minuscules, des chiffres et des soulignés, commencent par une lettre, et comportent au plus 48 caractères. Les propriétés permettent jusqu'à 12 valeurs numériques ou booléennes, avec des clés d'identifiants en minuscules de jusqu'à 32 caractères.
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 });

Les enregistrements du SDK s'ouvrent et se réinitialisent après consentement. Ajoutez vos propres noms d'événements statiques pour les jalons de jeu. Ne pas utiliser de noms, emails, messages, URLs, texte libre ou identifiants de compte comme noms d'événements. Les propriétés de texte sont rejetées. Le collecteur ajoute l'identifiant de l'application et le mode live/test, vérifie la session signée, vérifie à nouveau le consentement, respecte l'interrupteur d'analyse de l'équipe, et limite les événements à 60 par joueur par application par minute. Il transmet les événements agrégés sans identifiant de profil de joueur, page URLs, valeurs de formulaire ou adresse IP de la personne.

Le traqueur utilise POST /api/web-analytics/consent et /track avec une session d'application signée fraîchement. Ces points d'extrémité appartenant à SDK n'ont pas besoin de clé de développeur API. Les identifiants OpenPanel restent sur le serveur de Lia.

Ces méthodes d’analyse sont dans le SDK hébergé chargé par une balise script. Les liens d’invitation et de tables n’ouvrent jamais automatiquement la demande de consentement ; le bouton de confidentialité reste disponible.

Traduit automatiquement. L'anglais est la source de vérité. Lire en anglais

Tapez pour rechercher sur toutes les pages, méthodes et points de terminaison.