1. Pengantar
Sasaran
Dalam codelab ini, Anda akan mempelajari cara melengkapi aplikasi multi-platform agar dapat mengirim pesan push multicast ke berbagai subgrup instance aplikasi menggunakan topik FCM.
Setelah selesai, Anda akan bisa memanfaatkan infrastruktur FCM untuk mengelola sub-grup ini serta pesan push multicast melalui sub-grup tersebut.
Ringkasan Topik
Topik adalah cara yang didukung infrastruktur FCM untuk menjangkau subgrup instance aplikasi Anda dengan pesan.
FCM menyediakan API untuk mengirim pesan serta mengelola langganan ke topik ini. Tindakan mengaitkan dan memisahkan instance aplikasi ke topik disebut subscribe dan unsubscribe secara berurutan
Topik harus digunakan untuk konten yang tersedia untuk publik. Misalnya, pesan tentang info terbaru cuaca. Jika Anda ingin mengirim pesan yang sensitif kepada pengguna, gunakan Firebase Admin SDK untuk pesan multicasting melalui beberapa perangkat.
Multicasting berbasis topik dioptimalkan untuk throughput.
Yang akan Anda pelajari
- Cara membuat pengguna berlangganan (dan berhenti berlangganan) ke topik dari aplikasi seluler.
- Cara mengirim pesan push multicast menggunakan topik.
- Cara mengirim pesan ke kombinasi topik menggunakan kondisi topik.
- Cara mengelola langganan topik di sisi server dan melakukan langganan dan pembatalan langganan massal.
Hal yang akan Anda build
- Aplikasi Android yang berlangganan/berhenti berlangganan topik dan menerima pesan saat dikirim ke topik tersebut.
- Integrasi sisi server menggunakan Firebase Admin SDK, yang akan digunakan untuk mengirim pesan topik melalui FCM API.
Yang Anda butuhkan
- Browser pilihan Anda, seperti Chrome.
- IntelliJ IDEA IDE untuk mengembangkan aplikasi Java.
- Pastikan untuk menyertakan dukungan Gradle saat menginstal.
- Android Studio IDE untuk mengembangkan aplikasi Android.
- Perangkat untuk menjalankan aplikasi Android. Salah satu dari:
- Emulator Android. (Memerlukan penyiapan di Android Studio).
- Perangkat Android fisik yang terhubung ke komputer dan disetel ke mode developer.
- Akun Google untuk membuat dan mengelola project Firebase Anda.
2. Mempersiapkan
Mendapatkan kode
Clone repositori GitHub dari command line:
git clone https://github.com/firebase/quickstart-android.git fcm-codelab
Kode contoh akan di-clone ke direktori fcm-codelab
.
cd fcm-codelab
Aplikasi awal untuk codelab ini berada di direktori messaging
dari cabang fcm-topics-codelab
. Lakukan langkah-langkah berikut untuk mencapai kode awal. File ini berisi dua direktori StockNewsApp
dan StockNewsServer
. Format pertama berisi Aplikasi Android awal dan URL kedua memiliki kode sisi server awal.
git checkout fcm-topics-codelab cd messaging/fcm-topics-codelab/starter
Versi lengkap codelab ini ditempatkan di direktori messaging/fcm-topics-codelab/completed
.
Membuat project Firebase
- Di Firebase console, klik Add project, beri nama project Firebase dengan StockNews, lalu klik lanjutkan. Catatan: Ingat Project ID untuk project Firebase Anda (atau klik ikon Edit untuk menetapkan Project ID pilihan Anda).
- Anda dapat melewati proses pengaktifan Google Analytics. Untuk tujuan codelab ini, Anda tidak memerlukannya. Klik Lanjutkan.
- Klik Create project.
Selamat! Anda baru saja membuat project Firebase. Sekarang, Anda dapat mengklik nama project untuk masuk ke konsol.
3. Konfigurasi aplikasi Firebase khusus platform
Sebagian besar perubahan kode yang diperlukan untuk mengaktifkan dukungan Firebase sudah diperiksa ke dalam project yang sedang Anda kerjakan. Namun, untuk menambahkan dukungan untuk platform seluler, Anda harus:
- Mendaftarkan platform yang diinginkan di project Firebase
- Download file konfigurasi khusus platform, lalu tambahkan ke kode.
Untuk tujuan codelab ini, kita akan menambahkan aplikasi Firebase Android.
Mengonfigurasi Android
- Di Firebase Console, pilih Setelan Project pada bagian atas menu navigasi sebelah kiri di roda gigi Setelan, lalu klik ikon Android di bagian Aplikasi Anda di halaman Umum.
Anda akan melihat dialog berikut :
- Nilai penting yang harus diberikan adalah nama paket Android. Tetapkan ke
com.ticker.stocknews
.- Nama paket yang diberikan di sini harus sama dengan nama yang diberikan dalam
AndroidManifest.xml
kode StockNewsApp awal Anda. Jika Anda ingin mencari atau mengubahnya, ikuti langkah-langkah berikut:- Di direktori StockNewsApp, buka file
app/src/main/AndroidManifest.xml
. - Di elemen
manifest
, temukan nilai string atributpackage
. Nilai ini adalah nama paket Android.
- Di direktori StockNewsApp, buka file
- Nama paket yang diberikan di sini harus sama dengan nama yang diberikan dalam
- Di dialog Firebase, tempel nama paket yang disalin ke kolom Android package name.
- Anda tidak memerlukan Sertifikat penandatanganan debug SHA-1 untuk codelab ini, karena aplikasi ini tidak akan dirilis. Biarkan kosong.
- Klik Daftarkan Aplikasi.
- Melanjutkan di Firebase Console, ikuti petunjuk untuk mendownload file konfigurasi
google-services.json
. - Anda dapat melewati langkah-langkah penyiapan yang tersisa karena hal lainnya sudah dikonfigurasi di kode aplikasi awal. Aplikasi Anda akan tercantum di halaman utama Firebase Console.
- Salin file
google-services.json
(yang baru saja Anda download) ke direktorimessaging/fcm-topics-codelab/starter/StockNewsApp/app
.
4. Buat dan jalankan aplikasi Anda
Anda siap untuk benar-benar mulai mengerjakan aplikasi Anda. Pertama, bangun dan jalankan aplikasi.
Mengimpor aplikasi awal
Mulai Android Studio, dan impor messaging/fcm-topics-codelab/starter/StockNewsApp
dari direktori kode awal.
Setelah project dimuat, Anda juga dapat melihat pemberitahuan bahwa Git tidak melacak semua perubahan lokal. Anda dapat mengklik "Ignore" atau "X" di kanan atas. (Anda tidak akan mendorong perubahan apa pun kembali ke repositori Git.)
Di sudut kiri atas jendela project, Anda akan melihat sesuatu seperti gambar di bawah jika berada dalam tampilan Android. (Jika berada dalam tampilan Project, Anda harus memperluas project untuk melihat hal yang sama)
Perlu diketahui bahwa Android Studio mungkin memerlukan waktu beberapa detik untuk mengompilasi project di latar belakang untuk pertama kalinya. Selama durasi ini, Anda akan melihat indikator lingkaran berputar di status bar di bagian bawah Android Studio:
Sebaiknya Anda menunggu hingga proses ini selesai sebelum memodifikasi kode. Ini akan memungkinkan Android Studio menarik semua komponen yang diperlukan.
Selain itu, jika Anda ditanya "Reload for language changes to take effect?" atau yang serupa, pilih "Yes".
Penyiapan Emulator
Jika memerlukan bantuan untuk menyiapkan emulator Android, baca artikel Menjalankan aplikasi Anda.
Memahami kode awal Aplikasi Android
- Kode awalnya adalah Aplikasi Android ringan dengan fungsionalitas dan UI minimal.
- Dependensi untuk firebase-Messaging SDK telah ditambahkan ke file
app/build.gradle
.
- Di
AndroidManifest.xml
, pengendali callbackMESSAGING_EVENT
sudah ditambahkan.- Pengendali
StockNewsMessagingService.java
ini memperluas classFirebaseMessagingService
yang menyediakan berbagai fungsi terkait Firebase Cloud Messaging. Lihat dokumentasi FirebaseMessagingService untuk mempelajari lebih lanjut.
- Fungsi
onNewToken
akan dipanggil saat Token Pendaftaran FCM dibuat atau dimuat ulang. Lihat Memantau pembuatan token untuk mengetahui informasi selengkapnya. - Fungsi
onMessageReceived
dipanggil saat pesan diterima dan aplikasi berada di latar depan. Saat ini, hanya mencatat pesan yang diterima.- Lihat Menerima pesan di aplikasi Android untuk mempelajari lebih lanjut perbedaan antara pengiriman dan penanganan pesan latar belakang dan latar depan.
- Pengendali
- Selain itu, dalam
AndroidManifest.xml
, classApplication
Android juga disediakan dengan namaStockNewsApplication
.- Class ini akan menjadi class pertama yang dibuat instance-nya saat Aplikasi dimulai.
- Dalam fungsi
onCreate
classStockNewsApplication
, panggilan pembuatan Token Pendaftaran FCM ditambahkan. Langkah ini akan menghasilkan Token Pendaftaran FCM yang valid dan mencatatnya.
MainActivity.java
menambahkanRecyclerView
yang menampilkan pilihan Kategori Stok.SubscriptionAdapter.java
menerapkanRecyclerView.Adapter
yang menggambar layar pilihan Kategori Stok.- Setiap Kategori Saham memiliki nama dan tombol langganan di sampingnya.
- Jika tombol diubah, panggilan akan menjadi langganan / berhenti berlangganan topik FCM.
- Anda akan menerapkan panggilan ini di bagian mendatang.
- Class
model/StockCategories.java
berisi daftar semua Kategori Saham dan nama topik yang terkait.
Menjalankan aplikasi awal
- Hubungkan perangkat Android ke komputer atau mulai emulator.
- Di toolbar atas, pilih emulator atau perangkat Android target, lalu tekan tombol run.
- UI Aplikasi akan terlihat seperti berikut:
- Aplikasi akan membuat Token Pendaftaran FCM dan mencatatnya. Namun, tidak ada yang akan berubah di UI Aplikasi.
- Salin dan simpan Token Pendaftaran FCM karena akan digunakan pada langkah berikutnya.
5. Kirim Pesan Pengujian
Sekarang Anda siap mengirimkan pesan pengujian ke instance aplikasi yang telah disiapkan di langkah terakhir.
Mengimpor kode server awal
Mulai IntelliJ IDEA dan buka project messaging/fcm-topics-codelab/starter/StockNewsServer
.
Tampilan project di menu navigasi kiri, akan terlihat seperti ini:
Perhatikan bahwa mungkin perlu waktu beberapa menit bagi IntellIj IDEA untuk membangun project Anda, termasuk menarik dependensi yang diperlukan.
Memahami kode awal server
- Kode awal server adalah project Java berbasis Gradle.
- File
build.gradle
sudah memiliki dependensi pada firebase-admin SDK yang ditambahkan ke file tersebut. SDK ini menyediakan akses ke berbagai fungsi pengiriman pesan FCM.
- Terakhir, ada dua kelas, yaitu:
FcmSender.java
: Class ini berisi metode catatan berikut:initFirebaseSDK
: Menginisialisasi firebase-admin SDK.sendMessageToFcmRegistrationToken
: mengirim pesan ke Token Pendaftaran FCM.sendMessageToFcmTopic
: mengirim pesan ke topik FCM.sendMessageToFcmTopicCondition
: mengirim pesan ke kondisi topik FCM.
FcmSubscriptionManager.java
: Class ini berisi metode yang memungkinkan pengelolaan langganan topik dari sisi server.initFirebaseSDK
: Menginisialisasi firebase-admin SDK.subscribeFcmRegistrationTokensToTopic
: membuat Token Pendaftaran FCM berlangganan topik FCM.unsubscribeFcmRegistrationTokensFromTopic
: menghentikan langganan Token Pendaftaran FCM dari topik FCM.
Menyiapkan kode server
- Pertama, kita perlu menyiapkan Akun Layanan Firebase yang memungkinkan firebase-admin SDK mengizinkan panggilan ke FCM API.
- Buka Firebase Console, klik ikon roda gigi di samping Project Overview di menu navigasi sebelah kiri, lalu pilih Project settings.
- Di halaman setelan, pilih Service accounts, lalu klik Create service account.
- Sekarang, klik tombol Buat kunci pribadi baru dan download otomatis file kunci Anda akan dimulai.
- Ganti nama file kunci menjadi
service-account.json
dan salin di foldermessaging/fcm-topics-codelab/starter/StockNewsServer/src/main/resources
. FcmSender.java
danFcmSubscriptionManager.java
memuat fileservice-account.json
dari classpath menggunakan kode berikut.
- Pada tahap ini, kode server sudah siap. Jalankan Build -> Build Project dari panel menu atas.
Mengirim Pesan Pengujian
- Di
FcmSender.java
, temukan fungsisendMessageToFcmRegistrationToken
dan masukkan token pendaftaran FCM yang disalin dari bagian Run the starter app ke kolomregistrationToken
. - Di fungsi
main
, hapus tanda komentar hanya pada fungsisendMessageToFcmRegistrationToken
, lalu klik jalankan untuk mengeksekusi kode.- Amati cara Token Pendaftaran FCM ditetapkan ke kolom
Token
dari objekmessage
. - Selain itu, perhatikan cara kita menggunakan
send
API dari antarmukaFirebaseMessaging
.
- Amati cara Token Pendaftaran FCM ditetapkan ke kolom
- Tindakan ini akan mengirimkan pesan ke instance aplikasi yang telah Anda siapkan di langkah sebelumnya.
- Saat instance aplikasi berada di latar depan, Anda akan melihat konten pesan yang dicatat.
- Dan ketika instance Aplikasi berada di latar belakang, Anda akan melihat pesan muncul di baki notifikasi.
Luar biasa, Anda telah menggunakan Firebase Admin SDK untuk mengirim pesan ke instance aplikasi. Baca lebih lanjut cara menggunakan Firebase Admin SDK di server.
6. Menerapkan Langganan / Penghentian Langganan Topik
Pada langkah ini Anda akan menerapkan tindakan berlangganan topik dan berhenti berlangganan pada tombol Kategori Stok Aplikasi Android.
Ketika pengguna Aplikasi mengalihkan tombol untuk Kategori Saham tertentu, panggilan topik untuk langganan atau berhenti berlangganan akan dilakukan.
Kode ulasan
- Buka class
SubscriptionAdapter.java
di kode Aplikasi Android dan cari classRecyclerViewViewHolder
.
- Konstruktor class menyiapkan pemroses untuk tombol langganan menggunakan
setOnCheckedChangeListener
. - Bergantung pada tombol beralih, tindakan berlangganan dan berhenti berlangganan dilakukan dengan memanggil metode
subscribeToStockCategory
danunsubscribeFromStockCategory
masing-masing. - Metode
setData
dipanggil olehonBindViewHolder
Adaptor RecyclerView untuk mengikat ViewHolder dengan Kategori Stok yang sesuai.
Menerapkan langganan topik
- Dalam metode
subscribeToStockCategory
, Anda akan menerapkan panggilan kesubscribeToTopic
API dari objekFirebaseMessaging
. Kode akan terlihat seperti ini:
void subscribeToStockCategory() { // Making call to FCM for subscribing to the topic for stockCategory FirebaseMessaging.getInstance().subscribeToTopic(stockCategory.getTopicName()).addOnSuccessListener( unused -> { // Subscribing action successful Log.i(TAG, "Subscribed to topic: " + stockCategory.getTopicName()); Toast.makeText(itemView.getContext(), "Subscribed to " + stockCategory.getCategoryName(), Toast.LENGTH_SHORT).show(); }); }
Menerapkan penghentian langganan topik
- Demikian pula, dalam kondisi else, Anda akan menerapkan panggilan ke
unsubscribeFromTopic
API. Sesuatu seperti berikut:
void unsubscribeFromStockCategory() { // Making call to FCM for unsubscribing from the topic for stockCategory FirebaseMessaging.getInstance().unsubscribeFromTopic(stockCategory.getTopicName()) .addOnSuccessListener(unused -> { // Unsubscribing action successful Log.i(TAG, "Unsubscribed from topic: " + stockCategory.getTopicName()); Toast.makeText(itemView.getContext(), "Unsubscribed from " + stockCategory.getCategoryName(), Toast.LENGTH_SHORT).show(); }); }
Mari kita coba
- Jalankan Aplikasi dan aktifkan opsi Stock Category untuk menjalankan tindakan Subscribe dan Unsubscribe. Token akan terlihat seperti berikut:
Berlangganan | Berhenti berlangganan |
7. Mengirim Pesan Topik pertama Anda
Pada langkah ini, Anda akan mengimplementasikan kode sisi server untuk mengirim pesan topik FCM.
Menerapkan integrasi sisi server untuk mengirim pesan topik
- Dalam kode server, masuk ke
FcmSender.java
dan temukan metode bernamasendMessageToFcmTopic
.
- Di baris pertama, berikan Topik FCM yang ingin Anda kirimi pesan.
- String ini berupa:
/topics/<Topic Name>
. Contoh,/topics/Technology
.
- String ini berupa:
- Di baris berikutnya, buat objek
message
baru (serupa dengan objek yang ditentukan dalam fungsisendMessageToFcmRegistrationToken
).- Perbedaannya adalah Anda akan menetapkan kolom
Topic
, bukan menetapkan kolomToken
untuk objekmessage
.
- Perbedaannya adalah Anda akan menetapkan kolom
Message message = Message.builder() .putData("FOOTECH", "$1000") .setNotification( Notification.builder() .setTitle("Investor confidence in Tech Stocks growing") .setBody("Foo Tech leading the way in stock growth for Tech sector.") .build()) .setTopic(topicName) .build();
- Sekarang tambahkan panggilan ke instance
FirebaseMessaging
untuk mengirim pesan (sama dengan panggilan kirim yang dilakukan di fungsisendMessageToFcmRegistrationToken
).
FirebaseMessaging.getInstance().send(message);
- Terakhir, update fungsi
main
dan aktifkan panggilan hanya ke fungsisendMessageToFcmTopic
.
Mengirim pesan dan memvalidasi tanda terima
- Sebelum mengirim pesan topik, pastikan terlebih dahulu bahwa instance aplikasi Anda berlangganan ke topik yang ingin Anda kirimi pesan.
- Hal ini dapat dilakukan dengan membalik tombol yang sesuai. Contoh:
- Kini Anda dapat mengirim pesan topik dengan menjalankan fungsi
main
dariFcmSender.java
. - Seperti sebelumnya, Anda harus dapat mengamati tanda terima pesan di instance aplikasi.
- Instance aplikasi di latar depan
- Instance aplikasi di latar belakang
- Bonus: Coba berhenti berlangganan topik yang Anda kirim dan kirim ulang pesan tersebut. Anda akan mengamati bahwa pesan tidak dikirim ke instance aplikasi.
8. Mengirim Pesan Kondisi Topik pertama Anda
Fitur kondisi topik memungkinkan Anda mengirim pesan ke kombinasi topik yang memungkinkan Anda memberikan definisi audiens yang lebih ekspresif.
Misalnya, di Aplikasi StockNews, pertimbangkan kemungkinan mengirim pesan ke grup instance aplikasi yang berlangganan topik Teknologi atau Otomotif. Kasus tersebut dapat terjadi, misalnya, jika ada peristiwa penting yang melibatkan Waymo.
Topics memungkinkan Anda untuk mengekspresikan kombinasi dalam bentuk ekspresi boolean menggunakan operator berikut
- && : Logika AND. Misalnya,
'Technology' in topics && 'Automotive' in topics
- Hanya menargetkan instance aplikasi yang berlangganan Topik Teknologi dan Otomotif. - || : Logika OR. Misalnya,
'Technology' in topics || 'Automotive' in topics
- Menarget instance aplikasi yang berlangganan topik Teknologi atau Otomotif. - () : Tanda kurung untuk pengelompokan. Misalnya,
'Technology' in topics && ('Automotive' in topics || 'Energy' in topics)
- Hanya menargetkan instance aplikasi yang berlangganan topik Teknologi dan Otomotif atau Energi.
Baca selengkapnya tentang cara mem-build permintaan kirim untuk menggunakan fungsi ini.
Mengimplementasikan integrasi sisi server untuk mengirim pesan kondisi topik
- Kembali ke kode server, masuk ke
FcmSender.java
dan temukan metode bernamasendMessageToFcmTopicCondition
.
- Di baris pertama, untuk variabel
topicCondition
, berikan kondisi topik yang ingin Anda kirimi pesan. Anda dapat menetapkannya ke:'Technology' in topics && 'Automotive' in topics
. - Pada baris berikutnya, buat objek
message
baru (serupa dengan objek yang ditentukan dalam fungsisendMessageToFcmTopic
).- Perbedaannya adalah Anda akan menetapkan kolom
Condition
, bukan menetapkan kolomTopic
objek.
- Perbedaannya adalah Anda akan menetapkan kolom
Message message = Message.builder() .putData("FOOCAR", "$500") .setNotification( Notification.builder() .setTitle("Foo Car shows strong Q2 results") .setBody("Foo Car crosses 1B miles. Stocks rally.") .build()) .setCondition(topicCondition) .build();
- Sekarang tambahkan panggilan ke instance
FirebaseMessaging
untuk mengirim pesan (sama dengan panggilan kirim yang dilakukan di fungsisendMessageToFcmTopic
).
FirebaseMessaging.getInstance().send(message);
- Terakhir, update fungsi
main
dan aktifkan panggilan hanya ke fungsisendMessageToFcmTopicCondition
.
Mengirim pesan dan memvalidasi tanda terima
- Sebelum mengirim pesan topik, pastikan terlebih dahulu bahwa instance aplikasi Anda memenuhi kondisi topik yang ditentukan dengan membuat instance aplikasi berlangganan topik Teknologi dan Otomotif.
- Kini Anda dapat mengirim pesan topik dengan menjalankan fungsi
main
dariFcmSender.java
. - Seperti sebelumnya, Anda harus dapat mengamati tanda terima pesan di instance aplikasi.
- Instance aplikasi di latar depan
- Instance aplikasi di latar belakang
- Bonus: Anda kini dapat berhenti berlangganan topik Teknologi dan mengirim ulang pesan kondisi topik. Anda harus mengamati bahwa pesan tidak diterima oleh instance aplikasi.
9. Rangkuman
Mari kita rangkum ringkasan dari pelajaran yang telah Anda pelajari.
- Cara memulai langganan / pemberhentian langganan topik dari instance aplikasi.
- Mengirim pesan ke topik dan memverifikasi tanda terima pada instance aplikasi berlangganan.
- Mengirim pesan ke Condition topik dan memverifikasi tanda terima pada instance aplikasi yang memenuhi kondisi.
Di bagian berikutnya, Anda akan mempelajari cara membuat instance aplikasi berlangganan / berhenti berlangganan ke topik tanpa perlu membuat instance panggilan dari sisi klien.
10. Mengelola Langganan Topik dari Sisi Server
Hingga saat ini, dalam codelab ini, semua panggilan topik dan panggilan berhenti berlangganan dimulai dari instance aplikasi.
Namun, dalam beberapa kasus penggunaan, Anda mungkin ingin mengelola langganan topik dari Sisi Server. Misalnya, Anda mungkin ingin membuat subgrup dari basis pengguna yang ada berlangganan topik baru tanpa menunggu peluncuran aplikasi.
Di bagian ini, Anda akan mempelajari cara menggunakan Firebase Admin SDK untuk membuat langganan dan berhenti berlangganan batch Token Pendaftaran FCM ke suatu topik dengan melakukan panggilan dari sisi server.
Menerapkan langganan sisi server Token Pendaftaran FCM ke topik FCM
- Di kode server, masuk ke class
FcmSubscriptionManager.java
. Temukan metode bernamasubscribeFcmRegistrationTokensToTopic
. Anda akan menerapkan panggilan kesubscribeToTopic
API di sini.
- Mari kita berlangganan instance aplikasi untuk topik Energy. Untuk melakukannya, pertama-tama berikan data untuk dua bidang berikut:
registrationTokens
: daftar string yang dipisahkan koma, yang mewakili Token Pendaftaran FCM, yang langganan topiknya ingin Anda buat.topicName
: nama topik untuk topik Energi, yaitu/topics/Energy
.
- Dalam beberapa baris berikutnya, terapkan panggilan, melalui baris berikut:
TopicManagementResponse response = FirebaseMessaging.getInstance().subscribeToTopic( registrationTokens, topicName);
- Anda dapat memeriksa
TopicManagementResponse
untuk melihat beberapa statistik hasil tingkat tinggi. Misalnya, mencetak jumlah langganan topik yang berhasil dibuat menggunakangetSuccessCount
.
System.out.printf("Num tokens successfully subscribed %d", response.getSuccessCount());
- Terakhir, dalam fungsi
main
, aktifkan panggilan hanya ke fungsisubscribeFcmRegistrationTokensToTopic
.
Membuat langganan dan mengirim pesan topik
- Pada tahap ini, Anda siap untuk membuat langganan topik dan mengirim pesan ke topik tersebut.
- Jalankan fungsi
main
dari classFcmSubscriptionManager.java
. Tindakan ini akan membuat langganan topik. - Sekarang, siapkan kode untuk mengirim pesan. Mirip dengan sebelumnya,
- Di
FcmSender.java
, temukan fungsisendMessageToFcmTopic
. - Tetapkan
topicName
ke topik Energy, yaitu,/topics/Energy
. - Buat objek
Message
dan targetkan ke topik menggunakansetTopic
. - Terakhir, update metode
main
untuk hanya mengaktifkan fungsisendMessageToFcmTopic
.
- Di
- Jalankan fungsi
main
dariFcmSender.java
. Tindakan ini akan mengirimkan pesan ke instance aplikasi dan Anda dapat mengamatinya di aplikasi seperti berikut.- Instance aplikasi di latar depan
- Instance aplikasi di latar belakang
Menerapkan pembatalan langganan sisi server Token Pendaftaran FCM ke topik FCM
- Untuk pembatalan langganan topik sisi server, gunakan
unsubscribeFromTopic
API ini. Anda akan menambahkan kode yang relevan ke fungsiunsubscribeFcmRegistrationTokensFromTopic
dari classFcmSubscriptionManager.java
.
- Menerapkan kode berhenti berlangganan sisi server dan memvalidasi efeknya dengan mengirim pesan topik, diserahkan sebagai latihan untuk Anda.
11. Selamat
Selamat, Anda telah berhasil menggunakan topik FCM untuk mengirim pesan multicast ke subgrup instance aplikasi. Hal ini akan membantu menyederhanakan kemampuan Anda untuk menjangkau pengguna dengan konten yang relevan secara tepat waktu.
Apa langkah selanjutnya?
Sekarang setelah Anda menyelesaikan codelab, pertimbangkan untuk mencoba topik untuk platform lain menggunakan panduan berikut: