หน้านี้จะให้ความช่วยเหลือในการแก้ปัญหาและตอบคำถามที่พบบ่อยเกี่ยวกับ Cloud Messaging
Notifications Composer และ FCM แตกต่างกันอย่างไร
Firebase Cloud Messaging มีชุดความสามารถในการรับส่งข้อความที่สมบูรณ์ผ่าน SDK ของไคลเอ็นต์และโปรโตคอลเซิร์ฟเวอร์ HTTP สำหรับการติดตั้งใช้งานที่มีข้อกำหนดด้านการรับส่งข้อความที่ซับซ้อนมากขึ้น FCM คือตัวเลือกที่เหมาะสม
Notifications Composer เป็นโซลูชันการรับส่งข้อความแบบ Serverless ที่มีขนาดเล็กซึ่งสร้างขึ้นบน Firebase Cloud Messaging Notifications Composer มีคอนโซลแบบกราฟิกที่ใช้ง่ายและลดข้อกำหนดในการเขียนโค้ด จึงช่วยให้ผู้ใช้ส่งข้อความเพื่อดึงดูดและรักษาผู้ใช้ไว้ ส่งเสริมการเติบโตของแอป และสนับสนุนแคมเปญการตลาดได้
| ความสามารถ |
|
Notifications Composer |
Cloud Messaging |
| Target |
อุปกรณ์เดียว |
|
|
|
ไคลเอ็นต์ที่สมัครรับข้อมูลหัวข้อ (เช่น สภาพอากาศ) |
|
|
|
ไคลเอ็นต์ในกลุ่มผู้ใช้ที่กําหนดไว้ล่วงหน้า (แอป, เวอร์ชัน, ภาษา) |
|
|
|
ไคลเอ็นต์ในกลุ่มเป้าหมาย 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) คือตัวระบุของอินสแตนซ์แอป โดยค่าเริ่มต้น ระบบจะสำรองและกู้คืนข้อมูลการติดตั้ง Firebase ดังนั้นในกรณีการกู้คืน อินสแตนซ์แอปที่กู้คืนและอินสแตนซ์แอปเดิมจะใช้ FID เดียวกัน เนื่องจาก FCM จัดเก็บโทเค็นเพียงรายการเดียวต่อ FID หากทั้งอินสแตนซ์แอปเดิม
และอินสแตนซ์แอปที่กู้คืนมาใช้งานอยู่ เมื่ออินสแตนซ์แอปหนึ่งลงทะเบียน
กับ FCM ระบบจะนำโทเค็นของอินสแตนซ์แอปอื่นออก ซึ่งทำให้เกิดข้อผิดพลาด 404
เราขอแนะนำให้นักพัฒนาแอปทำสิ่งต่อไปนี้ในแอป
- ยกเว้นข้อมูลการติดตั้ง Firebase ในข้อมูลสำรอง ระบบจะจัดเก็บข้อมูลการติดตั้ง Firebase ไว้ในไฟล์
PersistedInstallation....json ชื่อไฟล์เป็นค่าคงที่สำหรับแอป ตัวอย่างเช่น <exclude domain="file" path="PersistedInstallation.W0R...GQ.json"
/>
Apple ประกาศว่าจะเลิกใช้งานโปรโตคอลไบนารีเดิมสำหรับ APNs ฉันต้องทำอะไรไหม
ไม่ Firebase Cloud Messaging เปลี่ยนไปใช้โปรโตคอล APN ที่ใช้ HTTP/2 ในปี 2017
หากคุณใช้ FCM เพื่อส่งการแจ้งเตือนไปยังอุปกรณ์ iOS คุณก็ไม่จำเป็นต้องดำเนินการใดๆ
โควต้าและขีดจำกัดของ FCM
ฉันจะแจ้งเตือนฐานลูกค้าขนาดใหญ่
ภายใน 2 นาทีได้อย่างไร
เราไม่รองรับกรณีการใช้งานนี้ คุณต้องกระจายการเข้าชมในช่วง 5 นาที
แอปของฉันจะแจ้งเตือนผู้ใช้เกี่ยวกับกิจกรรมต่างๆ และต้องส่งข้อความเหล่านี้ทันทีเพื่อรองรับรูปแบบธุรกิจของฉัน ฉันขอโควต้าเพิ่มเติมได้ไหม
ขออภัย เราไม่สามารถเพิ่มโควต้าให้ด้วยเหตุผลนี้ คุณต้องกระจายการเข้าชมออกไปเป็นเวลา 5 นาทีเพื่อหลีกเลี่ยงการเข้าชมที่พุ่งสูงขึ้นอย่างรวดเร็ว
ข้อความของฉันเกี่ยวกับ
กิจกรรมที่กำหนดเวลาไว้ ฉันจะส่งการเข้าชมทั้งหมดในช่วงต้นชั่วโมงได้อย่างไร
เราขอแนะนำให้คุณเริ่มส่งการแจ้งเตือนอย่างน้อย 5 นาทีก่อนเริ่มกิจกรรม หรือส่งข้อความข้อมูลและใช้แอนะล็อกของแฮนเดิล onMessageReceived ของแพลตฟอร์มเพื่อกำหนดเวลาการแจ้งเตือนในเครื่องล่วงหน้า
ข้อผิดพลาด 429 เป็นเรื่องยาก
ที่ฉันและธุรกิจของฉันจะจัดการได้ ฉันจะได้รับการยกเว้นหรือโควต้าเพิ่มเติมเพื่อหลีกเลี่ยงข้อผิดพลาด 429 ได้ไหม
แม้เราจะทราบดีว่าโควต้าอาจเป็นเรื่องท้าทาย แต่โควต้าก็มีความสำคัญอย่างยิ่งต่อการรักษาความน่าเชื่อถือของบริการ และเราไม่สามารถให้ข้อยกเว้นได้ ใช้การลองใหม่เพื่อจัดการข้อผิดพลาด 429 อย่างเหมาะสม
คำขอเพิ่มโควต้าของฉันจะใช้เวลานานเท่าใดจึงจะดำเนินการเสร็จสมบูรณ์
คำขอเพิ่มโควต้าจะขึ้นอยู่กับการใช้งาน FCM ของคุณ ไม่ว่าในกรณีใด คุณจะได้รับคำตอบภายใน 2-3 วันทำการ
ในบางกรณี อาจมีการโต้ตอบไปมาเกี่ยวกับการใช้งาน
FCMและสถานการณ์ต่างๆ ซึ่งอาจทำให้กระบวนการนานขึ้น หากมีคุณสมบัติตรงตามข้อกำหนดทั้งหมด คำขอส่วนใหญ่จะได้รับการจัดการภายใน 2 สัปดาห์
ฉันขอโควต้าเพิ่มเติมสำหรับกิจกรรมชั่วคราวได้ไหม
คุณขอโควต้าเพิ่มเติมเพื่อรองรับกิจกรรมที่ใช้เวลาสูงสุด 1 เดือนได้
โปรดยื่นคำขออย่างน้อย 1 เดือนก่อนวันจัดกิจกรรม พร้อมระบุรายละเอียดที่ชัดเจนเกี่ยวกับเวลาเริ่มและสิ้นสุดของกิจกรรม และFCM จะพยายามอย่างเต็มที่เพื่อดำเนินการตามคำขอ หากได้รับอนุมัติ ระบบจะยกเลิกการเพิ่มโควต้าเหล่านี้
หลังจากวันที่สิ้นสุดของกิจกรรม
โควต้าปัจจุบันของฉันอาจมีการเปลี่ยนแปลงไหม
แม้ว่า Google จะไม่เปลี่ยนแปลงโควต้าโดยง่าย แต่ก็อาจเปลี่ยนแปลงได้ตามความจำเป็นเพื่อปกป้อง
ความสมบูรณ์ของระบบ Google จะแจ้งให้คุณทราบล่วงหน้าเกี่ยวกับการเปลี่ยนแปลงดังกล่าวเมื่อเป็นไปได้
อัปเดตรายชื่อติดต่อ Cloud MSA อยู่เสมอเพื่อเพิ่มโอกาสในการรับประกาศเกี่ยวกับการให้บริการ
FCM การเลิกใช้งาน API เดิม
API ฝั่งเซิร์ฟเวอร์จะเลิกใช้งานในเดือนกันยายน 2026
API และฟีเจอร์ใดบ้างที่เลิกใช้งานแล้วและจะหยุดให้บริการ ฉันควรทำอย่างไรหากใช้ API เหล่านี้อยู่
เราเลิกใช้งานเซิร์ฟเวอร์ API ของ InstanceId และฟีเจอร์กลุ่มอุปกรณ์ทั้งหมดแล้ว และจะเลิกให้บริการในวันที่ 29 กันยายน 2027 ตารางต่อไปนี้แสดงรายละเอียดเพิ่มเติมเกี่ยวกับ API/ฟีเจอร์ที่เลิกใช้งานและขอให้ดำเนินการ
| ชื่อ API
|
ปลายทาง API
|
วัตถุประสงค์การใช้งาน
|
ผลกระทบต่อลูกค้า
|
ขอให้ดำเนินการ
|
| InstanceId info API
|
https://iid.googleapis.com/iid/info
|
การรับข้อมูลที่เกี่ยวข้องกับ InstanceId / โทเค็น FCM
|
คำขอไปยัง API นี้จะเริ่มไม่สำเร็จหลังจากวันที่ 29 กันยายน 2027
|
สำหรับลูกค้าที่ใช้ API เพื่อตรวจสอบโทเค็น ให้ใช้ FCM V1 send API และตั้งค่า validate_only เป็น true
สำหรับลูกค้าที่ใช้ API เพื่อรับข้อมูลการสมัครใช้บริการหัวข้อ ให้ย้ายข้อมูลไปยัง API การสมัครใช้บริการหัวข้อใหม่
|
| API การสมัครใช้หัวข้อ InstanceId
|
https://iid.googleapis.com/iid/v1/…/rel/topics
https://iid.googleapis.com/iid/v1:batchAdd
https://iid.googleapis.com/iid/v1:batchRemove
|
การสมัครรับข้อมูลโทเค็นในหัวข้อผ่าน API การสมัครรับข้อมูลหัวข้อเดิม
|
คำขอไปยัง API เหล่านี้จะเริ่มล้มเหลวหลังจากวันที่ 29 กันยายน 2027
|
ย้ายข้อมูลไปยัง API เซิร์ฟเวอร์การสมัครใช้บริการหัวข้อใหม่ของ FCM สำหรับการสมัครใช้บริการและการยกเลิกการสมัครใช้บริการหัวข้อ
|
| API การนําเข้าแบบกลุ่ม InstanceId
|
https://iid.googleapis.com/iid/v1:batchImport
|
การสร้างโทเค็น FCM สำหรับ iOS เป็นกลุ่มในฝั่งเซิร์ฟเวอร์
|
คำขอไปยัง API นี้จะเริ่มล้มเหลวหลังจากวันที่ 29 กันยายน 2027
ระบบจะไม่รองรับการสร้างการลงทะเบียน FCM จากโทเค็น APNs ในฝั่งเซิร์ฟเวอร์
|
คุณสามารถใช้บริการ APNs ของ Apple เพื่อส่งการแจ้งเตือนโดยใช้โทเค็น APNs
หากต้องการรับสิทธิประโยชน์เพิ่มเติมจาก FCM ให้ผสานรวมแอปกับ FCM iOS SDK ซึ่งจะสร้างการลงทะเบียน FCM ในฝั่งไคลเอ็นต์
|
| API การจัดการกลุ่มอุปกรณ์
|
https://fcm.googleapis.com/fcm/notification
https://fcm.googleapis.com/gcm/notification
https://fcm.googleapis.com/iid/notification
https://fcm.googleapis.com/notification
|
การเพิ่ม / การนำออก/ การดึงข้อมูลสมาชิกกลุ่มอุปกรณ์
|
คำขอไปยัง API นี้จะเริ่มล้มเหลวหลังจากวันที่ 29 กันยายน 2027
|
ดูคำแนะนำในการย้ายข้อมูลออกจากฟีเจอร์
คุณยังคงส่งข้อความไปยังการลงทะเบียนแต่ละรายการ FCM แทนโทเค็นกลุ่มได้
|
| ส่งไปยังกลุ่มอุปกรณ์
|
https://fcm.googleapis.com/v1/projects/…/messages:send
|
การส่งข้อความไปยังกลุ่มอุปกรณ์โดยใช้ notification_key ของกลุ่ม
|
API นี้จะยังคงทำงานต่อไป แต่จะไม่รองรับโทเค็นกลุ่มอุปกรณ์หลังจากวันที่ 29 กันยายน 2027
|
หากฉันใช้ Firebase Admin SDK เพื่อจัดการการสมัครใช้บริการหัวข้อ ฉันจะได้รับผลกระทบจากการเลิกใช้งานหรือไม่ ควรทำอย่างไร
หากคุณใช้ Firebase Admin SDK เวอร์ชันก่อนหน้าเพื่อจัดการการสมัครใช้บริการหัวข้อ คุณจะได้รับผลกระทบจากการเลิกใช้งาน
คุณจะต้องอัปเกรด Firebase Admin SDK เป็นเวอร์ชันต่อไปนี้
| แพลตฟอร์ม
|
เวอร์ชัน Admin SDK ที่ได้รับผลกระทบ
|
เวอร์ชัน Admin SDK ที่จะอัปเกรด
|
| Node.js
|
<=14.4.0
|
>=14.5.0
|
| Python
|
<=7.6.0
|
>=7.7.0
|
| Java
|
<=9.10.0
|
>=9.11.0
|
| Go
|
<=4.21.0
|
>=4.22.0
|
| .NET
|
<=3.6.0
|
>=3.7.0
|
ฉันจะเห็นการดาวน์เกรดบริการก่อนวันที่ 29 กันยายน 2027 ไหม
ไม่ คุณมีเวลา 12 เดือนในการย้ายข้อมูลจาก API ที่เลิกใช้งานแล้วไปยัง API ทางเลือกโดยไม่มีการดาวน์เกรดบริการ เราขอแนะนำอย่างยิ่งให้คุณวางแผนการย้ายข้อมูลโดยเร็วที่สุดเพื่อไม่ให้ได้รับผลกระทบจากการเลิกใช้งาน
คุณจะได้รับข้อผิดพลาดเมื่อเรียกใช้ API ที่เลิกใช้งานแล้วหลังจากวันที่ 29 กันยายน 2027
ผู้ใช้ใหม่จะเริ่มต้นใช้งาน API/ฟีเจอร์ที่เลิกใช้งานแล้วก่อนที่จะหยุดให้บริการได้ไหม
ผู้ใช้ใหม่สามารถเริ่มต้นใช้งาน API/ฟีเจอร์ที่เลิกใช้งานแล้วได้ก่อนวันที่ 1 มกราคม 2027
หลังจากวันที่ 1 มกราคม 2027 ผู้ใช้ใหม่จะไม่สามารถใช้ API ที่เลิกใช้งานแล้วได้
ผู้ใช้ที่ใช้ API ที่เลิกใช้งานแล้วจะยังคงใช้ API ดังกล่าวต่อไปได้จนถึงวันที่ 29 กันยายน 2027