LiaPengembang

Referensi SDK

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");
kindTerasa 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" });
OpsiJenis
textstringOpsional, 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.

ParameterJenis
textstringMaksimal 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();

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
ParameterJenis
urlstringAlamat https, hingga 2048 karakter.
options.externalbooleanBuka di luar Lia.

Menyelesaikan dengan null sekali browser dalam aplikasi ditutup (atau langsung untuk external). Kesalahan: bad_url.

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 app
screenMembukaAplikasi Anda
"invite"Undang teman ke LiaMenutup
"strides"StridesMenutup
"activity"Orang tersebut's aktivitasMenutup
"send"Kirim $LIAMenutup
"apps"The Apps CenterMenutup
"streak"Rekor check-inTetap
"mine"PenambanganTetap
"receive"Terima $LIATetap

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" });
}
OpsiJenis
reasonstringOpsional, 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.

SensorMembacaUnitPeristiwa
Lia.accelerometerx, y, zm/s², termasuk gravitasi"accelerometerChanged"
Lia.gyroscopex, y, zLaju rotasi, radian per detik"gyroscopeChanged"
Lia.deviceOrientationalpha, beta, gammaSudut 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".
isStartedApakah itu'sedang berjalan.
x, y, zPembacaan 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

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