ใช้ Firebase Cloud Messaging (FCM) กับ chrome.gcm

คุณรับส่งข้อความถึงผู้ใช้ปลายทางได้ด้วย chrome.gcm เนื่องจากโมเดลนี้สร้างขึ้นจาก Firebase Cloud Messaging (FCM) จะขึ้นอยู่กับบริการภายนอกที่คุณต้องการ เพื่อตั้งค่า ซึ่งจะแนะนำขั้นตอนที่จำเป็นทั้งหมดเพื่อให้ได้ ในส่วนขยายของคุณได้

แม้ว่า chrome.gcm จะยังรองรับอยู่ แต่สร้างมานานกว่า 10 ปีแล้ว มาตรฐาน Push โดยทั่วไป การใช้เว็บเป็นแนวทางปฏิบัติแนะนำ แบบมาตรฐาน แทนการใช้ API เฉพาะส่วนขยาย ยกเว้นกรณีที่มีความต้องการเฉพาะ ในการใช้ chrome.gcm เราขอแนะนําให้ใช้พุช

ข้อกำหนดเบื้องต้น

หากต้องการใช้ chrome.gcm คุณจะต้องตั้งค่า Firebase ของคุณได้

วันที่ หน้าแรกของ Firebase.com
หน้าแรกของ Firebase.com

เมื่อสร้างบัญชีแล้ว คุณจะต้องเปิด Firebase และเลือกโปรเจ็กต์ที่มีอยู่เพื่อใช้งาน หรือสร้างโปรเจ็กต์ใหม่ สำหรับส่วนขยายของคุณ

วันที่ ภาพหน้าจอของข้อมูลโปรเจ็กต์ในคอนโซล Firebase
ข้อมูลโปรเจ็กต์ในคอนโซล Firebase

ไปที่หน้าการตั้งค่าสำหรับ Cloud Messaging

วันที่ ภาพหน้าจอของหน้าการตั้งค่า Firebase Cloud Messaging
หน้าการตั้งค่า Firebase Cloud Messaging

หากมีบัญชีการรับส่งข้อความในระบบคลาวด์ในโปรเจ็กต์อยู่แล้ว คุณต้องการ คัดลอกรหัสผู้ส่งที่เป็นตัวเลข

หากไม่ได้เปิดใช้การรับส่งข้อความในระบบคลาวด์ คุณจะต้องเปิดใช้ Firebase Cloud Messaging API สำหรับโปรเจ็กต์ภายใน Google Cloud ในรายการต่อไปนี้ คุณจะเห็นว่ามีลิงก์ไปยังหน้าเว็บนี้โดยตรงใน Firebase การตั้งค่า

วันที่ ภาพหน้าจอของตําแหน่งของลิงก์เพื่อเปิดใช้ Firebase Messaging API ใน Google Cloud
การเปิดลิงก์การตั้งค่า Google Cloud ใน Firebase

เมื่อเปิดใช้แล้ว ให้กลับไปที่หน้าการตั้งค่าสำหรับระบบคลาวด์ การรับส่งข้อความ แล้วคัดลอกรหัสผู้ส่ง

กำหนดค่า chrome.gcm

เมื่อคุณมีรหัสผู้ส่งจาก Firebase แล้ว คุณสามารถกำหนดค่าส่วนขยายได้ เพื่อฟังข้อความ เริ่มต้นด้วยการเพิ่ม gcm สิทธิ์ไปยังmanifest.jsonของส่วนขยาย

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

ตอนนี้คุณมีสิทธิ์เข้าถึง chrome.gcm API แล้ว คุณสามารถลงทะเบียนเพื่อฟังข้อความ Push ได้ ข้อความโดยโทรไปที่ chrome.gcm.register

ฟังข้อความ

เมื่อส่วนขยายลงทะเบียนรหัสผู้ส่งของคุณแล้ว คุณจะต้องเพิ่มโค้ดเพื่อจัดการ ข้อความขาเข้า

Firebase ที่ไม่มี Firebase

แม้ว่า chrome.gcm จะดำเนินการผ่าน Firebase เสมอ แต่คุณกำหนดค่า Firebase เป็น ทำหน้าที่เป็นพร็อกซีสำหรับผู้ให้บริการรับส่งข้อความพุชภายนอก โดยทั่วไปผู้ให้บริการจะ แสดงการสนับสนุนสำหรับส่วนขยาย Chrome อย่างชัดเจน แต่ผู้ให้บริการที่สนับสนุน ข้อความ Push เดิมของ Firebase ควรใช้งานได้ หากผู้ให้บริการแสดง รองรับข้อความ Push รุ่นเดิมของ Firebase ได้เลย ลองใช้เลย หากพบประสบการณ์ ฝ่ายสนับสนุนผู้ให้บริการควรจะสามารถ ชี้แจงข้อจำกัด จะพร้อมใช้งาน

ในช่องและหัวข้อ

chrome.gcm กำลังใช้ Firebase Messaging API เดิม ข้อมูลนี้สำคัญ เนื่องจาก API เดิมไม่รองรับช่องทางข้อความ ทุกข้อความ ที่พุชไปยังไคลเอ็นต์ทุกตัว หากส่วนขยายของผู้ใช้สนใจเฉพาะ ย่อยของข้อความใดข้อความหนึ่ง คุณจะต้องกรองตัวเองออก

ขณะที่ Firebase เริ่มต้นเป็นบัญชีฟรี ระบบจะเรียกเก็บเงินจากคุณเมื่อคุณเกิน เกณฑ์การใช้งานบางอย่าง หากคุณวางแผนที่จะส่งข้อความถึงกลุ่มที่กำหนด การกรองฝั่งไคลเอ็นต์อาจทำให้มีค่าใช้จ่ายสูงกว่าที่คาดไว้ คุณสามารถ แก้ปัญหานี้โดยสร้างโปรเจ็กต์หลายรายการให้ทำซ้ำช่องแต่ละช่อง (โปรเจ็กต์ 1 รายการและรหัสผู้ส่ง 1 รายการสำหรับแต่ละแชแนล) ส่วนขยายใดๆ สามารถ ลงทะเบียนสำหรับรหัสผู้ส่งหลายรหัส สูงสุด 100 รหัส

หรือหากต้องการการสนับสนุนเกี่ยวกับช่องต่างๆ หรือต้องการใช้ข้อความ Push โดยไม่ต้องผ่าน Firebase คุณจะใช้ Push API ได้