SDK référence
SDK aperçu
Copier la page
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
Errorqui a uncode(et unmessageen 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.availablevous 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é | Type | Ce qu'il est |
|---|---|---|
Lia.version | chaîne | Le SDK'version, par exemple "1.8.0". |
Lia.available | booléen | true à l'intérieur de l'application Lia. Connue dès que le script est chargé. |
Lia.platform | chaîne | "ios" ou "android" ("unknown" avant init()). |
Lia.language | chaîne | La 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.rtl | booléen | Si cette langue s'affiche de droite à gauche (arabe). |
Lia.colorScheme | chaîne | "light" ou "dark". |
Lia.theme | objet | Lia'les couleurs, comme bg_color, text_color et le reste. Voir Lia'son thème. |
Lia.viewport | objet | { height, expanded }: votre page'hauteur en pixels, et si une feuille est à hauteur maximale. |
Lia.safeArea | objet | { top, bottom, left, right }: le téléphone'zone de sécurité en px. |
Lia.contentSafeArea | objet | { top, bottom, left, right }: aussi débarrassé de Lia'flottant contrôles en plein écran. |
Lia.display | chaîne | Comment votre application s'est ouverte : "sheet", "full" ou "fullscreen". |
Lia.isFullscreen | booléen | Si cela'bord à bord en ce moment même. |
Lia.startParam | chaîne ou null | Ce 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.soundOn | booléen | Si la personne veut votre application'ses sons. |
Lia.notificationsAllowed | booléen | Si 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ètre | Type | |
|---|---|---|
version | chaîne | Aimer "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
| Zone | Méthodes |
|---|---|
| Démarrage et cycle de vie | Lia.init, Lia.ready, Lia.session, Lia.close, Lia.on, Lia.off, Lia.onPause, Lia.onResume |
| Paiements et publicités | Lia.pay, Lia.charges, Lia.onCharge, Lia.showAd, Lia.showRewardedAd, Lia.showRewardedInterstitialAd, Lia.showInterstitialAd, Lia.onAd |
| Notifications et invitations | Lia.requestNotifications, Lia.inviteFriend, Lia.inviteLink, Lia.share |
| Boîtes de dialogue | Lia.confirm, Lia.showPopup, Lia.showAlert, Lia.showConfirm, Lia.toast |
| Mise en page, couleurs et boutons | 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 |
| Appareil | Lia.haptic, Lia.scanQr, Lia.copyText, Lia.readClipboard, Lia.openLink, Lia.openLiaLink, Lia.biometric, Lia.accelerometer, Lia.gyroscope, Lia.deviceOrientation |
| Scores et stockage | Lia.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 :
| Telegram | Lia |
|---|---|
Telegram.WebApp.initData | Lia.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, SettingsButton | Lia.mainButton, Lia.secondaryButton, Lia.backButton, Lia.settingsButton |
HapticFeedback | Lia.haptic(kind) |
CloudStorage, DeviceStorage, SecureStorage | Lia.cloudStorage, Lia.deviceStorage, Lia.secureStorage (promesses, pas des callbacks) |
showPopup, showAlert, showConfirm | La même chose, comme des promesses |
openInvoice et des étoiles | Lia.pay(productId), payé en $LIA |
start_param | Lia.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épondtrueseulement 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