Ringkasan Arsitektur FCM

FCM mengandalkan serangkaian komponen berikut yang berfungsi untuk mem-build, memindahkan, dan menerima pesan:

  1. Alat untuk menulis atau mem-build permintaan pesan. Notifications composer menyediakan opsi berbasis GUI untuk membuat permintaan notifikasi. Untuk mendapatkan otomatisasi penuh dan dukungan bagi semua jenis pesan, Anda harus mem-build permintaan pesan di lingkungan server tepercaya yang mendukung Firebase Admin SDK atau protokol server FCM. Lingkungan ini dapat berupa Cloud Functions for Firebase, App Engine, atau server aplikasi Anda sendiri.

    Diagram dengan tiga lapisan arsitektur yang dijelaskan di halaman ini.

  2. Backend FCM, yang (di antara fungsi lainnya) menerima permintaan pesan, menjalankan fanout pesan melalui topik, dan menghasilkan metadata pesan seperti ID pesan.

  3. Lapisan transportasi level platform, yang merutekan pesan ke perangkat target, menangani pengiriman pesan, dan menerapkan konfigurasi spesifik platform jika sesuai. Lapisan transportasi ini mencakup:

    • Lapisan transportasi Android (ATL) untuk perangkat Android dengan layanan Google Play
    • Layanan Apple Push Notification (APNs) untuk perangkat Apple
    • Protokol Web push untuk aplikasi web

  4. FCM SDK di perangkat pengguna, tempat notifikasi ditampilkan atau pesan ditangani sesuai dengan status latar depan/latar belakang aplikasi dan beragam logika aplikasi yang relevan.

Alur siklus proses

  • Daftarkan perangkat untuk menerima pesan dari FCM. Instance aplikasi klien didaftarkan untuk menerima pesan, dan mendapatkan token pendaftaran yang mengidentifikasi instance aplikasi tersebut secara unik.
  • Kirim dan terima pesan downstream.
    • Kirim pesan. Server aplikasi mengirimkan pesan ke aplikasi klien:
      1. Pesan ditulis, baik di Notifications Composer atau di lingkungan tepercaya, dan permintaan pesan akan dikirim ke backend FCM.
      2. Backend FCM menerima permintaan pesan, membuat ID pesan dan metadata lainnya, lalu mengirimkannya ke lapisan transportasi spesifik platform.
      3. Saat perangkat sedang online, pesan akan dikirim ke perangkat melalui lapisan transportasi spesifik platform.
      4. Di perangkat tersebut, aplikasi klien akan menerima pesan atau notifikasi yang dimaksud.