Anda dapat mengirim dan menerima pesan ke pengguna akhir dengan chrome.gcm. Karena di-build di atas Firebase Cloud Messaging (FCM), FCM mengandalkan layanan eksternal yang perlu Anda siapkan. Cara ini akan memandu Anda melakukan semua langkah yang diperlukan agar ekstensi berfungsi di ekstensi Anda.
Meskipun masih didukung, chrome.gcm
dibuat lebih dari satu dekade yang lalu sebelum
standar Push. Secara umum, praktik terbaiknya adalah menggunakan standar web, bukan API khusus ekstensi. Kecuali Anda memiliki kebutuhan khusus
untuk menggunakan chrome.gcm
, sebaiknya gunakan Push.
Prasyarat
Untuk menggunakan chrome.gcm
, Anda perlu menyiapkan akun Firebase.
Setelah membuat akun, buka Firebase console dan pilih project yang ada untuk digunakan, atau buat project baru untuk ekstensi Anda.
Lanjutkan ke halaman setelan untuk Cloud Messaging.
Jika sudah memiliki akun cloud messaging di project ini, Anda perlu menyalin ID Pengirim numerik yang tercantum.
Jika tidak mengaktifkan cloud messaging, Anda harus mengaktifkan Firebase Cloud Messaging API untuk project di dalam Google Cloud. Dalam gambar berikut, Anda dapat melihat 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
{
"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
Memproses pesan
Setelah ekstensi mendaftarkan ID Pengirim, Anda perlu menambahkan kode untuk menangani pesan masuk.
Firebase tanpa Firebase
Meskipun chrome.gcm
selalu melewati Firebase, Firebase dapat dikonfigurasi untuk bertindak sebagai proxy bagi vendor pesan push eksternal. Biasanya, vendor akan mencantumkan dukungan untuk Ekstensi Chrome secara eksplisit, tetapi vendor mana pun yang mendukung notifikasi push Lama Firebase harus berfungsi. Jika penyedia Anda mencantumkan dukungan untuk Notifikasi push Lama Firebase, cobalah. Jika Anda mengalami
masalah, penyedia dukungan harus dapat mengklarifikasi pembatasan apa
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 disampaikan ke setiap klien. Jika ekstensi pengguna hanya tertarik dengan sebagian pesan, Anda harus memfilter sendiri.
Meskipun Firebase dimulai sebagai akun gratis, Anda akan dikenai biaya setelah melampaui batas penggunaan tertentu. Jika Anda berencana mengirim pesan ke grup tertentu, pemfilteran sisi klien mungkin memerlukan biaya lebih besar dari yang semestinya. Anda dapat mengatasi hal ini dengan membuat beberapa project untuk mereplikasi setiap saluran (satu project dan satu ID Pengirim untuk setiap saluran). Setiap ekstensi yang diberikan dapat didaftarkan untuk beberapa ID Pengirim, hingga 100.
Atau, jika memerlukan dukungan saluran, atau ingin menggunakan notifikasi push tanpa melalui Firebase, Anda dapat menggunakan Push API.