Izin satu kali di Chrome

Maud Nalpas
Maud Nalpas

Dengan peluncuran bertahap dari Chrome 116, kami akan menambahkan opsi Izinkan kali ini ke dialog izin. Tujuan kami adalah memudahkan pengguna menggunakan kemampuan web yang canggih sesuai keinginan mereka. Izinkan kali ini awalnya akan tersedia di desktop untuk beberapa izin yang paling umum: geolokasi, kamera, dan mikrofon. Permintaan izin untuk kemampuan lain dan di web seluler tidak berubah untuk saat ini, tetapi dapat berubah pada masa mendatang.

Jika Anda adalah pemilik situs, tinjau Dampak dan Rekomendasi, dan coba demo.

UX baru untuk izin

UX Izin sebelum Chrome 116

Permintaan izin yang hanya menampilkan blokir dan izinkan.
Dialog izin sebelum Chrome 116.

Pengguna akan melihat tiga opsi:

  • Izinkan: Izinkan secara permanen.
  • Blokir: Blokir persisten.
  • Mengklik tombol x: Pemblokiran sementara. Situs dapat meminta pengguna lagi nanti, maksimal tiga kali.

Izin dapat dikelola melalui Kontrol situs di kolom URL atau melalui Setelan situs.

UX izin baru dari Chrome 116

Permintaan izin dengan opsi satu kali yang baru.
Permintaan izin dengan opsi satu kali yang baru. Ini adalah permintaan izin baru di desktop untuk geolokasi, kamera, dan mikrofon.

Pengguna akan melihat empat opsi:

  • Izinkan kali ini: Izinkan sementara.
  • Izinkan pada setiap kunjungan: Izinkan secara permanen.
  • Jangan izinkan: Blokir persisten.
  • Mengklik tombol x: Pemblokiran sementara.

Jika pengguna memilih Izinkan kali ini, izin yang diberikan bersifat sementara, yang juga disebut sebagai izin satu kali. Durasinya terbatas pada interaksi yang sedang berlangsung saat ini dengan aplikasi web.

Izin satu kali dapat dikelola seperti izin lainnya, melalui Kontrol situs atau Setelan situs.

Manfaat pengguna dan desain UX "Izinkan kali ini"

Izinkan kali ini memberi pengguna:

  • Peningkatan kontrol. Riset pengguna Chrome menunjukkan bahwa pengguna sering kali tidak siap untuk membuat keputusan yang persisten terkait izin situs, dan mencoba menilai apakah mereka mendapatkan nilai sebagai imbalan atas pemberian izin. Menawarkan opsi Izinkan satu kali mengakomodasi kebutuhan ini dan membuat pemberian akses menjadi lebih aman.
  • Informasi lebih jelas. Opsi Izinkan kali ini dan Izinkan pada setiap kunjungan yang eksplisit memperjelas bahwa salah satu opsi bersifat sementara, sedangkan opsi lainnya bersifat permanen.

Izin satu kali di browser lain

Di web, izin satu kali didukung di sejumlah browser, termasuk Safari dan Firefox. Untuk melihat cara kerjanya di perangkat Anda, bereksperimenlah dengan https://permission.site/one-time. Pastikan untuk mencoba izin geolokasi, kamera, dan mikrofon, karena izin tersebut mungkin memiliki perilaku tertentu.

Contoh:

  • Di Safari 16 di desktop, geolokasi bersifat satu kali secara default (hingga navigasi berikutnya). Pengguna dapat memilih untuk mengaktifkan akses yang dipertahankan selama 24 jam melalui kotak centang.
  • Di Firefox 115 di desktop, izin geolokasi, kamera, dan mikrofon bersifat satu kali secara default. Pengguna dapat memilih untuk menggunakan akses persisten melalui kotak centang.

Dampak dan rekomendasi

Dampak izin satu kali:

  • Pengenalan izin satu kali tidak memengaruhi izin yang sebelumnya diberikan pengguna secara terus-menerus.
  • Setelah pengguna membuat keputusan terkait dialog izin, selama durasi kunjungannya, status izin akan diberikan atau ditolak. Izin satu kali tidak membuat perbedaan dalam hal ini.
  • Namun, jika pengguna memilih Izinkan kali ini, mereka akan melihat permintaan izin lagi pada kunjungan berikutnya.

Untuk mengakomodasi izin satu kali, sebaiknya pemilik situs melakukan hal berikut:

Praktik terbaik

Izinkan kali ini dapat membuat orang lebih cenderung memberikan izin untuk mencoba kemampuan, tetapi juga dapat mengurangi kesediaan mereka untuk memberikan akses permanen. Hal ini semakin memperjelas pentingnya mengikuti praktik terbaik.

  • Berikan konteks yang diperlukan sebelum meminta izin. Jelaskan kepada pengguna mengapa mereka akan mendapatkan manfaat dari kemampuan tersebut.
  • Meminta izin pada waktu yang tepat dan diharapkan. Idealnya, biarkan pengguna Anda mengekspresikan niat mereka untuk menggunakan kemampuan tertentu sesuai keinginan mereka.
  • Selama durasi kunjungan pengguna, berikan pengalaman yang sama, terlepas dari apakah pengguna memilih opsi satu kali atau persisten.

Tinjau panduan tambahan di UX Izin.

Akhir masa berlaku izin satu kali

Secara default, semua izin web terikat dengan origin, yang dapat dianggap sebagai aplikasi tersendiri. Dengan Izinkan kali ini, pengguna memberikan izin satu kali ke origin. Pada dasarnya, izin satu kali akan berakhir masa berlakunya saat pengguna berhenti berinteraksi secara aktif dengan origin tersebut selama beberapa waktu. Artinya, situs dapat terus menggunakan kemampuan tersebut jika pengguna beralih sebentar ke halaman web lain di tab lain, tetapi kemudian kembali.

Secara lebih mendetail, pemberian izin satu kali akan berakhir segera setelah salah satu kondisi berikut terpenuhi:

  • Halaman telah ditutup, keluar dari halaman, atau dihapus. Hal ini termasuk menutup Chrome.
  • 16 jam telah berlalu sejak memberikan izin.
  • Pengguna mencabut izin secara manual (misalnya, di Kontrol situs), atau izin diganti melalui kebijakan perusahaan.
  • Halaman telah berada di latar belakang selama minimal 5 menit—kecuali jika kemampuan diizinkan untuk berjalan di latar belakang, seperti kamera atau mikrofon. Dalam hal ini, selama situs menggunakan kemampuan tersebut, Chrome akan menampilkan indikator strip tab dan tidak memulai timer 5 menit hingga halaman berhenti menggunakan kemampuan tersebut. Perhatikan bahwa timer 16 jam masih berjalan.

Tab Latar belakang

Tab browser berada di latar belakang jika tidak berada di latar depan. Tab berada di latar depan jika tab tersebut terlihat di jendela browser yang tidak diminimalkan.

Di Chrome, beberapa kemampuan, seperti geolokasi, hanya dapat berjalan di tab latar depan. Aplikasi tidak diizinkan berjalan di tab latar belakang. Yang lainnya, seperti kamera dan mikrofon, diizinkan untuk berjalan di tab latar belakang.

Screenshot jendela browser menyoroti tab latar depan yang aktif dan tab latar belakang yang tidak aktif.

Indikator tab setrip

Kemampuan yang terus berjalan saat tab berada di latar belakang memiliki indikator kolom tab. Misalnya, kamera memiliki indikator strip tab.

Tab dengan titik merah.
Indikator tab untuk akses kamera adalah titik merah.

Geolokasi tidak memerlukan indikator strip tab, karena akses geolokasi dijeda segera setelah halaman berada di latar belakang.

Contoh

  • Geolokasi: Pengguna menggunakan example.com dan memberikan akses geolokasi satu kali. Pengguna beralih ke tab lain. Hal ini akan membuat example.com menjadi tab latar belakang. Akses geolokasi akan segera dijeda karena Chrome tidak mengizinkan akses geolokasi latar belakang, tetapi pemberian izin satu kali masih valid. Jika pengguna kembali ke example.com dalam waktu lima menit, halaman dapat melanjutkan akses geolokasi (dan timer habis masa berlakunya 5 menit akan direset). Jika tidak, masa berlaku izin satu kali akan berakhir.
  • Kamera/Mikrofon: Pengguna menggunakan example.com dan memberikan akses kamera satu kali. Pengguna beralih ke tab lain. Hal ini akan membuat example.com menjadi tab latar belakang. Akses kamera dapat dilanjutkan karena Chrome mengizinkan akses kamera untuk dilanjutkan di latar belakang. Chrome terus menampilkan indikator strip tab untuk kamera selama digunakan agar pengguna tetap mendapatkan informasi. Pada titik tertentu, situs dapat memutuskan untuk menghentikan akses kamera, dan dalam hal ini timer habis masa berlakunya selama 5 menit akan dimulai. Setelah 5 menit tanpa akses kamera, izin satu kali akan berakhir masa berlakunya.

Permissions API

Untuk membuat kueri status izin API, Anda dapat menggunakan Permissions API:

  • Jika pengguna memilih Izinkan kali ini, status Permission API akan ditetapkan ke granted. Artinya, izin sekali pakai yang belum habis masa berlakunya dan izin persisten tidak dapat dibedakan dan memiliki status yang sama: granted.
  • Setelah izin satu kali berakhir, status akan ditetapkan kembali ke prompt.
  • Untuk mengamati habis masa berlaku izin satu kali, daftarkan pengendali peristiwa PermissionStatus.onchange.

Demo

  1. Buka Chrome 116 atau yang lebih baru, di komputer desktop.
  2. Buka chrome://flags/#one-time-permission, lalu pilih Aktifkan. Mulai ulang Chrome. Langkah ini akan mengaktifkan izin satu kali secara paksa jika belum diluncurkan di browser Chrome Anda.
  3. Buka https://permission.site/one-time.
  4. Klik tombol Geolocation.
  5. Perhatikan perintah izin satu kali yang baru.
  6. Pilih Izinkan kali ini.
  7. Buka Kontrol situs. Perhatikan bahwa Anda dapat mengelola izin satu kali.
  8. Tutup tab untuk https://permission.site/one-time. Pastikan tidak ada tab lain untuk origin tersebut yang terbuka.
  9. Buka https://permission.site/one-time di tab baru.
  10. Buka Kontrol situs. Buka Setelan situs.
  11. Perhatikan bahwa izin Geolokasi kini kembali ke status awalnya: Tanyakan (default).

Kesimpulan dan masukan

Izin satu kali menawarkan lebih banyak pilihan kepada pengguna, dan UI izin baru Chrome menghadirkan pengalaman pengguna izin yang lebih konsisten di seluruh browser dan platform.

Jika Anda mengalami masalah terkait izin satu kali, laporkan masalah crbug baru untuk dialog izin.

Ucapan terima kasih

Terima kasih kepada Rachel Andrew, Serena Chen, Balazs Engedy, Marian Harbach, Florian Jacky, dan Thomas Steiner karena telah meninjau artikel ini.