LiaPengembang

Paketan

Bangun aplikasi Anda di browser desktop dengan mockLia(), sebuah Lia palsu yang menjawab setiap panggilan dengan pemain uji. Ubah jawabannya, kirim peristiwa, dan debug setiap pesan.

Di luar aplikasi Lia itu'tidak ada jembatan frame, sehingga setiap panggilan gagal dengan not_in_lia. mockLia() menempatkan Lia palsu di tempatnya: itu menjawab setiap panggilan dengan cara yang sama seperti Lia, dengan pemain uji dalam mode uji, sehingga seluruh aplikasi Anda berjalan di browser desktop atau dalam pengujian.

#Nyalakan

Panggil sebelum panggilan SDK pertama Anda, dan hanya di luar Lia:

import { init, isLia, mockLia } from '@lia-labs/sdk';

if (!isLia()) mockLia();

const me = await init(); // { player: { name: 'tester' }, mode: 'test', ... }

Dengan paket kerangka kerja itu'dari yang sama impor, dari paket tersebut. Keluarkan dari build produksi dengan bundler Anda'flag pengembang jika Anda suka (if (import.meta.env.DEV && !isLia())).

#Apa yang dijawab

PanggilJawaban pengujian
initSeorang pemain uji (tester) mode uji coba, bahasa Inggris, cahaya, sebuah lembar, notifikasi tersedia
paySebuah pembayaran yang telah selesai, ch_mock0001 dan ke atas
showAd dan pintasannyaSebuah video yang ditonton (ad_mock), atau iklan interstisial yang ditampilkan
confirm, showPopupYa, dan tombol pertama
requestNotifications, inviteFriendDiperbolehkan, diundang
submitScore, leaderboardMempertahankan skor terbaik Anda dan menjadikan Anda nomor satu.
PenyimpananDitahan di memori untuk halaman tersebut'kehidupan
biometricFace ID yang tersedia, terotentikasi
Semua yang lainApa yang Lia jawab ketika berjalan

#Ubah jawabannya

Lewati init untuk mengubah siapa dan bagaimana, dan onMethod untuk memutuskan jawaban apa pun sendiri. Kembalikan nilai untuk menjawab, lemparkan { code } untuk gagal, atau panggil next() untuk mock'jawaban miliknya:

mockLia({
  init: { language: 'ar', rtl: true, theme: 'dark', startParam: 'room-k3x9' },
  latency: 300, // ms before each answer, to see your loading states
  onMethod: (call, next) => {
    if (call.method === 'pay' && call.params.productId === 'gold-pack') throw { code: 'cancelled' };
    if (call.method === 'showAd') return { watched: false, shown: false, reason: 'no_ad' };
    return next();
  },
});

#Kirim peristiwa

Pengujian dapat mengirim salah satu dari Lia'acara, untuk mencoba bagaimana aplikasi Anda bereaksi:

const mock = mockLia();
mock.event('theme', { colorScheme: 'dark', theme: { bg_color: '#09090B', text_color: '#F5F5F7' } });
mock.event('soundChanged', { on: false });
mock.event('startParam', { startParam: 'room-a81c' });
mock.event('mainButtonClicked');
mock.event('pause');

mock.calls mencantumkan setiap panggilan yang dilakukan halaman Anda, dan mock.restore() menghapus mock.

#Dalam uji

Kunci yang sama membuat pengujian sederhana (di sini dengan Vitest dan jsdom):

import { afterEach, expect, it } from 'vitest';
import { init, mainButton, mockLia, resetForTests, resetStateForTests } from '@lia-labs/sdk';

afterEach(() => {
  resetForTests();
  resetStateForTests();
});

it('shows Buy once the player is in', async () => {
  const mock = mockLia();
  await init();
  mainButton.setParams({ text: 'Buy', isVisible: true });
  await Promise.resolve();
  expect(mock.calls.at(-1)).toMatchObject({ method: 'bottomButton', params: { text: 'Buy', visible: true } });
  mock.restore();
});

#Lihat setiap pesan

setDebug(true) mencatat setiap panggilan, jawaban, dan peristiwa ke konsol, termasuk di dalam Lia juga:

import { setDebug } from '@lia-labs/sdk';
setDebug(true);
// [lia] call pay { productId: 'extra-lives' }
// [lia] event pause undefined
// [lia] answer pay { id: 7, ok: true, result: { chargeId: 'ch_…', productId: 'extra-lives' } }

Lewati argumen kedua untuk mengirimkannya ke logger Anda sendiri, yang membantu di dalam Lia di mana ada'tidak ada inspector web: setDebug(true, { log: send, warn: send, error: send }).

#Server Anda

Pengujian'sesi (lias_mock) tidak'tidak satu Lia yang ditandatangani, jadi /session/verify katakan itu tidak'sah. Beri jalur pengembangan ke server Anda, atau coba alur server di dalam Lia sebagai penguji. Lihat Menguji aplikasi Anda.

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

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