Jenis pesan Firebase Cloud Messaging

Dengan FCM, Anda dapat mengirim dua jenis pesan ke aplikasi klien:

  • Pesan notifikasi, yang mirip dengan "pesan tampilan", ditangani oleh FCM SDK secara otomatis.
  • Pesan data, yang ditangani oleh aplikasi klien.

Pesan notifikasi memiliki serangkaian kunci bawaan yang terlihat oleh pengguna dan dapat berisi payload data opsional. Sebaliknya, pesan data hanya memuat key-value pair kustom yang ditentukan pengguna. Payload maksimum untuk kedua jenis pesan tersebut adalah 4.096 byte, kecuali jika mengirim pesan dari Firebase console, yang memberlakukan batas 1.000 karakter.

Skenario penggunaan Cara mengirim
Pesan notifikasi FCM SDK menampilkan pesan ke perangkat pengguna akhir atas nama aplikasi klien saat aplikasi tersebut berjalan di latar belakang. Atau, jika aplikasi berjalan di latar depan saat notifikasi diterima, kode aplikasi akan menentukan perilakunya.
  1. Dalam lingkungan tepercaya, seperti Cloud Functions atau server aplikasi Anda, gunakan Firebase Admin SDK atau HTTP v1 API. Tetapkan kunci notification. Dapat memiliki payload data opsional. Selalu dapat diciutkan.

    Lihat beberapa contoh notifikasi tampilan dan payload permintaan kirim.

  2. Gunakan Notifications composer: Masukkan Message Text, Title, dll., lalu kirim. Tambahkan payload data opsional dengan memberikan Custom data.
Pesan data Aplikasi klien bertanggung jawab memproses pesan data. Pesan data hanya memiliki key-value pair kustom tanpa nama kunci yang dicadangkan (lihat di bawah). Dalam lingkungan tepercaya, seperti Cloud Functions atau server aplikasi Anda, gunakan Firebase Admin SDK atau HTTP v1 API. Dalam permintaan kirim, Tetapkan kunci data.

Anda dapat menggunakan pesan notifikasi jika Anda ingin FCM SDK menangani tampilan notifikasi secara otomatis saat aplikasi berjalan di latar belakang. FCM dapat mengirim pesan notifikasi dengan payload data opsional. Dalam kasus semacam ini, FCM menampilkan payload notifikasi, dan aplikasi klien menangani payload data.

Anda dapat menggunakan pesan data jika ingin memproses pesan dengan kode aplikasi klien Anda sendiri.

Pesan notifikasi

Anda dapat mengirim pesan notifikasi menggunakan Firebase console, Firebase Admin SDK, atau FCM HTTP v1 API. Konsol Firebase menyediakan pengujian A/B berbasis analisis untuk membantu Anda meningkatkan kualitas pesan notifikasi.

Untuk mengirim pesan notifikasi menggunakan Firebase Admin SDK atau FCM HTTP v1 API, tetapkan kunci notification dengan serangkaian opsi key-value bawaan dari pesan notifikasi. Anda dapat menggunakan contoh berikut untuk memformat pesan notifikasi di aplikasi IM

{
  "message":{
    "token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
    "notification":{
      "title":"Portugal vs. Denmark",
      "body":"great match!"
    }
  }
}

Pesan notifikasi dikirimkan ke baki notifikasi saat aplikasi berada di latar belakang. Untuk aplikasi yang berjalan di latar depan, pesan ditangani oleh fungsi callback.

Anda dapat menggunakan dokumentasi referensi objek notifikasi FCM HTTP v1 API untuk mengetahui daftar lengkap kunci bawaan yang tersedia untuk membuat pesan notifikasi.

Pesan data

Anda dapat menentukan cara menggunakan data payload FCM untuk menerapkan skema enkripsi pilihan Anda. Pastikan Anda tidak menggunakan kata yang dicadangkan dalam key-value pair kustom Anda. Kata-kata yang dicadangkan mencakup from, message_type, atau kata apa pun yang diawali dengan google., gcm., atau gcm.notification..

Contoh berikut menunjukkan penggunaan kolom data umum atau tingkat atas, yang ditafsirkan oleh klien di semua platform yang menerima pesan tersebut. Di setiap platform, aplikasi klien menerima payload data dalam fungsi callback

{
  "message":{
    "token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
    "data":{
      "Nick" : "Mario",
      "body" : "great match!",
      "Room" : "PortugalVSDenmark"
    }
  }
}