Anda dapat mengirim dan menerima pesan kepada pengguna akhir dengan chrome.gcm. Karena dibuat berdasarkan Firebase Cloud Messaging (FCM), layanan ini mengandalkan layanan eksternal yang perlu Anda siapkan. Cara ini akan memandu Anda melalui semua langkah yang diperlukan agar dapat berfungsi di ekstensi Anda.
Meskipun chrome.gcm
masih didukung, chrome.gcm
dibuat lebih dari satu dekade yang lalu sebelum
standar Push. Secara umum, praktik terbaiknya adalah selalu menggunakan standar
web, bukan API khusus ekstensi. Kecuali jika Anda memiliki kebutuhan khusus
untuk menggunakan chrome.gcm
, sebaiknya gunakan Push.
Prasyarat
Untuk menggunakan chrome.gcm
, Anda harus menyiapkan akun Firebase.
Setelah membuat akun, Anda dapat membuka Firebase console, memilih project yang sudah ada untuk digunakan, atau membuat project baru untuk ekstensi.
Lanjutkan ke halaman setelan untuk Cloud Messaging.
Jika sudah memiliki akun pesan cloud di project ini, Anda ingin menyalin ID Pengirim numerik yang tercantum.
Jika belum mengaktifkan cloud messaging, Anda harus mengaktifkan Firebase Cloud Messaging API untuk project di dalam Google Cloud. Dalam gambar berikut, Anda dapat melihat keberadaan link langsung ke halaman ini di setelan Firebase.
Setelah diaktifkan, kembali ke halaman setelan untuk Cloud Messaging, lalu salin ID Pengirim.
Mengonfigurasi chrome.gcm
Setelah memiliki ID Pengirim dari Firebase, Anda dapat mengonfigurasi ekstensi untuk memproses pesan. Untuk memulai, pastikan Anda telah menambahkan izin gcm
ke manifest.json
ekstensi Anda
{
"manifest_version": 3,
...
"permissions": ["gcm"]
Anda kini memiliki akses ke chrome.gcm
API. Anda dapat mendaftar untuk memproses pesan push
dengan memanggil chrome.gcm.register
Mendengarkan pesan
Setelah ekstensi mendaftarkan ID Pengirim, Anda perlu menambahkan kode untuk menangani pesan masuk.
Firebase tanpa Firebase
Meskipun chrome.gcm
selalu melalui Firebase, Firebase dapat dikonfigurasi untuk
bertindak sebagai proxy untuk vendor pesan push eksternal. Biasanya, vendor akan secara eksplisit mencantumkan dukungan untuk Ekstensi Chrome, tetapi vendor apa pun yang mendukung notifikasi push Lama Firebase harus berfungsi. Jika penyedia Anda mencantumkan dukungan untuk notifikasi push Lama Firebase, coba gunakan. Jika Anda mengalami
masalah, dukungan penyedia harus dapat menjelaskan batasan apa pun yang
akan diterapkan.
Tentang Channel dan Topik
chrome.gcm
menggunakan Firebase Messaging API lama. Hal ini penting
karena API lama tidak mendukung saluran pesan. Setiap pesan yang dikirim
akan dikirim ke setiap klien. Jika ekstensi pengguna hanya tertarik dengan
subkumpulan pesan, Anda harus memfilternya sendiri.
Meskipun Firebase dimulai sebagai akun gratis, Anda akan ditagih setelah melampaui batas penggunaan tertentu. Jika Anda berencana mengirim pesan ke grup tertentu, pemfilteran sisi klien mungkin memerlukan biaya lebih besar dari yang seharusnya. Anda dapat mengatasinya dengan membuat beberapa project untuk mereplikasi setiap saluran (satu project dan satu ID Pengirim untuk setiap saluran). Setiap ekstensi tertentu dapat mendaftar untuk beberapa ID Pengirim, hingga 100.
Atau, jika Anda memerlukan dukungan saluran, atau ingin menggunakan notifikasi push tanpa melalui Firebase, Anda dapat menggunakan Push API.