หน้านี้มีข้อมูลช่วยเหลือในการแก้ปัญหาและคำตอบสำหรับคำถามที่พบบ่อย
เกี่ยวกับ Cloud Messaging
เครื่องมือเขียนการแจ้งเตือนกับ FCM แตกต่างกันอย่างไร
Firebase Cloud Messaging มีชุดความสามารถในการรับส่งข้อความ
ที่สมบูรณ์ผ่าน SDK ของไคลเอ็นต์และโปรโตคอลเซิร์ฟเวอร์ HTTP
FCM เป็นตัวเลือกที่เหมาะสมสำหรับการติดตั้งใช้งานที่มีข้อกำหนดการรับส่งข้อความที่ซับซ้อนกว่า
Notifications Composer เป็นโซลูชันการรับส่งข้อความแบบ Serverless ที่มีน้ำหนักเบา ซึ่งสร้างขึ้นบน Firebase Cloud Messaging เครื่องมือเขียนการแจ้งเตือนช่วยให้ผู้ใช้ส่งข้อความเพื่อดึงดูดและรักษาผู้ใช้ไว้ ส่งเสริมการเติบโตของแอป และสนับสนุนแคมเปญการตลาดได้ด้วยคอนโซลกราฟิกที่ใช้งานง่าย
และข้อกำหนดการเขียนโค้ดที่ลดลง
| ความสามารถ |
|
เครื่องมือเขียนการแจ้งเตือน |
Cloud Messaging |
| เป้าหมาย |
อุปกรณ์เดียว |
|
|
|
ลูกค้าที่สมัครใช้หัวข้อ
(เช่น สภาพอากาศ) |
|
|
|
ลูกค้าในกลุ่มผู้ใช้ที่กำหนดไว้ล่วงหน้า (แอป เวอร์ชัน ภาษา) |
|
|
|
ลูกค้าในกลุ่มเป้าหมาย Analytics ที่ระบุ |
|
|
|
ลูกค้าในกลุ่มอุปกรณ์ |
|
|
|
อัปสตรีมจากไคลเอ็นต์ไปยังเซิร์ฟเวอร์ |
|
|
| ประเภทข้อความ |
การแจ้งเตือนสูงสุด 2 KB |
|
|
|
ข้อความข้อมูลสูงสุด 4 KB |
|
|
| การจัดส่ง |
ทันที |
|
|
|
เวลาท้องถิ่นของอุปกรณ์ไคลเอ็นต์ในอนาคต |
|
|
| Analytics |
คอลเล็กชันการวิเคราะห์การแจ้งเตือนที่มีอยู่ในตัวและการวิเคราะห์ Funnel
|
|
|
ฉันต้องใช้บริการอื่นๆ ของ
Firebase ด้วยไหมจึงจะใช้ FCM ได้
คุณสามารถใช้ Firebase Cloud Messaging เป็นคอมโพเนนต์แบบสแตนด์อโลนได้โดยไม่ต้องใช้
บริการอื่นๆ ของ Firebase
เหตุใดอุปกรณ์เป้าหมายจึงดูเหมือนไม่ได้รับข้อความ
เมื่ออุปกรณ์ดูเหมือนไม่ได้รับข้อความสำเร็จ ให้ตรวจสอบสาเหตุที่เป็นไปได้ 2 ข้อต่อไปนี้ก่อน
การจัดการข้อความที่ทำงานอยู่เบื้องหน้าสำหรับข้อความแจ้งเตือน แอปไคลเอ็นต์ต้องเพิ่มตรรกะการจัดการข้อความเพื่อจัดการข้อความแจ้งเตือนเมื่อแอปทำงานอยู่เบื้องหน้าบนอุปกรณ์ ดูรายละเอียดสำหรับ
iOS และ
Android
การจำกัดของไฟร์วอลล์เครือข่าย หากองค์กรของคุณมีไฟร์วอลล์ที่
จำกัดการรับส่งข้อมูลไปยังหรือจากอินเทอร์เน็ต คุณต้องกำหนดค่าไฟร์วอลล์เพื่ออนุญาต
การเชื่อมต่อกับ FCM เพื่อให้แอปไคลเอ็นต์ Firebase Cloud Messaging
ได้รับข้อความ พอร์ตที่ต้องเปิดมีดังนี้
FCM โดยปกติแล้วจะใช้พอร์ต 5228 แต่บางครั้งก็ใช้พอร์ต 5229 และ 5230
FCM ไม่ได้ระบุ IP ที่เฉพาะเจาะจง ดังนั้นคุณควรอนุญาตให้ไฟร์วอลล์
ยอมรับการเชื่อมต่อขาออกกับที่อยู่ IP ทั้งหมดในบล็อก IP
ซึ่งแสดงใน ASN 15169 ของ Google
เหตุใดระบบจึงไม่เรียก onMessageReceived ในแอป Android ของฉัน
เมื่อแอปทำงานอยู่เบื้องหลัง ข้อความ
แจ้งเตือน
จะแสดงในถาดระบบ และระบบจะไม่เรียก onMessageReceived สำหรับข้อความแจ้งเตือนที่มีเพย์โหลดข้อมูล ข้อความแจ้งเตือนจะแสดงในถาดระบบ และคุณสามารถดึงข้อมูลที่รวมอยู่ในข้อความแจ้งเตือนได้จาก Intent ที่เปิดขึ้นเมื่อผู้ใช้แตะการแจ้งเตือน
ดูข้อมูลเพิ่มเติมได้ที่หัวข้อรับและจัดการข้อความ
เหตุใดฉันจึงได้รับข้อผิดพลาด 404 เมื่อส่งข้อความไปยังอินสแตนซ์ของแอปที่ใช้งานอยู่ซึ่งกู้คืนจากข้อมูลสำรอง
FID (Firebase Installation ID) คือตัวระบุของอินสแตนซ์ของแอป โดยค่าเริ่มต้น ระบบจะสำรองและกู้คืนข้อมูลการติดตั้ง Firebase ดังนั้นในกรณีการกู้คืน อินสแตนซ์ของแอปที่กู้คืนและอินสแตนซ์ของแอปเดิมจะมี FID เดียวกัน เนื่องจาก FCM จัดเก็บโทเค็นเพียง 1 รายการต่อ FID หากทั้งอินสแตนซ์ของแอปเดิมและอินสแตนซ์ของแอปที่กู้คืนมีการใช้งาน เมื่ออินสแตนซ์ของแอปรายการหนึ่งลงทะเบียนกับ FCM ระบบจะนำโทเค็นของอินสแตนซ์ของแอปอีกรายการออก ซึ่งทำให้เกิดข้อผิดพลาด 404
เราขอแนะนำให้นักพัฒนาแอปทำสิ่งต่อไปนี้ในแอป
- ยกเว้น
ข้อมูลการติดตั้ง Firebase ในข้อมูลสำรอง ข้อมูลการติดตั้ง Firebase จะจัดเก็บไว้ในไฟล์
PersistedInstallation....json ชื่อไฟล์จะเป็นค่าคงที่สำหรับแอป
เช่น <exclude domain="file" path="PersistedInstallation.W0R...GQ.json"
/>
Apple ประกาศว่าจะเลิกใช้งานโปรโตคอลไบนารีเดิมสำหรับ APNs ฉันต้องดำเนินการใดๆ ไหม
ไม่ Firebase Cloud Messaging เปลี่ยนไปใช้โปรโตคอล APNs ที่อิงตาม HTTP/2 ในปี 2017
หากคุณใช้ FCM เพื่อส่งการแจ้งเตือนไปยังอุปกรณ์ iOS คุณไม่จำเป็นต้องดำเนินการใดๆ
โควต้าและขีดจำกัดของ FCM
ฉันจะแจ้งฐานลูกค้าขนาดใหญ่ภายใน 2 นาทีได้อย่างไร
ระบบไม่รองรับกรณีการใช้งานนี้ คุณต้องกระจายการรับส่งข้อมูลออกไปเป็นระยะเวลา 5 นาที
แอปของฉันแจ้งให้ผู้ใช้ทราบเกี่ยวกับกิจกรรม และข้อความเหล่านี้ต้องส่งทันทีเพื่อรองรับรูปแบบธุรกิจของฉัน ฉันจะขอโควต้าเพิ่มเติมได้ไหม
เราไม่สามารถเพิ่มโควต้าให้ได้ด้วยเหตุผลนี้ คุณต้องกระจาย
การรับส่งข้อมูลออกไปเป็นระยะเวลา 5 นาทีเพื่อ หลีกเลี่ยงการรับส่งข้อมูลที่เพิ่มขึ้นอย่างรวดเร็ว
ข้อความของฉันเกี่ยวกับกิจกรรมที่กำหนดเวลาไว้ ฉันจะส่งการรับส่งข้อมูลทั้งหมดเมื่อขึ้นชั่วโมงใหม่ได้อย่างไร
เราขอแนะนำให้คุณเริ่มส่งการแจ้งเตือนอย่างน้อย 5 นาทีก่อนเริ่มกิจกรรม หรือส่ง ข้อความ
ข้อมูล
และใช้ตัวแฮนเดิล onMessageReceived ที่เทียบเท่าของแพลตฟอร์มเพื่อกำหนดเวลาการแจ้งเตือน
ในเครื่องล่วงหน้า
ข้อผิดพลาด 429 เป็นเรื่องยากสำหรับฉันและธุรกิจของฉัน ฉันจะได้รับการยกเว้นหรือโควต้าเพิ่มเติมเพื่อหลีกเลี่ยงข้อผิดพลาด 429 ได้ไหม
แม้ว่าเราจะเข้าใจดีว่าขีดจำกัดโควต้าอาจเป็นเรื่องท้าทาย แต่โควต้ามีความสำคัญอย่างยิ่งต่อการรักษาความน่าเชื่อถือของบริการ และเราไม่สามารถให้การยกเว้นได้ ใช้การลองใหม่เพื่อ
จัดการข้อผิดพลาด 429 อย่างเหมาะสม
คำขอเพิ่มโควต้าของฉันจะได้รับการดำเนินการภายในระยะเวลานานเท่าใด
คำขอเพิ่มโควต้า
ของคุณขึ้นอยู่กับการ
ใช้ FCM อย่างไรก็ตาม คุณจะได้รับคำตอบภายใน 2-3 วันทำการ ในบางกรณี อาจมีการโต้ตอบกันไปมาเกี่ยวกับการใช้
FCM และสถานการณ์ต่างๆ ซึ่งอาจทำให้กระบวนการนานขึ้น หากเป็นไปตามข้อกำหนดทั้งหมด คำขอส่วนใหญ่จะได้รับการจัดการภายใน 2 สัปดาห์
ฉันจะขอโควต้าเพิ่มเติมสำหรับกิจกรรมชั่วคราวได้ไหม
คุณสามารถขอโควต้าเพิ่มเติมเพื่อรองรับกิจกรรมที่ใช้เวลาไม่เกิน 1 เดือน
ยื่นคำขอล่วงหน้าอย่างน้อย 1 เดือนก่อนเริ่มกิจกรรม พร้อมระบุรายละเอียดที่ชัดเจน
เกี่ยวกับเวลาเริ่มและสิ้นสุดของกิจกรรม แล้ว FCM จะพยายามอย่างเต็มที่
เพื่อดำเนินการตามคำขอ หากได้รับอนุมัติ ระบบจะเปลี่ยนโควต้าที่เพิ่มขึ้นกลับเป็นค่าเดิมหลังจากวันที่สิ้นสุดกิจกรรม