Referensi SDK
Perangkat
Salin halaman
Haptik, scanner QR, clipboard, tautan, layar sendiri Lia, Face ID dan Touch ID, serta sensor gerakan.
#Haptik
#Lia.haptic(kind)
Sebuah ketukan yang dirasakan orang. Menyelesaikan dengan null.
Lia.haptic("success");kind | Terasa seperti |
|---|---|
"light" (default), "medium", "heavy", "rigid", "soft" | Sebuah ketukan, dari ringan ke berat |
"success", "warning", "error" | Sebuah hasil |
"selection" | Sebuah tanda, untuk perubahan pilihan |
Jenis yang tidak dikenal bermain "light". Setiap getaran adalah perjalanan pulang pergi ke Lia, jadi jangan'tidak bermain satu setiap frame permainan.
#Pemindaian dan clipboard
#Lia.scanQr(options)
Membuka Lia's QR pemindai di aplikasi Anda. Menyelesaikan dengan kode'teks s, atau null jika orang tersebut menutupnya.
const text = await Lia.scanQr({ text: "Scan the code on the table" });| Opsi | Jenis | |
|---|---|---|
text | string | Opsional, di bawah pemindai'jendelanya, hingga 64 karakter. |
Kesalahan: bad_text, busy.
#Lia.copyText(text)
Menyalin teks ke papan klip, dan Lia mengatakannya'dicopy. Menyelesaikan dengan null.
| Parameter | Jenis | |
|---|---|---|
text | string | Maksimal 4096 karakter. |
Kesalahan: bad_text, unsupported.
#Lia.readClipboard()
Teks di papan klip, atau null. Di iPhone, ponsel bertanya kepada orang tersebut terlebih dahulu.
const pasted = await Lia.readClipboard();#Tautan
#Lia.openLink(url, options)
Membuka halaman web. Frame Anda hanya menunjukkan halaman Anda sendiri, jadi gunakan ini untuk situs lain.
Lia.openLink("https://example.com/terms"); // in Lia's in-app browser, over your app
Lia.openLink("https://example.com", { external: true }); // outside Lia, in the phone's browser| Parameter | Jenis | |
|---|---|---|
url | string | Alamat https, hingga 2048 karakter. |
options.external | boolean | Buka di luar Lia. |
Menyelesaikan dengan null sekali browser dalam aplikasi ditutup (atau langsung untuk external). Kesalahan: bad_url.
#Lia.openLiaLink(screen)
Membuka salah satu Lia'layar miliknya. Halaman menutup aplikasi Anda terlebih dahulu (bertanya, jika Anda mengaktifkan konfirmasi penutupan dan buka sebagai dirinya sendiri; lembar kerja dibuka di atas aplikasi Anda, yang tetap.
Lia.openLiaLink("mine"); // Lia's mining sheet, over your appscreen | Membuka | Aplikasi Anda |
|---|---|---|
"invite" | Undang teman ke Lia | Menutup |
"strides" | Strides | Menutup |
"activity" | Orang tersebut's aktivitas | Menutup |
"send" | Kirim $LIA | Menutup |
"apps" | The Apps Center | Menutup |
"streak" | Rekor check-in | Tetap |
"mine" | Penambangan | Tetap |
"receive" | Terima $LIA | Tetap |
Menyelesaikan dengan { closed }: true jika aplikasi Anda ditutup, false jika tetap (atau orang memilih untuk tetap). Kesalahan: unknown_screen, bad_screen.
#Wajah ID dan Sentuhan ID
#Lia.biometric
Minta orang tersebut untuk memverifikasi'mereka, dengan ponsel's Face ID, Touch ID atau sidik jari, sebelum sesuatu yang sensitif di aplikasi Anda. Aplikasi Anda hanya mengetahui apakah mereka lulus.
#Lia.biometric.init()
Apakah ponsel dapat melakukannya. Menyelesaikan dengan { available, type }: available benar ketika ponsel memiliki itu dan itu'dibuat; type adalah "face", "finger" atau "unknown".
#Lia.biometric.authenticate(options)
Menanyakan kepada orang tersebut untuk memverifikasi. Menyelesaikan dengan { authenticated }. Jika mereka bisa'jika menggunakan biometrik, ponsel mungkin menawarkan kode aksesnya.
const { available } = await Lia.biometric.init();
if (available) {
const { authenticated } = await Lia.biometric.authenticate({ reason: "Confirm it's you to open your vault" });
}| Opsi | Jenis | |
|---|---|---|
reason | string | Opsional, ditampilkan oleh ponsel, hingga 128 karakter. Lia'kata miliknya ketika ditinggalkan. |
Kesalahan: unsupported, busy, bad_reason.
#Gerakan
Tiga sensor, masing-masing dengan start, stop, isStarted dan pembacaan terbarunya. Pembacaan tiba sebagai acara saat sensor berjalan; berhenti ketika aplikasi Anda ditutup. Ketiganya opsional pada ponsel: start() gagal dengan unsupported di mana ada'tidak ada.
| Sensor | Membaca | Unit | Peristiwa |
|---|---|---|---|
Lia.accelerometer | x, y, z | m/s², termasuk gravitasi | "accelerometerChanged" |
Lia.gyroscope | x, y, z | Laju rotasi, radian per detik | "gyroscopeChanged" |
Lia.deviceOrientation | alpha, beta, gamma | Sudut dalam radian | "deviceOrientationChanged" |
await Lia.deviceOrientation.start({ refreshRate: 50 });
Lia.on("deviceOrientationChanged", function (r) {
steer(r.gamma); // tilting left and right
});
// later
Lia.deviceOrientation.stop();#Lia.accelerometer
| Anggota | |
|---|---|
start(options) | Mulai membaca. options.refreshRate: 20 hingga 1000 ms antara pembacaan, 1000 secara default. Menyelesaikan dengan true; juga memicu "accelerometerStarted". Kesalahan: bad_refresh_rate, unsupported. |
stop() | Menghentikan mereka. Menyelesaikan dengan true; juga memicu "accelerometerStopped". |
isStarted | Apakah itu'sedang berjalan. |
x, y, z | Pembacaan terbaru, null sebelum yang pertama. |
#Lia.gyroscope
Sama seperti Lia.accelerometer, dengan x, y dan z tingkat rotasi.
#Lia.deviceOrientation
Yang sama, dengan alpha, beta dan gamma.
#Pengambilan foto dan video
SDK 1.9 menambahkan pengambilan asli dalam build mobile Lia berikutnya. Periksa kemampuan yang dikembalikan oleh init(); menginstal JavaScript SDK yang lebih baru tidak menambah dukungan kamera ke aplikasi mobile yang lebih lama.
const session = await Lia.init();
if (session.capabilities?.capturePhoto) {
const media = await Lia.capturePhoto(); // or Lia.captureVideo()
if (!media.cancelled) {
try {
const parts = [];
let offset = 0;
for (;;) {
const chunk = await Lia.readMedia(media.id, offset);
parts.push(Uint8Array.from(atob(chunk.base64), c => c.charCodeAt(0)));
offset = chunk.nextOffset;
if (chunk.eof) break;
// Stay below the shared bridge rate limit.
await new Promise(resolve => setTimeout(resolve, 100));
}
const blob = new Blob(parts, { type: media.mimeType });
// Preview with URL.createObjectURL(blob), or upload after the user confirms.
// Revoke preview object URLs when finished. No upload occurs automatically.
} finally {
await Lia.releaseMedia(media.id);
}
}
}capturePhoto() dan captureVideo() tampilkan Lia'lembaran persetujuan __s__ yang menyebutkan aplikasi yang meminta, diikuti oleh kamera sistem. Akses kamera hanya diminta kemudian; video juga memerlukan izin mikrofon. Membatalkan mengembalikan { cancelled: true }. Hasil penangkapan lainnya berisi id, kind, mimeType, size dalam byte, width, height dan duration dalam milidetik atau null. Tidak ada jalur file perangkat atau respons EXIF.
Foto dibatasi hingga 8 MiB. Video dibatasi hingga 30 detik dan 30 MiB. Setiap aplikasi yang terbuka dapat menyimpan tiga pengambilan; pengelolaan akan kedaluwarsa setelah sepuluh menit dan dihapus saat dilepaskan atau aplikasi ditutup. readMedia(id, offset) mengembalikan hingga 48 KiB sebagai base64, dengan nextOffset dan eof. Sebuah handle hanya milik instance aplikasi yang menciptakannya. Penangkapan tidak memberikan akses ke perpustakaan foto atau kamera latar belakang.
Handle unknown_method pada versi ponsel lama, camera_denied, microphone_denied, media_limit, media_too_large, media_expired, bad_offset dan yang dibagikan busy kesalahan. Beri petunjuk pengguna untuk Pengaturan sistem jika mereka menolak izin. Mengunggah konten yang ditangkap, pemberitahuan privasi, penyimpanan dan moderasi tetap menjadi tanggung jawab pengembang'tanggung jawab. Npm SDK mengekspor empat metode yang sama; mock lokalnya secara default membatalkan penangkapan dan tidak pernah membuka kamera nyata.
Diterjemahkan otomatis. Bahasa Inggris adalah sumber kebenaran. Baca dalam Bahasa Inggris