Pesan yang tidak dapat diciutkan berarti setiap pesan dikirimkan ke perangkat. Selain itu, pesan ini juga mengirimkan beberapa konten berguna. Selain itu, pesan yang dapat diciutkan seperti "ping" tanpa konten ke aplikasi seluler untuk menghubungi server agar mengambil data.
Beberapa kasus penggunaan umum untuk pesan yang tidak dapat diciutkan adalah pesan chat dan pesan penting. Untuk Android, ada batas 100 pesan yang dapat disimpan tanpa diciutkan. Jika batas ini tercapai, semua pesan yang disimpan akan dihapus. Saat kembali online, perangkat akan menerima pesan khusus yang memberitahukan bahwa batas telah tercapai. Selanjutnya, aplikasi dapat menangani situasi ini dengan biasanya meminta sinkronisasi penuh dari server aplikasi.
Pesan yang dapat diciutkan adalah pesan yang dapat diganti dengan pesan baru jika pesan tersebut belum dikirimkan ke perangkat.
Kasus penggunaan umum pesan yang dapat diciutkan adalah pesan yang digunakan untuk memberi tahu aplikasi seluler agar menyinkronkan data dari server. Contohnya adalah aplikasi olahraga yang mengirimkan informasi skor pertandingan terbaru kepada pengguna. Hanya pesan terbaru yang dianggap relevan.
Untuk menandai pesan sebagai dapat diciutkan di Android, sertakan parameter collapse_key
dalam payload pesan. Secara default, kunci penciutan adalah nama paket aplikasi yang terdaftar di Firebase console. Server FCM bisa menyimpan empat pesan berbeda yang bisa diciutkan per perangkat secara bersamaan, masing-masing dengan kunci penciutan berbeda. Jika Anda melampaui angka ini, FCM hanya akan menyimpan empat kunci penciutan, tanpa faktor penentu kunci mana yang akan disimpan.
Pesan topik tanpa payload dapat diciutkan secara default. Pesan notifikasi selalu dapat diciutkan dan akan mengabaikan parameter collapse_key
.
Mana yang harus saya gunakan?
Pesan yang dapat diciutkan adalah opsi yang lebih disukai dari sudut pandang performa, asalkan aplikasi Anda tidak perlu menggunakan pesan yang tidak dapat diciutkan. Akan tetapi, jika Anda menggunakan pesan yang dapat diciutkan, ingatlah bahwa FCM hanya mengizinkan maksimum empat kunci penciutan berbeda untuk digunakan oleh FCM per token pendaftaran pada suatu waktu tertentu.
Skenario penggunaan | Cara mengirim | |
---|---|---|
Tidak dapat diciutkan | Setiap pesan bersifat penting bagi aplikasi klien dan harus dikirimkan. | Semua pesan tidak dapat diciutkan secara default, kecuali pesan notifikasi. |
Dapat diciutkan | Jika ada pesan baru yang membuat pesan lama terkait menjadi tidak relevan bagi aplikasi klien, FCM akan mengganti pesan lama. Misalnya: pesan notifikasi usang. | Tetapkan parameter yang sesuai dalam permintaan pesan Anda:
|