LiaPengembang

Referensi SDK

Memuat Lia SDK, properti objek Lia, bagaimana panggilan menjawab dan gagal, serta indeks setiap metode.

#Memuatnya

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

Muat dari Lia, sebelum skrip Anda sendiri. Ini mendefinisikan satu global, window.Lia, sekali (memuatnya dua kali tidak ada yang terjadi). Itu'plain JavaScript __s__ tanpa ketergantungan, dan berjalan dengan kerangka kerja apa pun atau tanpa kerangka kerja. Halaman ini menjelaskan versi 1.9.0.

Di TypeScript, deklarasikan global hingga ada's paket tipe:

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

#Bagaimana panggilan menjawab

  • Kebanyakan metode mengembalikan sebuah promise. Ini akan menyelesaikan dengan jawaban yang dijelaskan untuk setiap metode, atau menolak dengan sebuah Error yang memiliki sebuah code (dan sebuah message dalam bahasa Inggris untuk Anda, bukan untuk pemain).
  • Argumen yang buruk juga ditolak, dengan kode seperti bad_text, sebelum apa pun sampai Lia. Beberapa metode yang tidak'tidak mengembalikan janji (Lia.inviteLink, Lia.on, tombol' pengatur (setters) melemparkan alih-alih.
  • Di luar aplikasi Lia, setiap panggilan menolak dengan not_in_lia. Lia.available memberi tahu Anda secara langsung.
  • Lia harus menjawab dalam 20 detik, atau panggilan ditolak dengan timeout. Panggilan yang menunggu orang (lembar pembayaran, iklan, dialog, pemilih teman, permintaan notifikasi, pemindai, clipboard, Face ID, berbagi) menunggu sepanjang yang diperlukan.
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" });
  }
}

Setiap kode ada di Kode kesalahan.

#Properti

Baca ini setelahnya Lia.init() telah menjawab; sebelumnya mereka memiliki nilai default. Kebanyakan tetap diperbarui oleh Lia'acara.

PropertiJenisApa itu
Lia.versionstringThe SDK'versi mereka, misalnya "1.9.0".
Lia.availablebooleantrue di dalam aplikasi Lia. Diketahui segera setelah skrip dimuat.
Lia.platformstring"ios" atau "android" ("unknown" sebelum init()).
Lia.languagestringOrang tersebut'bahasa dalam Lia: en, es, pt, fr, tr, ru, vi, id, fil, sw, hi, ar atau zh. Lihat Bahasa.
Lia.rtlbooleanApakah bahasa tersebut dibaca dari kanan ke kiri (Arab).
Lia.colorSchemestring"light" atau "dark".
Lia.themeobjekLia'warna mereka, seperti bg_color, text_color dan sisanya. Lihat Lia'tema s.
Lia.viewportobjek{ height, expanded }: halaman Anda'tinggi header dalam px, dan apakah lembaran berada pada tinggi penuh.
Lia.safeAreaobjek{ top, bottom, left, right }: ponsel'area aman dalam px.
Lia.contentSafeAreaobjek{ top, bottom, left, right }: juga bersih dari Lia'kontrol mengambang di fullscreen.
Lia.displaystringBagaimana aplikasi Anda dibuka: "sheet", "full" atau "fullscreen".
Lia.isFullscreenbooleanApakah itu'sisi ke sisi sekarang.
Lia.startParamstring atau nullApa yang dibuka dengan: undangan'tautan'atau notifikasi' startParam. null ketika dibuka dari Apps Center.
Lia.soundOnbooleanApakah orang tersebut ingin aplikasi Anda'suara.
Lia.notificationsAllowedbooleanApakah orang ini mengizinkan aplikasi Anda mengirimkan notifikasi kepadanya.

#Lia.isVersionAtLeast(version)

Apakah SDK setidaknya versi ini, untuk fitur yang ditambahkan kemudian.

if (Lia.isVersionAtLeast("1.3")) Lia.inviteFriend({ startParam: room });
ParameterJenis
versionstringSuka "1.3" atau "1.3.0".

Mengembalikan boolean (bukan promise).

#CSS variabel

Setelah init(), SDK menetapkan ini di halaman Anda'akar dan menjaganya tetap diperbarui: Lia'tema s (--lia-bg-color dan sisanya), --lia-color-scheme, --lia-viewport-height, --lia-safe-area-inset-* dan --lia-content-safe-area-inset-*. Lihat Tampilan dan nuansa.

#Setiap metode

AreaMetode
Startup dan siklus hidupLia.init, Lia.ready, Lia.session, Lia.close, Lia.on, Lia.off, Lia.onPause, Lia.onResume
Pembayaran dan iklanLia.pay, Lia.charges, Lia.onCharge, Lia.showAd, Lia.showRewardedAd, Lia.showRewardedInterstitialAd, Lia.showInterstitialAd, Lia.onAd
Notifikasi dan undanganLia.requestNotifications, Lia.inviteFriend, Lia.inviteLink, Lia.share
DialogLia.confirm, Lia.showPopup, Lia.showAlert, Lia.showConfirm, Lia.toast
Tata letak, warna dan tombolLia.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
PerangkatLia.haptic, Lia.scanQr, Lia.copyText, Lia.readClipboard, Lia.openLink, Lia.openLiaLink, Lia.biometric, Lia.accelerometer, Lia.gyroscope, Lia.deviceOrientation
Skor dan penyimpananLia.submitScore, Lia.leaderboard, Lia.cloudStorage, Lia.deviceStorage, Lia.secureStorage

#Berasal dari Telegram

Lia's SDK mengikuti Telegram's Mini Aplikasi di mana sesuai, jadi sebagian besar ide bisa dibawa ke sana:

TelegramLia
Telegram.WebApp.initDataLia.init() jawaban dengan token sesi yang server Anda verifikasi dengan POST /session/verify.
themeParams, --tg-theme-*Lia.theme, --lia-* (nama yang sama)
MainButton, SecondaryButton, BackButton, SettingsButtonLia.mainButton, Lia.secondaryButton, Lia.backButton, Lia.settingsButton
HapticFeedbackLia.haptic(kind)
CloudStorage, DeviceStorage, SecureStorageLia.cloudStorage, Lia.deviceStorage, Lia.secureStorage (promises, bukan callbacks)
showPopup, showAlert, showConfirmYang sama, sebagai janji
openInvoice dan Bintang-bintangLia.pay(productId), dibayar dalam $LIA
start_paramLia.startParam

#Analitik web-app

Lia.analytics (SDK 1.8) mencatat penggunaan aplikasi web opsional di Lia Labs' OpenPanel proyek. Ini bekerja dengan build iOS dan Android saat ini. Ini adalah pilihan terpisah dari saklar "Bagikan data penggunaan" di aplikasi native.

Ketika halaman Anda memanggil Lia.ready(), SDK memeriksa apakah analitik diaktifkan oleh tim dan bertanya sekali jika pemain ini belum memilih untuk aplikasi ini. Menolak tidak mengirimkan peristiwa. Tombol privasi kecil memungkinkan orang tersebut mengubah pilihannya nanti. Pilihan disimpan per pemain dan aplikasi web di server Lia's. Tidak ada peristiwa analitik yang ditunda sebelum persetujuan atau diputar ulang setelah menolak.

  • Lia.analytics.allowed: apakah halaman ini saat ini memiliki izin.
  • Lia.analytics.requestConsent(): membuka kembali pilihan privasi dan menjawab true hanya setelah izin.
  • Lia.analytics.disable(): segera menghentikan pengiriman halaman ini dan menyimpan penolakan.
  • Lia.analytics.track(name, properties?): menjawab apakah suatu peristiwa dikirim; kegagalan tidak pernah menghentikan permainan Anda. Nama menggunakan huruf kecil, angka, dan garis bawah, dimulai dengan huruf, dan maksimal 48 karakter. Properti memungkinkan hingga 12 nilai numerik atau boolean, dengan kunci identifikasi huruf kecil hingga 32 karakter.
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 });

The SDK records opening and resuming after consent. Add your own static event names for gameplay milestones. Do not use names, emails, messages, URLs, free text or account identifiers as event names. Text properties are rejected. The collector adds the app id and live/test mode, checks the signed session, rechecks consent, respects the team’s analytics off switch, and limits events to 60 per player per app per minute. It forwards aggregate events without a player profile id, page URLs, form values or the person’s IP address.

Pelacak menggunakan POST /api/web-analytics/consent dan /track dengan sesi aplikasi yang ditandatangani baru. Endpoint yang dimiliki SDK ini tidak memerlukan kunci API pengembang. Kredensial OpenPanel tetap di server Lia.

Metode analitik ini tersedia di SDK yang dihosting dan dimuat melalui tag script. Tautan undangan dan lobi tidak pernah membuka permintaan persetujuan secara otomatis; tombol privasi tetap tersedia.

Diterjemahkan otomatis. Bahasa Inggris adalah sumber kebenaran. Baca dalam Bahasa Inggris

Ketik untuk mencari setiap halaman, metode, dan titik akhir.