Android 13 memperkenalkan
izin runtime baru untuk mengirim
notifikasi yang tidak dikecualikan dari aplikasi:
POST_NOTIFICATIONS
.
Perubahan ini membantu pengguna untuk berfokus pada notifikasi yang paling penting bagi
mereka.
Sebaiknya targetkan Android 13 sesegera mungkin untuk memanfaatkan kontrol dan fleksibilitas tambahan dari fitur ini. Jika terus menargetkan 12L (API level 32) atau yang lebih rendah, Anda akan kehilangan peluang untuk meminta izin dalam konteks fungsi aplikasi Anda.
Menggunakan izin baru
Untuk meminta izin notifikasi baru dari aplikasi Anda, update aplikasi agar menargetkan Android 13 dan selesaikan proses yang serupa dengan meminta izin runtime lainnya, seperti yang ditunjukkan dalam bagian berikut.
Izin yang perlu Anda deklarasikan di file manifes aplikasi akan muncul dalam cuplikan kode berikut:
<manifest ...> <uses-permission android:name="android.permission.POST_NOTIFICATIONS"/> <application ...> ... </application> </manifest>
Kemampuan aplikasi bergantung pada pilihan pengguna dalam dialog izin
Dalam dialog ini, pengguna memiliki tindakan berikut yang tersedia bagi mereka:
- Pilih izinkan
- Pilih jangan izinkan
- Geser menjauh dari dialog, tanpa menekan tombol apa pun
Bagian berikut ini menjelaskan perilaku aplikasi Anda berdasarkan tindakan yang dilakukan pengguna.
Pengguna memilih "Izinkan"
Jika pengguna memilih opsi izinkan, aplikasi Anda dapat melakukan hal berikut:
- Mengirimkan notifikasi. Semua saluran notifikasi diizinkan.
- Memposting notifikasi yang terkait dengan layanan latar depan. Notifikasi ini muncul di panel samping notifikasi.
Pengguna memilih "Jangan izinkan"
Jika pengguna memilih opsi jangan izinkan, aplikasi Anda tidak dapat mengirim notifikasi. Semua saluran notifikasi diblokir, kecuali untuk beberapa peran tertentu. Hal ini serupa dengan perilaku yang terjadi saat pengguna menonaktifkan secara manual semua notifikasi untuk aplikasi Anda di setelan sistem.
Pengguna menggeser dari dialog
Jika pengguna menggeser dari dialog, yaitu tidak memilih izinkan atau jangan izinkan—perilaku berikut terjadi:
- Jika aplikasi Anda memenuhi syarat untuk pemberian izin notifikasi sementara, sistem akan mempertahankan pemberian izin sementara tersebut.
- Jika aplikasi tidak memiliki pemberian izin sementara, aplikasi Anda tidak dapat mengirim notifikasi.
Pengaruh terhadap aplikasi yang baru diinstal
Jika pengguna menginstal aplikasi Anda di perangkat yang menjalankan Android 13, notifikasi aplikasi akan dinonaktifkan secara default. Aplikasi Anda harus menunggu untuk mengirim notifikasi sampai Anda meminta izin baru dan pengguna memberikan izin tersebut ke aplikasi Anda.
Waktu ditampilkannya dialog izin bergantung pada versi SDK target aplikasi Anda:
- Jika aplikasi Anda menargetkan Android 13 atau yang lebih tinggi, aplikasi memiliki kontrol penuh atas kapan dialog izin ditampilkan. Gunakan kesempatan ini untuk menjelaskan kepada pengguna mengapa aplikasi memerlukan izin ini, sehingga mendorong mereka untuk mengizinkannya.
- Jika aplikasi Anda menargetkan 12L (API level 32) atau lebih rendah, sistem akan menampilkan dialog izin saat Anda membuat saluran notifikasi pertama. Hal ini biasanya terjadi saat memulai aplikasi.
Pengaruh terhadap update pada aplikasi yang sudah ada
Untuk meminimalkan gangguan yang terkait dengan izin notifikasi baru, sistem secara otomatis memberikan izin notifikasi baru untuk sementara ke semua aplikasi yang memenuhi syarat dan sudah diinstal di perangkat pengguna sebelum upgrade sistem ke Android 13. Durasi pemberian izin sementara ini bergantung pada versi SDK target aplikasi Anda:
Jika aplikasi Anda menargetkan Android 13 atau yang lebih tinggi, pemberian izin sementara akan berlangsung hingga aplikasi Anda pertama kali meluncurkan aktivitas.
Aplikasi Anda memiliki kontrol penuh atas kapan dialog izin ditampilkan. Gunakan kesempatan ini untuk menjelaskan kepada pengguna mengapa aplikasi memerlukan izin ini, sehingga mendorong mereka untuk mengizinkannya.
Jika aplikasi Anda menargetkan 12L atau yang lebih rendah, pemberian izin sementara akan berlangsung sampai pengguna secara eksplisit memilih opsi dalam dialog runtime izin notifikasi. Hal ini berarti bahwa jika pengguna menutup permintaan izin tanpa membuat pilihan, sistem akan mempertahankan izin sementara untuk aplikasi Anda.
Kelayakan untuk pemberian izin sementara
Agar memenuhi syarat untuk pemberian izin sementara, aplikasi Anda harus memiliki saluran notifikasi yang sudah ada dan notifikasinya tidak dinonaktifkan secara eksplisit oleh pengguna di perangkat yang menjalankan 12L atau yang lebih rendah.
Jika pengguna menonaktifkan notifikasi untuk aplikasi Anda di perangkat yang menjalankan 12L atau lebih rendah, penolakan akan tetap ada saat perangkat diupgrade ke Android 13 atau yang lebih tinggi.
Pengecualian
Notifikasi yang terkait dengan sesi media dikecualikan dari perubahan perilaku ini.
Praktik terbaik
Bagian ini menjelaskan beberapa cara untuk menggunakan izin notifikasi baru secara efektif di aplikasi Anda.
Mengupdate versi SDK target aplikasi Anda.
Untuk meningkatkan fleksibilitas aplikasi saat dialog izin muncul, update aplikasi Anda sehingga menargetkan Android 13.
Menunggu untuk menampilkan perintah izin notifikasi
Sebelum Anda meminta pengguna untuk memberikan izin apa pun, biarkan mereka memahami aplikasi Anda.
Pengguna baru mungkin ingin menjelajahi aplikasi dan menyadari secara langsung manfaat dari setiap permintaan notifikasi individual. Anda dapat memicu permintaan izin dari tindakan pengguna. Daftar berikut menunjukkan beberapa contoh waktu yang tepat untuk menampilkan permintaan izin notifikasi:
- Pengguna mengetuk tombol "bel notifikasi".
- Pengguna memilih untuk mengikuti akun media sosial seseorang.
- Pengguna mengirimkan pesanan untuk pengiriman makanan.
Gambar 1 menunjukkan alur kerja yang direkomendasikan untuk meminta izin notifikasi. Atau, Anda dapat menetapkan agar permintaan muncul saat aplikasi dimulai, tetapi hanya setelah aplikasi diluncurkan untuk ketiga atau keempat kalinya.
Meminta izin dalam konteks
Saat Anda meminta izin notifikasi dalam aplikasi, lakukan dalam konteks yang benar, sehingga terlihat jelas apa kegunaan notifikasi tersebut dan alasan pengguna harus memilih ikut serta. Misalnya, aplikasi email mungkin menyertakan opsi untuk mengirim notifikasi bagi setiap email baru, atau hanya email ketika pengguna adalah penerima satu-satunya.
Gunakan peluang ini untuk memberikan transparansi tentang niat Anda, dan akan lebih besar kemungkinan pengguna untuk memberikan izin notifikasi ke aplikasi Anda.
Memastikan aplikasi Anda dapat mengirim notifikasi
Sebelum aplikasi Anda mengirim notifikasi, pastikan apakah pengguna telah mengaktifkan
notifikasi untuk aplikasi Anda. Untuk melakukannya, panggil
areNotificationsEnabled()
.
Menggunakan izin secara bertanggung jawab
Setelah Anda menerima persetujuan untuk mengirim notifikasi, jangan lupa untuk menggunakan izin secara bertanggung jawab. Pengguna dapat melihat jumlah notifikasi harian yang dikirim aplikasi Anda, dan mereka dapat mencabut izin kapan saja.