คุณส่งและรับข้อความถึงผู้ใช้ปลายทางด้วย chrome.gcm ได้ เพราะสร้างขึ้นจาก Firebase Cloud Messaging (FCM) จึงต้องอาศัยบริการภายนอกที่คุณต้องตั้งค่า วิธีการนี้จะแนะนำขั้นตอนที่จำเป็นทั้งหมดเพื่อให้ใช้งานในส่วนขยายได้
แม้ว่า chrome.gcm
จะยังใช้งานได้อยู่ แต่ก็สร้างขึ้นก่อนมาตรฐานพุชมานานกว่า 10 ปี โดยทั่วไปแล้ว แนวทางปฏิบัติแนะนำคือการใช้มาตรฐานเว็บแทนการใช้ API เฉพาะส่วนขยาย เราขอแนะนำให้ใช้ Push เว้นแต่คุณจะมีความต้องการที่เฉพาะเจาะจงในการใช้ chrome.gcm
ข้อกำหนดเบื้องต้น
หากต้องการใช้ chrome.gcm
คุณจะต้องสร้างบัญชี Firebase
เมื่อสร้างบัญชีแล้ว คุณจะต้องเปิดคอนโซล Firebase แล้วเลือกโปรเจ็กต์ที่มีอยู่ที่จะใช้ หรือสร้างโปรเจ็กต์ใหม่สำหรับส่วนขยาย
ไปที่หน้าการตั้งค่าสำหรับ Cloud Messaging
หากคุณมีบัญชีการรับส่งข้อความในระบบคลาวด์ในโปรเจ็กต์นี้อยู่แล้ว คุณต้องการคัดลอกรหัสผู้ส่งที่เป็นตัวเลขในรายการ
หากไม่ได้เปิดใช้การรับส่งข้อความในระบบคลาวด์ คุณต้องเปิดใช้ Firebase Cloud Messaging API สำหรับโปรเจ็กต์ภายใน Google Cloud ในรูปภาพต่อไปนี้ คุณจะเห็นตำแหน่งที่ลิงก์ไปยังหน้านี้โดยตรงในการตั้งค่า Firebase
เมื่อเปิดใช้แล้ว ให้กลับไปที่หน้าการตั้งค่าสำหรับ Cloud Messaging แล้วคัดลอกรหัสผู้ส่ง
กำหนดค่า chrome.gcm
ตอนนี้คุณมีรหัสผู้ส่งจาก Firebase แล้ว คุณสามารถกำหนดค่าส่วนขยายให้ฟังข้อความได้ เริ่มต้นด้วยการเพิ่มสิทธิ์ gcm
ใน manifest.json
ของส่วนขยาย
{
"manifest_version": 3,
...
"permissions": ["gcm"]
ตอนนี้คุณมีสิทธิ์เข้าถึง API ของ chrome.gcm
แล้ว คุณลงทะเบียนเพื่อฟังข้อความ Push ได้โดยโทรไปที่หมายเลข chrome.gcm.register
ฟังข้อความ
เมื่อส่วนขยายลงทะเบียนรหัสผู้ส่งแล้ว คุณจะต้องเพิ่มโค้ดเพื่อจัดการข้อความขาเข้า
Firebase ที่ไม่มี Firebase
แม้ว่า chrome.gcm
จะผ่าน Firebase เสมอ แต่คุณกำหนดค่า Firebase ให้ทำหน้าที่เป็นพร็อกซีสำหรับผู้ให้บริการข้อความ Push ภายนอกได้ โดยทั่วไป ผู้ให้บริการจะแสดงรายชื่อการรองรับส่วนขยาย Chrome อย่างชัดแจ้ง แต่ผู้ให้บริการที่รองรับข้อความ Push แบบเดิมของ Firebase ควรใช้งานได้ หากผู้ให้บริการของคุณรองรับข้อความ Push เดิมของ Firebase ลองใช้ดูสิ หากพบปัญหา ฝ่ายสนับสนุนผู้ให้บริการควรชี้แจงข้อจำกัดที่อาจเกิดขึ้นได้
ในช่องและหัวข้อ
chrome.gcm
ใช้ Firebase Messaging API เดิม ซึ่งมีความสำคัญเนื่องจาก API เดิมไม่รองรับช่องทางข้อความ ทุกข้อความที่พุชจะส่งไปยังไคลเอ็นต์ทั้งหมด หากส่วนขยายของผู้ใช้สนใจเฉพาะข้อความบางส่วน คุณจะต้องกรองด้วยตนเอง
ขณะที่ Firebase เริ่มต้นเป็นบัญชีฟรี ระบบจะเรียกเก็บเงินเมื่อมีการใช้งานเกินเกณฑ์ที่กำหนด หากคุณวางแผนที่จะส่งข้อความไปที่กลุ่มที่เจาะจง การกรองฝั่งไคลเอ็นต์อาจมีค่าใช้จ่ายสูงกว่าที่คาดไว้ คุณหลีกเลี่ยงปัญหานี้ได้ด้วยการสร้างโปรเจ็กต์หลายรายการเพื่อจำลองแต่ละแชแนล (1 โปรเจ็กต์และรหัสผู้ส่ง 1 รหัสสำหรับแต่ละแชแนล) โดยส่วนขยายแต่ละรายการจะสามารถลงทะเบียน รหัสผู้ส่งได้หลายรหัสและไม่เกิน 100 รหัส
หรือหากคุณต้องการการสนับสนุนเกี่ยวกับช่องทาง หรือต้องการใช้ข้อความ Push โดยไม่ต้องผ่าน Firebase คุณสามารถใช้ Push API ได้