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.
Setelah membuat akun, Anda dapat membuka Firebase konsol, lalu pilih project yang sudah ada untuk digunakan, atau buat yang baru untuk ekstensi Anda.
Lanjutkan ke halaman setelan untuk 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.
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.