Informasi multimedia, seperti video live, dapat membantu petugas penerima panggilan darurat selama situasi kritis. Contoh:
- Insiden mobil: Video langsung dari lokasi kejadian dapat membantu mereka memahami kendaraan yang terlibat.
- Kebakaran: Untuk memahami luasnya kobaran api dan kerusakan.
- Darurat medis: Memandu pengguna melakukan CPR untuk menyelamatkan nyawa.
ELS kini dapat mencegat SMS yang dimulai oleh petugas panggilan yang meminta video live dari pengguna dan menyajikan pengalaman video terintegrasi. Karena fitur ini khusus untuk situasi darurat, izin kamera akan diberikan sebelumnya selama durasi keadaan darurat.
Tujuan utama kami menghadirkan fitur ini adalah untuk memberi pengguna:
- pengalaman video live tanpa hambatan tanpa izin yang rumit
- pengalaman yang konsisten untuk semua pengguna Android
Cara kerjanya
Panduan integrasi
1. Receiving
Setelah memperbarui konfigurasi ELS untuk mengaktifkan video live, Anda akan mulai menerima kolom live_video_token dalam pesan ELS HTTPS saat ponsel pengguna mendukung fitur tersebut. Fitur ini mendukung perangkat Android 8 Oreo dan yang lebih baru.
Token adalah ID yang dibuat di perangkat yang berubah dengan setiap panggilan atau teks dan terdiri dari:
- 6 karakter acak
- Alfanumerik
- Huruf Besar
2. Undangan
Saat Anda mendeteksi token, teruskan token tersebut di URL, seperti parameter URL, di SMS yang berisi link ke streaming video Anda, misalnya: https://example.com/live?token=AFZ791. ELS akan mendeteksi pesan SMS yang masuk
selama panggilan atau pesan teks darurat dan mencari token video live yang cocok, dalam
hal ini: AFZ791.
Saat perangkat mendeteksi URL dan token yang valid, pengguna akan melihat dialog yang menanyakan apakah mereka ingin menyetujui permintaan tersebut. Jika mereka mengklik
Accept, link yang dikirim dalam SMS permintaan Anda akan dibuka di pengalaman
webview terintegrasi.
3. Pengalaman video live
Link video live Anda harus mendukung dua pengalaman:
A. Pengalaman berbasis browser web:
Hal ini dapat mencakup UI kustom Anda sendiri, misalnya:
- Tombol
- Permintaan lokasi
- Dialog & izin
B. Pengalaman terintegrasi:
Untuk melakukannya, Anda harus:
- Hapus semua tombol karena peristiwa sentuh tidak akan berfungsi
- Mulai langsung ke streaming video tanpa dialog
Deteksi
Anda dapat mendeteksi mode terintegrasi dengan mengamati agen pengguna yang berisi
Live.
Contoh agen pengguna dalam pengalaman browser seluler: Mozilla/5.0 (Linux; Android
10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Mobile
Safari/537.36
Contoh agen pengguna dalam pengalaman webview terintegrasi: Mozilla/5.0 (Linux;
Android 10; K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0
Chrome/125.000 Mobile Safari/537.36 Live/25.23.10
Di JavaScript, hal ini dapat dilakukan dengan cara berikut:
if (navigator.userAgent.includes("Live")) {
<!-- Render integrated experience -->
} else {
<!-- Render your your own custom UI -->
}
Izin
- Izin untuk kamera harus diberikan sebelumnya untuk video live terintegrasi, Anda harus memintanya seperti biasa melalui JavaScript.
- Izin lokasi, audio, dan izin lainnya akan otomatis ditolak.
Hook
Untuk memberikan pengalaman pengguna terbaik, pengalaman terintegrasi akan menyediakan elemen UI untuk membalikkan kamera dan mengaktifkan/menonaktifkan senter.
| Nama Fungsi | Pulang pergi | Deskripsi | |
|---|---|---|---|
| Kamera | switchCamera |
Promise<bool> |
Saat dimuat, mulai dengan kamera belakang (mode menghadap = lingkungan) karena paling berguna dalam situasi darurat. Beralih di antara kamera yang tersedia setiap kali fungsi dipanggil. Kembali true saat peralihan kamera berhasil. |
| Senter | toggleFlashlight |
Promise<bool> |
Mengaktifkan dan menonaktifkan senter setiap kali fungsi dipanggil. Kembalikan true saat pengalihan senter berhasil. |
| Senter | isFlashlightAvailable |
bool |
Menampilkan true atau false bergantung pada ketersediaan senter untuk mode kamera saat ini. Setelah panggilan ke switchCamera, mengasumsikan nilai yang ditampilkan mencerminkan status ketersediaan yang diperbarui segera setelah Promise switchCamera diselesaikan. |
| Senter | isFlashlightOn |
bool |
Menampilkan true saat senter menyala, false jika tidak. Setelah panggilan ke toggleFlashlight, mengasumsikan nilai yang ditampilkan mencerminkan status aktif senter yang diperbarui segera setelah Promise toggleFlashlight diselesaikan |