FCM bergantung pada rangkaian komponen berikut yang membangun, mengangkut, dan menerima pesan:
Alat untuk menyusun atau membuat permintaan pesan. Komposer Notifikasi menyediakan opsi berbasis GUI untuk membuat permintaan notifikasi. Untuk otomatisasi dan dukungan penuh untuk semua jenis pesan , Anda harus membuat permintaan pesan di lingkungan server tepercaya yang mendukung Firebase Admin SDK atau protokol server FCM. Lingkungan ini bisa berupa Cloud Functions for Firebase, App Engine, atau server aplikasi Anda sendiri.
Backend FCM, yang (di antara fungsi lainnya) menerima permintaan pesan, melakukan penyebaran pesan melalui topik, dan menghasilkan metadata pesan seperti ID pesan.
Lapisan transport tingkat platform, yang merutekan pesan ke perangkat yang ditargetkan, menangani pengiriman pesan, dan menerapkan konfigurasi khusus platform jika sesuai. Lapisan transport ini meliputi:
- Android transport layer (ATL) untuk perangkat Android dengan layanan Google Play
- Layanan Pemberitahuan Dorong Apple (APN) untuk perangkat Apple
Protokol push web untuk aplikasi web
FCM SDK di perangkat pengguna, tempat notifikasi ditampilkan atau pesan ditangani sesuai dengan status latar depan/latar belakang aplikasi dan logika aplikasi apa pun yang relevan.
Aliran siklus hidup
- Daftarkan perangkat untuk menerima pesan dari FCM . Instance aplikasi klien mendaftar untuk menerima pesan, memperoleh token pendaftaran yang secara unik mengidentifikasi instance aplikasi.
- Kirim dan terima pesan hilir .
- Kirim pesan. Server aplikasi mengirim pesan ke aplikasi klien:
- Pesan disusun, baik di Notifications Composer atau lingkungan tepercaya, dan permintaan pesan dikirim ke backend FCM.
- Backend FCM menerima permintaan pesan, menghasilkan ID pesan dan metadata lainnya, dan mengirimkannya ke lapisan transport khusus platform.
- Saat perangkat online, pesan dikirim melalui lapisan transport khusus platform ke perangkat.
- Di perangkat, aplikasi klien menerima pesan atau notifikasi.
- Kirim pesan. Server aplikasi mengirim pesan ke aplikasi klien: