Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Lingkungan server Anda dan FCM
Sisi server Firebase Cloud Messaging terdiri dari dua komponen:
Backend FCM yang disediakan oleh Google.
Server aplikasi Anda atau lingkungan server tepercaya lainnya untuk menjalankan logika server, seperti Cloud Functions for Firebase atau lingkungan cloud lain yang dikelola oleh Google.
Server aplikasi Anda atau lingkungan server tepercaya mengirimkan permintaan pesan ke backend FCM, yang kemudian merutekan pesan ke aplikasi klien yang berjalan di perangkat pengguna.
Persyaratan untuk lingkungan server tepercaya
Lingkungan server aplikasi Anda harus memenuhi kriteria berikut:
Mampu mengirim permintaan pesan yang diformat dengan benar ke backend FCM.
Mampu menangani permintaan dan mengirimnya kembali menggunakan backoff eksponensial.
Mampu menyimpan kredensial otorisasi server dan token pendaftaran klien dengan aman.
Memilih opsi server
Anda harus memutuskan metode interaksi dengan server FCM: menggunakan Firebase Admin SDK atau protokol mentah.
Karena mendukung berbagai bahasa pemrograman populer dan memiliki metode praktis untuk menangani autentikasi dan otorisasi, Firebase Admin SDK adalah metode yang direkomendasikan.
Opsi untuk berinteraksi dengan server FCM meliputi hal berikut:
Admin FCM API menangani autentikasi dengan backend dan memfasilitasi pengiriman pesan serta pengelolaan langganan topik. Dengan Firebase Admin SDK, Anda dapat:
Mengirim pesan ke setiap perangkat secara terpisah
Mengirim pesan ke topik dan pernyataan kondisi yang cocok dengan satu topik atau lebih
Membuat perangkat berlangganan ke topik dan berhenti berlangganan dari topik
Membuat payload pesan yang disesuaikan untuk berbagai platform target
Admin Node.js SDK menyediakan metode untuk mengirim pesan ke grup perangkat.
FCM menyediakan FCM HTTP v1 API untuk developer yang lebih memilih protokol server mentah.
Untuk mengirim pesan, server aplikasi akan menerbitkan permintaan POST dengan header HTTP dan isi HTTP yang terdiri dari key-value pair JSON.
Untuk detail tentang opsi header dan isi, lihat Mem-build Permintaan Kirim Server Aplikasi
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-09-05 UTC."],[],[],null,["\u003cbr /\u003e\n\nYour server environment and FCM\n\nThe server side of Firebase Cloud Messaging consists of two components:\n\n- The **FCM backend** provided by Google.\n- Your **app server** or other **trusted server environment** where your server logic runs, such as [Cloud Functions for Firebase](/docs/functions) or other cloud environments managed by Google.\n\n\u003cbr /\u003e\n\nYour app server or trusted server environment sends message requests to the FCM\nbackend, which then routes messages to client apps running on users' devices.\n\nRequirements for the trusted server environment\n\nYour app server environment must meet the following criteria:\n\n- Able to send properly formatted message requests to the FCM backend.\n- Able to handle requests and resend them using [exponential back-off.](https://developers.google.com/api-client-library/java/google-http-java-client/backoff)\n- Able to securely store server authorization credentials and client registration tokens.\n\nChoosing a server option\n\nYou'll need to decide on a way to interact with FCM servers: either using the\n[Firebase Admin SDK](/docs/cloud-messaging/server#firebase-admin-sdk-for-fcm) or the raw protocol.\nBecause of its support across popular programming languages and its convenience methods for\nhandling authentication and authorization, the Firebase Admin SDK is the recommended method.\n\nOptions for interacting with FCM servers include the following:\n\n- The Firebase Admin SDK, which has support for [Node](/docs/reference/admin/node/firebase-admin.messaging), [Java](/docs/reference/admin/java/reference/com/google/firebase/messaging/package-summary), [Python](/docs/reference/admin/python/firebase_admin.messaging), [C#](/docs/reference/admin/dotnet/namespace/firebase-admin/messaging), and [Go](//godoc.org/firebase.google.com/go/messaging).\n- The [FCM HTTP v1 API](/docs/reference/fcm/rest/v1/projects.messages), a REST API with secure authorization and flexible [cross-platform messaging capabilities](/docs/cloud-messaging/send-message#customize_messages_across_platforms) (the Firebase Admin SDK is based on this protocol and provides all of its inherent advantages).\n\nFirebase Admin SDK for FCM\n\nThe Admin FCM API handles authenticating with the backend and facilitates sending\nmessages and managing topic subscriptions. With the Firebase Admin SDK, you can:\n\n- Send messages to individual devices\n- Send messages to topics and condition statements that match one or more topics.\n- Subscribe and unsubscribe devices to and from topics\n- Construct message payloads tailored to different target platforms\n\nThe Admin Node.js SDK provides\nmethods for sending messages to device groups.\n\nTo set up the Firebase Admin SDK, see [Add the\nFirebase Admin SDK to Your Server](/docs/admin/setup). If you already have a Firebase project,\nstart with [Add the SDK](/docs/admin/setup#add-sdk). Also, make sure to enable the\nCloud Messaging API in the\n[Cloud Messaging settings page](//console.firebase.google.com/project/_/settings/cloudmessaging/)\nfor your project. Then, once the Firebase Admin SDK is installed, you can start writing logic to\n[build send requests](/docs/cloud-messaging/send-message).\n| The Firebase Admin SDK provides an API for subscribing and unsubscribing devices to and from FCM topics. These operations can subscribe or unsubscribe up to 1000 device registration tokens at a time. For more information, see [Manage topics from the server](/docs/cloud-messaging/manage-topics).\n\nFCM server protocol\n\nFCM provides the [FCM HTTP v1 API](/docs/reference/fcm/rest/v1/projects.messages) for developers who prefer a raw server protocol.\n\nTo send a message, the app server issues a POST request with\nan HTTP header and an HTTP body comprised of JSON key value pairs.\nFor details on the header and body options, see\n[Build App Server Send Requests](/docs/cloud-messaging/send-message)"]]