Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Berdasarkan model publikasi/langganan, pesan topik FCM dapat digunakan untuk mengirim pesan ke beberapa perangkat yang mengikuti topik tertentu. Anda cukup menulis pesan topik sesuai kebutuhan dan FCM akan secara andal menangani pemilihan rute serta pengiriman pesan ke perangkat yang tepat.
Misalnya, pengguna suatu aplikasi perkiraan pasang surut laut setempat dapat memilih untuk menerima topik "pemberitahuan arus pasang surut" dan menerima notifikasi kondisi laut yang optimal untuk menangkap ikan di area tertentu. Pengguna suatu aplikasi olahraga dapat berlangganan skor terbaru otomatis pada pertandingan langsung untuk tim favoritnya.
Beberapa hal yang perlu diingat tentang topik:
Pesan topik sangat cocok untuk konten seperti cuaca atau informasi lainnya yang tersedia untuk umum.
Pesan topik dioptimalkan untuk throughput, bukan latensi. Untuk pengiriman yang cepat dan aman ke satu perangkat atau sekelompok kecil perangkat, targetkan pesan ke token pendaftaran, bukan topik.
Jika perlu mengirimkan pesan ke beberapa perangkat per pengguna, sebaiknya gunakan pesan grup perangkat untuk kasus penggunaan tersebut.
Pesan topik mendukung langganan tak terbatas untuk setiap topik. Namun, FCM memberlakukan batasan untuk hal-hal berikut ini:
Satu instance aplikasi hanya dapat berlangganan maksimal 2.000 topik.
Jika Anda menggunakan impor batch untuk membuat instance aplikasi berlangganan topik, setiap permintaan dibatasi hingga 1.000 instance aplikasi.
Frekuensi langganan baru dibatasi kapasitasnya per project. Jika Anda mengirim terlalu banyak permintaan langganan dalam waktu singkat, server FCM akan memberikan respons 429 RESOURCE_EXHAUSTED ("kuota terlampaui"). Coba lagi dengan backoff eksponensial.
Membuat aplikasi klien berlangganan topik
Aplikasi klien dapat berlangganan topik yang ada atau membuat topik baru. Jika aplikasi klien berlangganan nama topik baru (nama yang belum ada untuk project Firebase Anda), topik baru dengan nama tersebut akan dibuat di FCM sehingga semua klien dapat berlangganan topik tersebut.
Untuk berlangganan topik, panggil subscribeToTopic() dengan nama topik terkait. Metode ini menampilkan Future, yang akan di-resolve saat langganan berhasil:
Untuk berhenti berlangganan, panggil unsubscribeFromTopic() dengan nama topik terkait.
subscribeToTopic() dan unsubscribeFromTopic() tidak didukung untuk klien web. Untuk mempelajari cara mengelola langganan bagi pengguna web, lihat Mengirim pesan ke topik di Web/JavaScript.
[[["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\nBased on the publish/subscribe model, FCM topic messaging allows you to send a message\nto multiple devices that have opted in to a particular topic. You compose topic messages as\nneeded, and FCM handles routing and delivering the message reliably to the right\ndevices.\n\nFor example, users of a local tide\nforecasting app could opt in to a \"tidal currents alerts\" topic and receive\nnotifications of optimal saltwater fishing conditions in specified areas. Users of a sports app\ncould subscribe to automatic updates in live game scores for their favorite\nteams.\n\nSome things to keep in mind about topics:\n\n- Topic messaging is best suited for content such as weather, or other publicly\n available information.\n\n- Topic messages are **optimized for throughput rather than latency** . For fast,\n secure delivery to single devices or small groups of devices,\n [target messages to registration tokens](/docs/cloud-messaging/send-message#send_messages_to_specific_devices),\n not topics.\n\n- If you need to send messages to multiple devices *per user* , consider\n [device group messaging](/docs/cloud-messaging/send-message#send_messages_to_device_groups)\n for those use cases.\n\n- Topic messaging supports unlimited subscriptions for each topic. However, FCM\n enforces limits in these areas:\n\n - One app instance can be subscribed to no more than 2000 topics.\n - If you are using [batch import](https://developers.google.com/instance-id/reference/server#manage_relationship_maps_for_multiple_app_instances) to subscribe app instances, each request is limited to 1000 app instances.\n - The frequency of new subscriptions is rate-limited per project. If you send too many subscription requests in a short period of time, FCM servers will respond with a `429 RESOURCE_EXHAUSTED` (\"quota exceeded\") response. Retry with exponential backoff.\n\nSubscribe the client app to a topic\n\nClient apps can subscribe to any existing topic, or they can create a new\ntopic. When a client app subscribes to a new topic name (one that does\nnot already exist for your Firebase project), a new topic of that name is\ncreated in FCM and any client can subsequently subscribe to it.\n\nTo subscribe to a topic, call `subscribeToTopic()` with the topic name. This method\nreturns a `Future`, which resolves when the subscription succeeded: \n\n await FirebaseMessaging.instance.subscribeToTopic(\"topic\");\n\nTo unsubscribe, call `unsubscribeFromTopic()` with the topic name.\n\n`subscribeToTopic()` and `unsubscribeFromTopic()` are not supported for web\nclients. To learn how to manage subscriptions for web users, see\n[Send messages to topics on Web/JavaScript](https://firebase.google.com/docs/cloud-messaging/js/topic-messaging).\n\nNext steps\n\n- Learn how to [send topic messages](/docs/cloud-messaging/send-message#send-messages-to-topics).\n- Learn how to [Manage topic subscriptions on the server](/docs/cloud-messaging/manage-topics)."]]