Selamat datang di Pratinjau Developer Android 13. Beri kami masukan, dan bantu kami menjadikan Android 13 sebagai rilis terbaik.

Izin runtime notifikasi

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:

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:

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:

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.

Setelah login, pengguna diberikan
   undangan untuk mendapatkan notifikasi terkait pembaruan perjalanan. Setelah pengguna menekan
   tombol setuju, aplikasi akan meminta izin baru, yang menyebabkan dialog
   sistem muncul
Gambar 1. Rekomendasi alur kerja berbasis pengguna untuk meminta izin notifikasi

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.