เอกสารนี้ระบุข้อมูลอ้างอิงสำหรับไวยากรณ์ XMPP ที่ใช้ในการส่ง ข้อความระหว่างเซิร์ฟเวอร์แอป แอปไคลเอ็นต์ และการรับส่งข้อความในระบบคลาวด์ของ Firebase (FCM) เซิร์ฟเวอร์แอปของคุณต้องเชื่อมต่อกับปลายทางต่อไปนี้
// Production fcm-xmpp.googleapis.com:5235 // Testing fcm-xmpp.googleapis.com:5236
พารามิเตอร์ที่ใช้ได้และ จะอยู่ในหมวดหมู่ต่อไปนี้
- ไวยากรณ์ข้อความดาวน์สตรีม
- โค้ดตอบกลับข้อผิดพลาดของข้อความดาวน์สตรีม
- ไวยากรณ์ข้อความอัปสตรีม
- ข้อความควบคุม FCM
ไวยากรณ์ข้อความดาวน์สตรีม
ส่วนนี้จะแสดงไวยากรณ์สำหรับการส่งข้อความดาวน์สตรีม
ข้อความ XMPP ดาวน์สตรีม (JSON)
ตารางต่อไปนี้แสดงเป้าหมาย ตัวเลือก และเพย์โหลดสำหรับ XMPP JSON ข้อความ
ตารางที่ 1 เป้าหมาย ตัวเลือก และเพย์โหลดสำหรับข้อความ XMPP ดาวน์สตรีม (JSON)
พารามิเตอร์ | การใช้งาน | คำอธิบาย | |
---|---|---|---|
เป้าหมาย | |||
to |
สตริง (ไม่บังคับ) |
พารามิเตอร์นี้จะระบุผู้รับข้อความ
ค่านี้อาจเป็นโทเค็นการลงทะเบียนของอุปกรณ์ หรือ
หรือหัวข้อเดียว (ขึ้นต้นด้วย
|
|
condition |
สตริง (ไม่บังคับ) | พารามิเตอร์นี้ระบุนิพจน์เชิงตรรกะของเงื่อนไข กำหนดเป้าหมายของข้อความ เงื่อนไขที่รองรับ: หัวข้อ ซึ่งมีรูปแบบเป็น "yourTopic" ในหัวข้อ" ช่วงเวลานี้ ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ โอเปอเรเตอร์ที่รองรับ: |
|
ตัวเลือก | |||
message_id |
ต้องระบุ สตริง | พารามิเตอร์นี้จะระบุข้อความในการเชื่อมต่อ XMPP โดยไม่ซ้ำกัน |
|
collapse_key |
สตริง (ไม่บังคับ) | พารามิเตอร์นี้เป็นตัวระบุกลุ่มข้อความ (เช่น โดยมี
และไม่รับประกันลำดับของการส่งข้อความ หมายเหตุ: อนุญาตให้มีคีย์ยุบได้สูงสุด 4 คีย์ในเวลาที่กำหนด ซึ่งหมายความว่า FCM สามารถจัดเก็บที่แตกต่างกัน 4 รายการพร้อมกัน ข้อความต่อแอปไคลเอ็นต์ หากคุณ เกินตัวเลขนี้ ไม่มีการรับประกันว่าคีย์ยุบ 4 คีย์สำหรับ FCM ใด จะเก็บไว้ |
|
priority |
สตริง (ไม่บังคับ) | กำหนดลำดับความสำคัญของข้อความ ค่าที่ถูกต้องคือ "ปกติ" และ "สูง" ในแพลตฟอร์ม Apple สิ่งเหล่านี้จะสอดคล้องกับลำดับความสำคัญของ APN ที่ 5 และ 10 โดยค่าเริ่มต้น ระบบจะส่งข้อความแจ้งเตือนที่มีลำดับความสำคัญสูง และส่งข้อความข้อมูล ส่งโดยมีลำดับความสำคัญปกติ ลำดับความสำคัญปกติจะเพิ่มประสิทธิภาพให้ สิ้นเปลืองแบตเตอรี่และควรใช้งานเว้นแต่จำเป็นต้องนำส่งทันที สำหรับข้อความที่มีลำดับความสำคัญปกติ แอปอาจได้รับข้อความที่มี ความล่าช้าที่ไม่ได้ระบุ เมื่อคุณส่งข้อความที่มีลำดับความสำคัญสูง ระบบจะส่งข้อความนั้นทันทีและแอป แสดงการแจ้งเตือนได้ |
|
content_available |
ไม่บังคับ บูลีน | ในแพลตฟอร์ม Apple ให้ใช้ช่องนี้เพื่อแสดง |
|
mutable_content |
ไม่บังคับ, JSON บูลีน | ในแพลตฟอร์ม Apple ให้ใช้ช่องนี้เพื่อแสดง
|
|
time_to_live |
ไม่บังคับ หมายเลข | พารามิเตอร์นี้จะระบุระยะเวลา (เป็นวินาที) ที่จะเก็บข้อความไว้ในพื้นที่เก็บข้อมูล FCM หากอุปกรณ์ออฟไลน์อยู่ Time to Live สูงสุดที่รองรับคือ 4 สัปดาห์และค่าเริ่มต้นคือ 4 สัปดาห์ ดูข้อมูลเพิ่มเติมได้ที่การตั้งค่าอายุการใช้งานของข้อความ |
|
dry_run |
ไม่บังคับ บูลีน | พารามิเตอร์นี้เมื่อตั้งค่าเป็น ค่าเริ่มต้นคือ |
|
เพย์โหลด | |||
data |
ไม่บังคับ ออบเจ็กต์ | พารามิเตอร์นี้ระบุคู่คีย์-ค่าสำหรับเพย์โหลดของข้อความ เช่น ในแพลตฟอร์ม Apple หากข้อความส่งโดย APN ข้อความนี้จะแสดงช่องข้อมูลที่กำหนดเอง ถ้า
FCM จะนำส่งคำสั่งซื้อดังกล่าว
จะแสดงเป็นพจนานุกรมคีย์-ค่าใน ใน Android การดำเนินการนี้จะทำให้มี Intent เพิ่มเติมที่ชื่อ คีย์ไม่ควรเป็นคำที่สงวนไว้ ("from", "message_type" หรือคำใดๆ ที่ขึ้นต้นด้วย
"google" หรือ "gcm") อย่าใช้คำใดๆ ที่ระบุไว้ในตารางนี้
(เช่น ขอแนะนำให้ใช้ค่าในประเภทสตริง คุณต้องแปลงค่าในออบเจ็กต์หรือประเภทข้อมูลที่ไม่ใช่สตริง (เช่น จำนวนเต็มหรือบูลีน) เป็นสตริง |
|
notification |
ไม่บังคับ ออบเจ็กต์ | พารามิเตอร์นี้ระบุคู่คีย์-ค่าที่กำหนดไว้ล่วงหน้าและที่ผู้ใช้มองเห็นของ
เพย์โหลดการแจ้งเตือน โปรดดูรายละเอียดเกี่ยวกับการรองรับเพย์โหลดการแจ้งเตือน หากต้องการดูข้อมูลเพิ่มเติม
เกี่ยวกับตัวเลือกข้อความการแจ้งเตือนและข้อความแจ้งข้อมูล โปรดดู
ประเภทข้อความ หากมีการระบุเพย์โหลดการแจ้งเตือน หรือ
ตั้งค่าตัวเลือก content_available เป็น true สำหรับข้อความที่ส่งถึง Apple
อุปกรณ์ ข้อความจะส่งผ่าน APN หรือไม่ก็ส่งผ่าน
FCM
|
การรองรับเพย์โหลดการแจ้งเตือน
ตารางต่อไปนี้แสดงรายการของ ซึ่งใช้ในการสร้างข้อความแจ้งเตือนสำหรับแพลตฟอร์ม Apple และ Android
ตาราง 2ก Apple — คีย์สำหรับข้อความแจ้งเตือน
พารามิเตอร์ | การใช้งาน | คำอธิบาย |
---|---|---|
title |
สตริง (ไม่บังคับ) |
ชื่อการแจ้งเตือน ฟิลด์นี้จะไม่ปรากฏบนโทรศัพท์และแท็บเล็ต |
body |
สตริง (ไม่บังคับ) |
ข้อความเนื้อหาของการแจ้งเตือน |
sound |
สตริง (ไม่บังคับ) |
เสียงที่จะเล่นเมื่ออุปกรณ์ได้รับการแจ้งเตือน
สตริงที่ระบุไฟล์เสียงในแพ็กเกจหลักของแอปไคลเอ็นต์หรือใน
|
badge |
สตริง (ไม่บังคับ) |
ค่าของป้ายในไอคอนแอปหน้าจอหลัก หากไม่ระบุ ป้ายดังกล่าวจะไม่เปลี่ยนแปลง
หากตั้งค่าเป็น |
click_action |
สตริง (ไม่บังคับ) |
การดำเนินการที่เชื่อมโยงกับผู้ใช้คลิกการแจ้งเตือน
ตรงกับ |
subtitle |
สตริง (ไม่บังคับ) |
คำบรรยายของการแจ้งเตือน |
body_loc_key |
สตริง (ไม่บังคับ) |
คีย์ในสตริงเนื้อหาในทรัพยากรสตริงของแอปที่จะใช้ แปลข้อความเนื้อหาเป็นการแปลเป็นภาษาปัจจุบันของผู้ใช้
ตรงกับ โปรดดู ข้อมูลอ้างอิงคีย์ของเพย์โหลดและ การแปลเนื้อหาของการแจ้งเตือนระยะไกลเพื่อดูข้อมูลเพิ่มเติม |
body_loc_args |
ไม่บังคับ อาร์เรย์ JSON เป็นสตริง |
ค่าสตริงตัวแปรที่จะใช้แทนตัวระบุรูปแบบใน
ตรงกับ โปรดดู ข้อมูลอ้างอิงคีย์ของเพย์โหลดและ การแปลเนื้อหาของการแจ้งเตือนระยะไกลเพื่อดูข้อมูลเพิ่มเติม |
title_loc_key |
สตริง (ไม่บังคับ) |
คีย์ของสตริงชื่อในทรัพยากรสตริงของแอปที่จะใช้ แปลข้อความชื่อตามการแปลเป็นภาษาปัจจุบันของผู้ใช้
ตรงกับ โปรดดู ข้อมูลอ้างอิงคีย์ของเพย์โหลดและ การแปลเนื้อหาของการแจ้งเตือนระยะไกลเพื่อดูข้อมูลเพิ่มเติม |
title_loc_args |
ไม่บังคับ อาร์เรย์ JSON เป็นสตริง |
ค่าสตริงตัวแปรที่จะใช้แทนตัวระบุรูปแบบใน
ตรงกับ โปรดดู ข้อมูลอ้างอิงคีย์ของเพย์โหลดและ การแปลเนื้อหาของการแจ้งเตือนระยะไกลเพื่อดูข้อมูลเพิ่มเติม |
ตาราง 2ข. Android — กุญแจสำหรับข้อความแจ้งเตือน
พารามิเตอร์ | การใช้งาน | คำอธิบาย |
---|---|---|
title |
สตริง (ไม่บังคับ) |
ชื่อการแจ้งเตือน |
body |
สตริง (ไม่บังคับ) |
ข้อความเนื้อหาของการแจ้งเตือน |
android_channel_id |
สตริง (ไม่บังคับ) |
รหัสช่องของการแจ้งเตือน (ใหม่ใน Android O) แอปต้องสร้างช่องโดยใช้รหัสช่องนี้ก่อนที่จะมีการแจ้งเตือนที่มีรหัสช่องนี้ ได้รับ หากคุณไม่ได้ส่งรหัสช่องนี้ในคำขอ หรือรหัสช่องที่ระบุยังไม่ได้รับการส่ง ซึ่ง FCM จะใช้รหัสแชแนลที่ระบุไว้ในไฟล์ Manifest ของแอป |
icon |
สตริง (ไม่บังคับ) |
ไอคอนการแจ้งเตือน
ตั้งค่าไอคอนการแจ้งเตือนเป็น |
sound |
สตริง (ไม่บังคับ) |
เสียงที่จะเล่นเมื่ออุปกรณ์ได้รับการแจ้งเตือน
รองรับ |
tag |
สตริง (ไม่บังคับ) |
ตัวระบุที่ใช้แทนที่การแจ้งเตือนที่มีอยู่ในการแจ้งเตือน ลิ้นชัก หากไม่ระบุ คำขอแต่ละรายการจะสร้างการแจ้งเตือนใหม่ หากระบุและการแจ้งเตือนที่มีแท็กเดียวกันอยู่แล้ว การแจ้งเตือนใหม่นี้จะแทนที่การแจ้งเตือนที่มีอยู่ใน ลิ้นชักการแจ้งเตือน |
color |
สตริง (ไม่บังคับ) |
สีไอคอนของการแจ้งเตือน ซึ่งแสดงในรูปแบบ |
click_action |
สตริง (ไม่บังคับ) |
การดำเนินการที่เชื่อมโยงกับผู้ใช้คลิกการแจ้งเตือน หากระบุไว้ กิจกรรมที่มีตัวกรอง Intent ตรงกันจะเปิดขึ้นเมื่อ ผู้ใช้คลิกการแจ้งเตือน |
body_loc_key |
สตริง (ไม่บังคับ) |
คีย์ในสตริงเนื้อหาในทรัพยากรสตริงของแอปที่จะใช้ แปลข้อความเนื้อหาเป็นการแปลเป็นภาษาปัจจุบันของผู้ใช้ โปรดดู แหล่งข้อมูลสตริงสำหรับข้อมูลเพิ่มเติม |
body_loc_args |
ไม่บังคับ อาร์เรย์ JSON เป็นสตริง |
ค่าสตริงตัวแปรที่จะใช้แทนตัวระบุรูปแบบใน
โปรดดู การจัดรูปแบบและการจัดรูปแบบสำหรับข้อมูลเพิ่มเติม |
title_loc_key |
สตริง (ไม่บังคับ) |
คีย์ของสตริงชื่อในทรัพยากรสตริงของแอปที่จะใช้ แปลข้อความชื่อตามการแปลเป็นภาษาปัจจุบันของผู้ใช้ โปรดดู แหล่งข้อมูลสตริงสำหรับข้อมูลเพิ่มเติม |
title_loc_args |
ไม่บังคับ อาร์เรย์ JSON เป็นสตริง |
ค่าสตริงตัวแปรที่จะใช้แทนตัวระบุรูปแบบใน
โปรดดู การจัดรูปแบบและการจัดรูปแบบสำหรับข้อมูลเพิ่มเติม |
ตาราง 2ค เว็บ (JavaScript) — คีย์สำหรับข้อความแจ้งเตือน
พารามิเตอร์ | การใช้งาน | คำอธิบาย |
---|---|---|
title |
สตริง (ไม่บังคับ) |
ชื่อการแจ้งเตือน |
body |
สตริง (ไม่บังคับ) |
ข้อความเนื้อหาของการแจ้งเตือน |
icon |
สตริง (ไม่บังคับ) |
URL ที่ใช้สำหรับไอคอนการแจ้งเตือน |
click_action |
สตริง (ไม่บังคับ) |
การดำเนินการที่เชื่อมโยงกับผู้ใช้คลิกการแจ้งเตือน ค่า URL ทั้งหมดต้องใช้ HTTPS |
ตีความการตอบกลับข้อความ XMPP ดาวน์สตรีม
ตารางต่อไปนี้แสดงฟิลด์ที่ปรากฏในการตอบกลับข้อความ XMPP ดาวน์สตรีม
ตารางที่ 3 เนื้อหาการตอบกลับ XMPP ของข้อความดาวน์สตรีม
พารามิเตอร์ | การใช้งาน | คำอธิบาย |
---|---|---|
from |
ต้องระบุ สตริง | พารามิเตอร์นี้จะระบุผู้ส่งคำตอบนี้ ค่านี้คือโทเค็นการลงทะเบียนของแอปไคลเอ็นต์ |
message_id |
ต้องระบุ สตริง | พารามิเตอร์นี้จะระบุข้อความในการเชื่อมต่อ XMPP โดยไม่ซ้ำกัน ค่านี้จะเป็นสตริงที่ระบุข้อความที่เกี่ยวข้องโดยไม่ซ้ำกัน |
message_type |
ต้องระบุ สตริง | พารามิเตอร์นี้ระบุข้อความ หากตั้งค่าเป็น |
error |
สตริง (ไม่บังคับ) | พารามิเตอร์นี้ระบุข้อผิดพลาดที่เกี่ยวข้องกับข้อความดาวน์สตรีม โดยจะตั้งค่าเมื่อ
message_type คือnack ดูรายละเอียดในตาราง 4 |
error_description |
สตริง (ไม่บังคับ) | พารามิเตอร์นี้จะให้ข้อมูลรายละเอียดของข้อผิดพลาด ตั้งค่าแล้ว
เมื่อmessage_type คือnack |
โค้ดตอบกลับข้อผิดพลาดของข้อความดาวน์สตรีม
ตารางต่อไปนี้แสดงโค้ดตอบกลับของข้อผิดพลาดสำหรับข้อความดาวน์สตรีม
ตาราง 4 รหัสการตอบกลับข้อผิดพลาดของข้อความดาวน์สตรีม
ข้อผิดพลาด | รหัส XMPP | การดำเนินการที่แนะนำ |
---|---|---|
ไม่มีโทเค็นการลงทะเบียน | INVALID_JSON |
ตรวจสอบว่าคำขอมีโทเค็นการลงทะเบียน (ใน
registration_id ในข้อความธรรมดา หรือในto
หรือ registration_ids ใน JSON) |
การลงทะเบียน APN ไม่ถูกต้อง | INVALID_JSON |
สำหรับการลงทะเบียน iOS ให้ตรวจสอบว่าคำขอลงทะเบียนจากไคลเอ็นต์มี โทเค็น APN และรหัสแอปพลิเคชันที่ถูกต้อง |
โทเค็นการลงทะเบียนไม่ถูกต้อง | BAD_REGISTRATION |
ตรวจสอบรูปแบบของโทเค็นการลงทะเบียนที่คุณส่งไปยังเซิร์ฟเวอร์ ตรวจสอบ ตรงกับโทเค็นการลงทะเบียนที่แอปไคลเอ็นต์ได้รับจากการลงทะเบียนกับ FCM ห้าม ตัดหรือเพิ่มอักขระอื่น |
อุปกรณ์ที่ไม่ได้ลงทะเบียน | DEVICE_UNREGISTERED |
โทเค็นการลงทะเบียนที่มีอยู่อาจใช้ไม่ได้ในบางสถานการณ์ ดังนี้
|
ผู้ส่งไม่ตรงกัน | SENDER_ID_MISMATCH |
โทเค็นการลงทะเบียนจะผูกกับกลุ่มผู้ส่งบางกลุ่ม เมื่อแอปของไคลเอ็นต์ลงทะเบียน สำหรับ FCM ต้องระบุผู้ส่งที่ได้รับอนุญาตให้ส่งข้อความ คุณควรใช้ข้อมูลโค้ด ของรหัสผู้ส่งเหล่านั้นเมื่อส่งข้อความถึงแอปไคลเอ็นต์ หากเปลี่ยนไปใช้ ผู้ส่ง โทเค็นการลงทะเบียนที่มีอยู่จะไม่ทำงาน |
JSON ไม่ถูกต้อง | INVALID_JSON |
ตรวจสอบว่าข้อความ JSON อยู่ในรูปแบบที่ถูกต้องและมีช่องที่ถูกต้อง (เช่น การส่งประเภทข้อมูลที่ถูกต้อง) |
ข้อความมีขนาดใหญ่เกินไป | INVALID_JSON |
ตรวจสอบว่าขนาดรวมของข้อมูลเพย์โหลดที่รวมอยู่ในข้อความ ไม่เกินขีดจำกัดของ FCM: 4096 ไบต์สำหรับข้อความส่วนใหญ่หรือ 2048 ไบต์ในกรณีที่ ของข้อความไปยังหัวข้อ ซึ่งรวมทั้ง คีย์และค่า |
คีย์ข้อมูลไม่ถูกต้อง | INVALID_JSON |
ตรวจสอบว่าข้อมูลเพย์โหลดไม่มีคีย์ (เช่น from ,
gcm หรือค่าใดก็ได้
นำหน้าด้วย google ) ที่ใช้ภายในโดย FCM โปรดทราบว่าคำบางคำ (เช่น collapse_key )
ก็ใช้โดย FCM เช่นกัน แต่จะอนุญาตในเพย์โหลด ซึ่งในกรณีนี้
ค่า FCM จะลบล้างค่าเพย์โหลด |
Time to Live ไม่ถูกต้อง | INVALID_JSON |
ตรวจสอบว่าค่าที่ใช้ใน time_to_live เป็นจำนวนเต็มที่แสดง
ระยะเวลาเป็นวินาทีระหว่าง 0 ถึง 2,419,200 (4 สัปดาห์) |
ข้อความ ACK ไม่ถูกต้อง | BAD_ACK |
ตรวจสอบว่าข้อความ ack อยู่ในรูปแบบที่ถูกต้องก่อนลองอีกครั้ง โปรดดู
ตาราง 6 เพื่อดูรายละเอียด |
ระยะหมดเวลา | SERVICE_UNAVAILABLE |
เซิร์ฟเวอร์ประมวลผลคำขอได้ไม่ทันเวลา ลองส่งคำขอเดิมอีกครั้ง แต่คุณต้องทำดังนี้
หมายเหตุ: ผู้ส่งที่ก่อให้เกิดปัญหาอาจเสี่ยงต่อการถูกขึ้นบัญชีดำ |
ข้อผิดพลาดภายในเซิร์ฟเวอร์ | INTERNAL_SERVER_
|
เซิร์ฟเวอร์พบข้อผิดพลาดขณะพยายามประมวลผลคำขอ คุณลองอีกครั้งได้ คำขอเดียวกันที่เป็นไปตามข้อกำหนดที่ระบุไว้ใน "ระยะหมดเวลา" (ดูแถวด้านบน) |
เกินอัตราข้อความในอุปกรณ์ | DEVICE_MESSAGE_RATE |
อัตราการส่งข้อความไปยังอุปกรณ์เครื่องใดเครื่องหนึ่งสูงเกินไป ลด จำนวนข้อความที่ส่งไปยังอุปกรณ์นี้ และจะไม่พยายามส่งไปยังอุปกรณ์นี้อีกครั้งในทันที |
เกินอัตราข้อความของหัวข้อ | TOPICS_MESSAGE_RATE |
อัตราการส่งข้อความไปยังผู้ติดตามในหัวข้อใดหัวข้อหนึ่งสูงเกินไป ลด จำนวนข้อความที่ส่งสำหรับหัวข้อนี้ และจะไม่ลองส่งอีกครั้งในทันที |
การระบายการเชื่อมต่อ | CONNECTION_DRAINING |
ประมวลผลข้อความไม่ได้เนื่องจากกำลังระบายการเชื่อมต่อ นั่นเป็นเพราะ FCM จำเป็นต้องปิดการเชื่อมต่อเป็นระยะๆ เพื่อทำการจัดสรรภาระงาน ลองส่งข้อความอีกครั้ง เชื่อมต่อ XMPP อีกครั้ง |
ข้อมูลเข้าสู่ระบบ APN ไม่ถูกต้อง | INVALID_APNS_CREDENTIAL |
ส่งข้อความที่กำหนดเป้าหมายไปยังอุปกรณ์ iOS ไม่ได้เนื่องจาก APN ที่จำเป็น คีย์การตรวจสอบสิทธิ์ไม่ได้อัปโหลดหรือหมดอายุแล้ว ตรวจสอบความถูกต้องของการพัฒนา และข้อมูลรับรองการผลิต |
ตรวจสอบสิทธิ์ไม่สำเร็จ | AUTHENTICATION_FAILED |
ไม่สามารถตรวจสอบสิทธิ์กับบริการพุชภายนอก ตรวจสอบว่าคุณใช้ ใบรับรองพุชจากเว็บที่ถูกต้อง |
ไวยากรณ์ข้อความอัปสตรีม
ข้อความอัปสตรีมคือข้อความที่แอปไคลเอ็นต์ส่งไปยังเซิร์ฟเวอร์ของแอป ปัจจุบันมีเพียง XMPP เท่านั้นที่รองรับการรับส่งข้อความอัปสตรีม โปรดดู ดูเอกสารประกอบสำหรับแพลตฟอร์มของคุณ ข้อมูลเกี่ยวกับการส่งข้อความจากแอปไคลเอ็นต์
การตีความข้อความ XMPP ต้นทาง
ตารางต่อไปนี้อธิบายฟิลด์ในกลุ่มข้อความ XMPP ที่สร้างขึ้น โดย FCM เพื่อตอบกลับคำขอข้อความอัปสตรีมจากแอปไคลเอ็นต์
ตารางที่ 5 ข้อความ XMPP ต้นทาง
พารามิเตอร์ | การใช้งาน | คำอธิบาย |
---|---|---|
from |
ต้องระบุ สตริง | พารามิเตอร์นี้จะระบุผู้ที่ส่งข้อความ ค่านี้คือโทเค็นการลงทะเบียนของแอปไคลเอ็นต์ |
category |
ต้องระบุ สตริง | พารามิเตอร์นี้ระบุชื่อแพ็กเกจแอปพลิเคชันของแอปไคลเอ็นต์ที่ส่งข้อความ |
message_id |
ต้องระบุ สตริง | พารามิเตอร์นี้ระบุรหัสที่ไม่ซ้ำกันของข้อความ |
data |
สตริง (ไม่บังคับ) | พารามิเตอร์นี้ระบุคู่คีย์-ค่าสำหรับเพย์โหลดของข้อความ |
กำลังส่งข้อความ ACK
ตารางต่อไปนี้อธิบายการตอบสนอง ACK ที่เซิร์ฟเวอร์ของแอปควรจะส่งไปให้ FCM เพื่อตอบสนองต่อ ข้อความอัปสตรีมที่เซิร์ฟเวอร์ของแอปได้รับ
ตารางที่ 6 การตอบกลับข้อความอัปสตรีม XMPP
พารามิเตอร์ | การใช้งาน | คำอธิบาย |
---|---|---|
to |
ต้องระบุ สตริง | พารามิเตอร์นี้จะระบุผู้รับข้อความตอบกลับ ค่าต้องเป็นโทเค็นการลงทะเบียนของแอปไคลเอ็นต์ที่ส่งข้อความอัปสตรีม |
message_id |
ต้องระบุ สตริง | พารามิเตอร์นี้จะระบุข้อความตอบกลับ ค่าต้องเป็น
ค่า message_id จากข้อความอัปสตรีมที่เกี่ยวข้อง |
message_type |
ต้องระบุ สตริง | พารามิเตอร์นี้ระบุข้อความ ack จากเซิร์ฟเวอร์แอปไปยัง CCS
สำหรับข้อความอัปสตรีม ควรตั้งค่าเป็น ack เสมอ |
ข้อความจากเซิร์ฟเวอร์ FCM (XMPP)
นี่คือข้อความที่ส่งจาก FCM ไปยังเซิร์ฟเวอร์ของแอป ต่อไปนี้คือข้อความประเภทหลักที่ FCM ส่งไปยังเซิร์ฟเวอร์ของแอป:
- การควบคุม: ข้อความ CCS เหล่านี้ระบุว่า เซิร์ฟเวอร์ของแอป
ตารางต่อไปนี้อธิบายช่องที่รวมอยู่ในข้อความ CCS ส่งไปยังเซิร์ฟเวอร์ของแอป
ตารางที่ 7 ข้อความควบคุม FCM (XMPP)
พารามิเตอร์ | การใช้งาน | คำอธิบาย |
---|---|---|
ช่องทั่วไป | ||
message_type |
ต้องระบุ สตริง | พารามิเตอร์นี้ระบุประเภทข้อความ: control เมื่อตั้งค่าเป็น |
control_type |
สตริง (ไม่บังคับ) | พารามิเตอร์นี้ระบุประเภทของข้อความควบคุมที่ส่งจาก FCM ปัจจุบันรองรับ |