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