Menggunakan Firebase Cloud Messaging (FCM) dengan chrome.gcm

Anda dapat mengirim dan menerima pesan kepada pengguna akhir dengan chrome.gcm. Karena dibangun di atas Firebase Cloud Messaging (FCM), layanan ini bergantung pada layanan eksternal yang Anda perlukan untuk disiapkan. Petunjuk ini akan memandu Anda melalui semua langkah yang diperlukan untuk membuatnya bekerja di ekstensi Anda.

Meskipun chrome.gcm masih didukung, dibuat lebih dari satu dekade yang lalu sebelum standar Push. Secara umum, praktik terbaik adalah menggunakan web standar, 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 Firebase menggunakan akun layanan.

halaman beranda Firebase.com.
Halaman beranda Firebase.com

Setelah membuat akun, Anda dapat membuka Firebase konsol, lalu pilih project yang sudah ada untuk digunakan, atau buat yang baru untuk ekstensi Anda.

Screenshot listingan project di Firebase console.
Listingan project di Firebase console

Lanjutkan ke halaman setelan untuk Cloud Messaging.

Screenshot halaman setelan Firebase Cloud Messaging.
Halaman setelan Firebase Cloud Messaging

Jika sudah memiliki akun {i>cloud messaging<i} di proyek ini, Anda perlu salin ID Pengirim numerik yang dicantumkan.

Jika belum mengaktifkan {i>cloud messaging<i}, Anda harus mengaktifkan layanan Cloud Messaging API untuk project di dalam Google Cloud. Dalam , Anda dapat melihat di mana ada link langsung ke halaman ini di Firebase setelan.

Screenshot lokasi link untuk mengaktifkan Firebase Messaging API di Google Cloud.
Membuka link setelan Google Cloud di Firebase

Setelah diaktifkan, kembali ke halaman setelan untuk Cloud Pesan, lalu salin ID Pengirim.

Mengonfigurasi chrome.gtag

Setelah memiliki ID Pengirim dari Firebase, Anda dapat mengonfigurasi ekstensi untuk mendengarkan pesan. Untuk memulai, pastikan Anda telah menambahkan gcm izin ke manifest.json ekstensi Anda

  {
    "manifest_version": 3,
    ...
    "permissions": ["gcm"]

Anda kini memiliki akses ke chrome.gcm API. Anda dapat mendaftar untuk mendengarkan push pesan dengan memanggil chrome.gcm.register

Mendengarkan pesan

Setelah ekstensi mendaftarkan ID Pengirim Anda, 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, namun setiap vendor yang mendukung Notifikasi push lama Firebase harus berfungsi. Jika penyedia Anda mencantumkan yang mendukung notifikasi push lama Firebase, cobalah. Jika Anda mengalami penyedia layanan harus dapat menjelaskan batasan apa pun yang yang akan Anda terapkan.

Tentang Channel dan Topik

chrome.gcm menggunakan Firebase Messaging API lama. Ini penting karena API lama tidak mendukung saluran pesan. Setiap pesan akan diterima oleh setiap klien. Jika ekstensi pengguna hanya tertarik pada subkumpulan pesan, Anda perlu memfilternya sendiri.

Meskipun Firebase dimulai sebagai akun gratis, Anda akan dikenai biaya setelah melewati batas penggunaan tertentu. Jika Anda berencana mengirim pesan ke grup tertentu, maka penyaringan sisi klien mungkin menghabiskan biaya lebih dari yang seharusnya. Anda dapat menyiasatinya dengan membuat beberapa project untuk mereplikasi setiap channel (satu project dan satu ID Pengirim untuk setiap saluran). Setiap ekstensi yang diberikan dapat mendaftar untuk beberapa ID Pengirim, hingga 100.

Atau, jika Anda memerlukan dukungan channel, atau ingin menggunakan notifikasi push tanpa melalui Firebase, Anda dapat menggunakan Push API.