คุณรับส่งข้อความถึงผู้ใช้ปลายทางได้โดยใช้ chrome.gcm เนื่องจากสร้างขึ้นจาก Firebase Cloud Messaging (FCM) จึงต้องใช้บริการภายนอกที่คุณต้องตั้งค่า วิธีการนี้จะอธิบายขั้นตอนที่จำเป็นทั้งหมดเพื่อให้ส่วนขยายทำงานได้
แม้ว่าระบบจะยังรองรับ chrome.gcm
แต่ chrome.gcm
สร้างขึ้นเมื่อกว่า 10 ปีก่อนก่อนมาตรฐาน Push โดยทั่วไปแล้ว แนวทางปฏิบัติแนะนำคือใช้มาตรฐานเว็บแทนการใช้ 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"]
ตอนนี้คุณมีสิทธิ์เข้าถึง chrome.gcm
API แล้ว คุณสามารถลงทะเบียนเพื่อฟังข้อความ 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 ได้