Coba jelasin Pesan yang dapat diperkecil dari Firebase Cloud Messaging dong

Pesan yang dapat diperkecil adalah pesan yang dapat diganti dengan pesan baru jika pesan tersebut belum dikirimkan ke perangkat. Kasus penggunaan umum dalam pesan yang dapat diperkeciladalah pesan digunakan untuk memberi tahu aplikasi seluler untuk menyinkronkan data dari server karena hanya pesan terbaru yang dianggap relevan.

Untuk menandai pesan sebagai pesan yang dapat diperkecil di Android, pengguna dapat menyertakan parameter collapse_key dalam payload pesan. Firebase Cloud Messaging mendukung maksimal 4 kunci perkecil berbeda dari beberapa perangkat Android yang akan digunakan oleh server aplikasi pada waktu yang ditentukan. Dengan kata lain, server Firebase Cloud Messaging dapat menyimpan 4 pesan berbeda yang bisa diperkecil per perangkat secara bersamaan, masing-masing dengan kunci perkecil yang berbeda. Jika melampaui angka ini, Firebase Cloud Messaging hanya akan menyimpan 4 kunci perkecil, tanpa jaminan kunci mana yang akan disimpan.

Prioritas Pesan Firebase Cloud Messaging

Prioritas Pesan Firebase Cloud Messaging memiliki 2 opsi untuk menetapkan prioritas pengiriman ke pesan downstream di Android: prioritas normal dan tinggi. Pengiriman pesan berprioritas normal dan tinggi berfungsi sebagai berikut

Prioritas normal Ini adalah prioritas awal untuk pesan data. Pesan berprioritas normal segera dikirim saat aplikasi berjalan di depan latar . Saat perangkat sedang dalam kondisi istirahat atau aplikasi dalam kondisi aplikasi siaga, pengiriman mungkin ditunda untuk menghemat baterai. Untuk pesan yang tidak mendesak dari segi waktu, misalnya pemberitahuan email baru, selalu menyinkronkan antarmuka pengguna, atau menyinkronkan data aplikasi di latar belakang, pilihlah prioritas pengiriman normal.

Saat menerima pesan berprioritas normal di Android yang meminta sinkronisasi latar belakang data untuk aplikasi, pengguna harus menjadwalkan tugas FJD atau JobIntentService untuk menanganinya saat jaringan tersedia.

Prioritas tinggi Firebase Cloud Messaging berusaha segera mungkin untuk mengirimkan pesan berprioritas tinggi, yang membuat layanan Firebase Cloud Messaging dapat membangunkan perangkat yang sedang tertidur jika diperlukan, dan menjalankan beberapa pemrosesan terbatas (termasuk akses jaringan yang sangat terbatas). Pesan berprioritas tinggi umumnya menimbulkan interaksi pengguna dengan aplikasi. Jika Firebase Cloud Messaging mendeteksi pola yang tidak ada, pesan mungkin tidak diprioritaskan.

Karena sebagian kecil populasi seluler Android menggunakan jaringan latensi tinggi, jangan buka koneksi ke server sebelum menampilkan pemberitahuan. Memanggil kembali server sebelum waktu akhir pemrosesan yang diizinkan dapat berisiko bagi pengguna pada jaringan latensi tinggi. Atau, sertakan konten pemberitahuan dalam pesan Firebase Cloud Messaging yang segera tampilkan. Jika harus menyinkronkan tambahan konten dalam aplikasi di Android, pengguna dapat menjadwalkan tugas FJD atau JobIntentService untuk menanganinya di latar belakang.

Menetapkan Masa Aktif Pesan Firebase Cloud Messaging

Firebase Cloud Messaging biasanya segera mengirimkan pesan setelah pesan dikirim. Namun, hal tersebut terkadang tidak memungkinkan untuk dilakukan. Jika platformnya adalah Android, perangkat akan dimatikan, luring, atau tidak tersedia. Firebase Cloud Messaging sengaja menunda pesan agar aplikasi tidak menggunakan sumber secara berlebihan dan berpengaruh negatif pada masa pakai baterai.

Jika ini terjadi, Firebase Cloud Messaging akan menyimpan pesan dan mengirimkannya segera setelah kondisinya memungkinkan. Meskipun dalam kebanyakan kasus hal ini tidak apa-apa, karena ada beberapa aplikasi yang tidak mengizinkan keterlambatan pengiriman pesan. Misalnya, untuk pemberitahuan panggilan masuk atau video obrolan, pesan hanya berguna untuk periode waktu yang singkat sebelum panggilan tersebut diakhiri.

Di Android dan Web/JavaScript, dapat menentukan masa aktif maksimum suatu pesan. Nilainya harus berupa durasi dari 0 hingga 2.419.200 detik (28 hari), dan sama dengan periode waktu maksimum bagi Firebase Cloud Messaging untuk menyimpan dan mencoba mengirimkan pesan.

Berikut adalah beberapa kemungkinan penggunaan fitur ini: