1. Pengantar
Sasaran
Dalam codelab ini, Anda akan mempelajari cara menginstrumentasi aplikasi multiplatform sehingga Anda dapat mengirim pesan push multicast ke berbagai subgrup instance aplikasi menggunakan topik FCM.
Setelah selesai, Anda akan dapat memanfaatkan infrastruktur FCM untuk mengelola subgrup ini serta mengirimkan pesan push multicast melalui subgrup.
Ringkasan Topik
Topik adalah cara yang didukung infrastruktur FCM untuk menjangkau subgrup instance aplikasi Anda dengan pesan.
FCM menyediakan API untuk mengirim pesan serta mempertahankan langganan ke topik ini. Tindakan mengaitkan dan membatalkan kaitan instance aplikasi ke topik disebut berlangganan dan berhenti berlangganan
Topik harus digunakan untuk konten yang tersedia secara publik. Misalnya, pesan tentang info cuaca terbaru. Jika Anda ingin mengirim pesan yang berisi informasi sensitif pengguna, gunakan Firebase Admin SDK untuk mengirim pesan ke beberapa perangkat.
Multicast berbasis topik dioptimalkan untuk throughput.
Hal yang akan Anda pelajari
- Cara membuat pengguna berlangganan (dan berhenti berlangganan) 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 serta 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.
- Integrasi sisi server menggunakan Firebase Admin SDK, yang akan digunakan untuk mengirim pesan topik melalui FCM API.
Hal yang akan Anda perlukan
- Browser pilihan Anda, seperti Chrome.
- IDE IntelliJ IDEA untuk mengembangkan aplikasi Java.
- Pastikan untuk mengaktifkan dukungan untuk Gradle saat menginstal.
- IDE Android Studio 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
Buat 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 ada di direktori messaging
pada cabang fcm-topics-codelab
. Lakukan langkah-langkah berikut untuk mengakses kode awal. Direktori ini berisi dua direktori, yaitu StockNewsApp
dan StockNewsServer
. Yang pertama berisi Aplikasi Android awal dan yang 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
- Login ke Firebase console menggunakan Akun Google Anda.
- Klik tombol untuk membuat project baru, lalu masukkan nama project (misalnya,
StockNews
).
- Klik Lanjutkan.
- Jika diminta, tinjau dan setujui persyaratan Firebase, lalu klik Continue.
- (Opsional) Aktifkan bantuan AI di Firebase console (disebut "Gemini di Firebase").
- Untuk codelab ini, Anda tidak memerlukan Google Analytics, jadi nonaktifkan opsi Google Analytics.
- Klik Buat project, tunggu hingga project Anda disediakan, lalu klik Lanjutkan.
Selamat! Anda baru saja membuat project Firebase.
3. Konfigurasi aplikasi Firebase khusus platform
Sebagian besar perubahan kode yang diperlukan untuk mengaktifkan dukungan Firebase sudah diperiksa di project yang sedang Anda kerjakan. Namun, guna menambahkan dukungan untuk platform seluler, Anda perlu:
- Daftarkan platform yang diinginkan di project Firebase
- Download file konfigurasi khusus platform, lalu tambahkan file ke kode.
Untuk tujuan codelab ini, kita akan menambahkan aplikasi Firebase Android.
Mengonfigurasi Android
- Di Firebase Console, pilih Project Settings di bagian atas menu navigasi sebelah kiri di roda gigi Settings, lalu klik ikon Android di bagian Your apps di halaman General.
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 yang diberikan di
AndroidManifest.xml
kode StockNewsApp pemula Anda. Jika Anda ingin menemukan 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 yang diberikan di
- Di dialog Firebase, tempel nama paket yang disalin ke kolom Nama paket Android.
- Anda tidak memerlukan Sertifikat penandatanganan debug SHA-1 untuk codelab ini, karena aplikasi ini tidak akan dirilis. Kosongkan kolom ini.
- Klik Daftarkan Aplikasi.
- Melanjutkan di Firebase Console, ikuti petunjuk untuk mendownload file konfigurasi
google-services.json
. - Anda dapat melewati langkah penyiapan lainnya, karena semuanya sudah dikonfigurasi dalam kode aplikasi starter. Anda akan menemukan aplikasi Anda yang 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 sudah siap untuk membuat aplikasi Anda sendiri. Pertama, bangun dan jalankan aplikasi.
Mengimpor aplikasi awal
Mulai Android Studio, lalu impor messaging/fcm-topics-codelab/starter/StockNewsApp
dari direktori kode awal.
Setelah project dimuat, Anda juga akan melihat notifikasi 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. Tindakan 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 Anda memerlukan bantuan untuk menyiapkan emulator Android, lihat artikel Menjalankan aplikasi Anda.
Memahami kode awal Aplikasi Android
- Kode awal adalah Aplikasi Android ringan dengan fungsi dan UI minimal.
- Dependensi ke Firebase Cloud Messaging SDK sudah ditambahkan ke file
app/build.gradle
.
- Di
AndroidManifest.xml
, pengendali callbackMESSAGING_EVENT
sudah ditambahkan.- Handler ini,
StockNewsMessagingService.java
memperluas classFirebaseMessagingService
yang menyediakan berbagai fungsi terkait Firebase Cloud Messaging. Lihat dokumentasi FirebaseMessagingService untuk mempelajari lebih lanjut.
- Fungsi
onNewToken
dipanggil saat Token Pendaftaran FCM dibuat atau diperbarui. Lihat Memantau pembuatan token untuk mengetahui informasi selengkapnya. - Fungsi
onMessageReceived
dipanggil saat pesan diterima dan aplikasi berada di latar depan. Saat ini, pesan yang diterima hanya dicatat.- Lihat Menerima pesan di aplikasi Android untuk mempelajari lebih lanjut perbedaan antara pengiriman dan penanganan pesan di latar belakang dan latar depan.
- Handler ini,
- Selain itu, di
AndroidManifest.xml
, classApplication
Android juga disediakan dengan namaStockNewsApplication
.- Class ini akan menjadi class pertama yang dibuat instance-nya saat Aplikasi dimulai.
- Di fungsi
onCreate
classStockNewsApplication
, panggilan pembuatan Token Pendaftaran FCM ditambahkan. Kode ini akan membuat Token Pendaftaran FCM yang valid dan mencatatnya.
MainActivity.java
menambahkanRecyclerView
yang menampilkan pilihan Kategori Stok.SubscriptionAdapter.java
mengimplementasikanRecyclerView.Adapter
yang menggambar layar pemilihan Kategori Saham.- Setiap Kategori Saham memiliki nama dan tombol langganan di sampingnya.
- Mengubah tombol harus melakukan panggilan langganan / berhenti berlangganan topik FCM.
- Anda akan menerapkan panggilan ini di bagian berikutnya.
- Class
model/StockCategories.java
berisi daftar semua Kategori Saham dan nama topik terkaitnya.
Menjalankan aplikasi awal
- Hubungkan perangkat Android ke komputer atau mulai emulator.
- Di toolbar atas, pilih perangkat Android atau emulator target Anda, lalu tekan tombol jalankan.
- UI Aplikasi akan terlihat seperti berikut:
- Aplikasi akan membuat dan mencatat Token Pendaftaran FCM. Namun, tidak ada yang akan berubah di UI Aplikasi.
- Salin dan simpan Token Pendaftaran FCM karena akan digunakan pada langkah berikutnya.
5. Mengirim Pesan Pengujian
Sekarang Anda siap mengirim pesan pengujian ke instance aplikasi yang telah Anda siapkan di langkah terakhir.
Mengimpor kode server awal
Mulai IntelliJ IDEA dan buka project messaging/fcm-topics-codelab/starter/StockNewsServer
.
Tampilan project di panel navigasi kiri Anda akan terlihat seperti ini:
Perhatikan, mungkin diperlukan 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 dalamnya. SDK ini memberikan akses ke berbagai fungsi pengiriman pesan FCM.
- Terakhir, ada dua class, yaitu:
FcmSender.java
: Class ini berisi metode penting berikut:initFirebaseSDK
: Melakukan inisialisasi 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
: Melakukan inisialisasi 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 SDK firebase-admin mengizinkan panggilan ke FCM API.
- Buka Konsol Firebase, klik ikon roda gigi di samping Project Overview di menu navigasi sebelah kiri, lalu pilih Project settings.
- Di halaman setelan, pilih Akun layanan, lalu klik Buat akun layanan.
- Sekarang klik tombol Generate new private key dan download otomatis file kunci Anda akan dimulai.
- Ganti nama file kunci menjadi
service-account.json
dan salin ke foldermessaging/fcm-topics-codelab/starter/StockNewsServer/src/main/resources
. FcmSender.java
danFcmSubscriptionManager.java
memuat fileservice-account.json
dari classpath menggunakan kode berikut.
- Buka Konsol Firebase, klik ikon roda gigi di samping Project Overview di menu navigasi sebelah kiri, lalu pilih Project settings.
- 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 Anda salin dari bagian Jalankan aplikasi awal ke dalam kolomregistrationToken
. - Dalam fungsi
main
, hapus komentar hanya pada fungsisendMessageToFcmRegistrationToken
, lalu klik jalankan untuk mengeksekusi kode.- Perhatikan cara Token Pendaftaran FCM ditetapkan ke kolom
Token
objekmessage
. - Selain itu, perhatikan cara kita menggunakan API
send
dari antarmukaFirebaseMessaging
.
- Perhatikan cara Token Pendaftaran FCM ditetapkan ke kolom
- Tindakan ini akan mengirim pesan ke instance aplikasi yang telah Anda siapkan pada langkah sebelumnya.
- Saat instance aplikasi berada di latar depan, Anda akan melihat konten pesan yang dicatat.
- Saat instance Aplikasi berada di latar belakang, Anda akan melihat pesan muncul di area notifikasi.
Hebat, Anda telah menggunakan Firebase Admin SDK untuk mengirim pesan ke instance aplikasi. Baca selengkapnya tentang penggunaan Firebase Admin SDK di server Anda.
6. Menerapkan Berlangganan / Berhenti Berlangganan Topik
Pada langkah ini, Anda akan menerapkan tindakan berlangganan dan pembatalan langganan topik, pada tombol Kategori Saham di Aplikasi Android.
Saat pengguna Aplikasi mengalihkan tombol untuk Kategori Saham tertentu, panggilan berlangganan atau berhenti berlangganan topik akan dilakukan.
Tinjau kode
- Buka class
SubscriptionAdapter.java
di kode Aplikasi Android dan temukan classRecyclerViewViewHolder
.
- Konstruktor kelas menyiapkan pemroses untuk tombol langganan menggunakan
setOnCheckedChangeListener
. - Bergantung pada tombol pengalih, tindakan berlangganan dan berhenti berlangganan dilakukan dengan memanggil metode
subscribeToStockCategory
danunsubscribeFromStockCategory
. - Metode
setData
dipanggil olehonBindViewHolder
Adaptor RecyclerView untuk mengikat ViewHolder dengan Kategori Saham yang sesuai.
Menerapkan langganan topik
- Dalam metode
subscribeToStockCategory
, Anda akan menerapkan panggilan ke APIsubscribeToTopic
objekFirebaseMessaging
. Kodenya bisa 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 berhenti berlangganan topik
- Demikian pula, dalam kondisi else, Anda akan menerapkan panggilan ke API
unsubscribeFromTopic
. Berikut contohnya:
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/nonaktifkan opsi Kategori Saham untuk menjalankan tindakan Berlangganan dan Berhenti Berlangganan. Tampilannya akan terlihat seperti ini:
Berlangganan | Berhenti berlangganan |
7. Mengirim Pesan Topik pertama Anda
Pada langkah ini, Anda akan menerapkan kode sisi server untuk mengirim pesan topik FCM.
Menerapkan integrasi sisi server untuk mengirim pesan topik
- Di kode server, buka
FcmSender.java
dan temukan metode bernamasendMessageToFcmTopic
.
- Di baris pertama, berikan Topik FCM yang ingin Anda kirimi pesan.
- Ini adalah string dalam bentuk:
/topics/<Topic Name>
. Contoh,/topics/Technology
.
- Ini adalah string dalam bentuk:
- Di baris berikutnya, buat objek
message
baru (mirip dengan yang ditentukan dalam fungsisendMessageToFcmRegistrationToken
).- Perbedaannya adalah, alih-alih menetapkan kolom
Token
objekmessage
, Anda akan menetapkan kolomTopic
.
- Perbedaannya adalah, alih-alih 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 (identik dengan panggilan pengiriman yang dilakukan dalam fungsisendMessageToFcmRegistrationToken
).
FirebaseMessaging.getInstance().send(message);
- Terakhir, perbarui fungsi
main
dan aktifkan panggilan ke hanya fungsisendMessageToFcmTopic
.
Mengirim pesan dan memvalidasi penerimaan
- Sebelum mengirim pesan topik, pastikan terlebih dahulu bahwa instance aplikasi Anda telah berlangganan topik yang ingin Anda kirimi pesan.
- Hal ini dapat dilakukan dengan membalikkan tombol yang sesuai. Contoh:
- Sekarang Anda dapat mengirim pesan topik dengan menjalankan fungsi
main
dariFcmSender.java
. - Seperti sebelumnya, Anda akan dapat mengamati penerimaan pesan di instance aplikasi.
- Instance aplikasi di latar depan
- Instance aplikasi di latar belakang
- Bonus: Coba berhenti berlangganan topik yang Anda kirimi pesan, lalu kirim ulang pesan. Anda akan melihat bahwa pesan tidak dikirim ke instance aplikasi.
8. Mengirim Pesan Kondisi Topik pertama Anda
Fitur kondisi topik memungkinkan Anda mengirim pesan ke kombinasi topik sehingga Anda dapat memberikan definisi audiens yang lebih ekspresif.
Misalnya, di Aplikasi StockNews kami, pertimbangkan kemungkinan mengirim pesan ke grup instance aplikasi yang berlangganan topik Teknologi atau Otomotif. Kasus seperti itu dapat terjadi, misalnya, jika ada peristiwa penting yang melibatkan Waymo.
Topics memungkinkan Anda menyatakan kombinasi dalam bentuk ekspresi boolean menggunakan operator berikut
- && : AND logis. Misalnya,
'Technology' in topics && 'Automotive' in topics
- Hanya menargetkan instance aplikasi yang berlangganan ke Topik Teknologi dan Otomotif. - || : OR Logis. Misalnya,
'Technology' in topics || 'Automotive' in topics
- Menargetkan 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 Technology dan Automotive atau Energy.
Baca selengkapnya tentang cara membuat permintaan pengiriman untuk menggunakan fungsi ini.
Menerapkan integrasi sisi server untuk mengirim pesan kondisi topik
- Kembali ke kode server, buka
FcmSender.java
dan temukan metode bernamasendMessageToFcmTopicCondition
.
- Di baris pertama, untuk variabel
topicCondition
, berikan kondisi topik yang ingin Anda kirimi pesan. Anda dapat menyetelnya ke:'Technology' in topics && 'Automotive' in topics
. - Di baris berikutnya, buat objek
message
baru (mirip dengan yang ditentukan dalam fungsisendMessageToFcmTopic
).- Perbedaannya adalah, alih-alih menetapkan kolom
Topic
objek, Anda akan menetapkan kolomCondition
.
- Perbedaannya adalah, alih-alih 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 (identik dengan panggilan pengiriman yang dilakukan dalam fungsisendMessageToFcmTopic
).
FirebaseMessaging.getInstance().send(message);
- Terakhir, perbarui fungsi
main
dan aktifkan panggilan ke hanya fungsisendMessageToFcmTopicCondition
.
Mengirim pesan dan memvalidasi penerimaan
- Sebelum mengirim pesan topik, pastikan terlebih dahulu instance aplikasi Anda memenuhi kondisi topik yang ditentukan dengan mendaftarkan instance aplikasi ke topik Technology dan Automotive.
- Sekarang Anda dapat mengirim pesan topik dengan menjalankan fungsi
main
dariFcmSender.java
. - Seperti sebelumnya, Anda akan dapat mengamati penerimaan 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 akan melihat bahwa pesan tidak diterima oleh instance aplikasi.
9. Rangkuman
Mari kita rangkum secara singkat apa yang telah Anda pelajari hingga saat ini.
- Cara memulai langganan / berhenti berlangganan topik dari instance aplikasi.
- Mengirim pesan ke topik dan memverifikasi penerimaan pada instance aplikasi yang berlangganan.
- Mengirim pesan ke kondisi topik dan memverifikasi penerimaan pada instance aplikasi yang memenuhi kondisi.
Di bagian berikutnya, Anda akan mempelajari cara berlangganan / berhenti berlangganan instance aplikasi ke topik tanpa perlu membuat panggilan dari sisi klien.
10. Mengelola Langganan Topik dari Sisi Server
Hingga saat ini, dalam codelab ini, semua panggilan langganan dan berhenti berlangganan topik dimulai dari instance aplikasi.
Namun, dalam beberapa kasus penggunaan, Anda mungkin ingin mengelola langganan topik dari Sisi Server. Misalnya, Anda mungkin ingin mendaftarkan subgrup basis pengguna yang ada ke topik baru tanpa menunggu peluncuran aplikasi.
Di bagian ini, Anda akan mempelajari cara menggunakan Firebase Admin SDK untuk berlangganan dan berhenti berlangganan sekelompok Token Pendaftaran FCM ke topik dengan melakukan panggilan dari sisi server.
Menerapkan langganan sisi server Token Pendaftaran FCM ke topik FCM
- Dalam kode server, buka class
FcmSubscriptionManager.java
. Temukan metode bernamasubscribeFcmRegistrationTokensToTopic
. Anda akan menerapkan panggilan ke APIsubscribeToTopic
di sini.
- Mari kita buat instance aplikasi berlangganan topik Energy. Untuk melakukannya, pertama-tama berikan data untuk dua kolom berikut:
registrationTokens
: daftar string yang dipisahkan koma yang merepresentasikan Token Pendaftaran FCM yang ingin Anda buat langganan topiknya.topicName
: nama topik untuk topik Energi, yaitu/topics/Energy
.
- Di beberapa baris berikutnya, terapkan panggilan, seperti berikut:
TopicManagementResponse response = FirebaseMessaging.getInstance().subscribeToTopic( registrationTokens, topicName);
- Anda dapat memeriksa
TopicManagementResponse
untuk melihat statistik hasil tingkat tinggi. Misalnya, mencetak jumlah langganan topik yang berhasil dibuat menggunakangetSuccessCount
.
System.out.printf("Num tokens successfully subscribed %d", response.getSuccessCount());
- Terakhir, di fungsi
main
, aktifkan panggilan hanya ke fungsisubscribeFcmRegistrationTokensToTopic
.
Membuat langganan dan mengirim pesan topik
- Pada tahap ini, Anda siap membuat langganan topik dan mengirim pesan ke topik tersebut.
- Jalankan fungsi
main
classFcmSubscriptionManager.java
. Tindakan ini akan membuat langganan topik. - Sekarang, siapkan kode untuk mengirim pesan. Seperti sebelumnya,
- Di
FcmSender.java
, temukan fungsisendMessageToFcmTopic
. - Tetapkan
topicName
ke topik Energi, yaitu/topics/Energy
. - Buat objek
Message
dan targetkan ke topik menggunakansetTopic
. - Terakhir, perbarui metode
main
agar hanya mengaktifkan fungsisendMessageToFcmTopic
.
- Di
- Jalankan fungsi
main
dariFcmSender.java
. Tindakan ini akan mengirim pesan ke instance aplikasi Anda dan Anda dapat mengamatinya di aplikasi Anda sebagai berikut.- Instance aplikasi di latar depan
- Instance aplikasi di latar belakang
Menerapkan pembatalan langganan sisi server Token Pendaftaran FCM ke topik FCM
- Untuk berhenti berlangganan topik sisi server, gunakan
unsubscribeFromTopic
API ini. Anda akan menambahkan kode yang relevan ke fungsiunsubscribeFcmRegistrationTokensFromTopic
classFcmSubscriptionManager.java
.
- Penerapan kode berhenti berlangganan sisi server dan memvalidasi efeknya dengan mengirim pesan topik, diserahkan kepada Anda sebagai latihan.
11. Selamat
Selamat, Anda telah berhasil menggunakan topik FCM untuk mengirim pesan multicast ke subgrup instance aplikasi Anda. Cara ini akan membantu menyederhanakan kemampuan Anda untuk menjangkau pengguna secara tepat waktu dengan konten yang relevan.
Apa langkah selanjutnya?
Setelah menyelesaikan codelab ini, coba topik untuk platform lain menggunakan panduan berikut: