ด้วย FCM คุณจะส่งข้อความ 2 ประเภทไปยังแอปไคลเอ็นต์ได้ ดังนี้
- ข้อความแจ้งเตือนจะได้รับการจัดการโดย FCM SDK โดยอัตโนมัติเช่นเดียวกับ "ข้อความที่แสดง"
 - ข้อความข้อมูลซึ่งแอปไคลเอ็นต์จัดการ
 
ข้อความการแจ้งเตือนมีชุดคีย์ที่ผู้ใช้มองเห็นซึ่งกำหนดไว้ล่วงหน้า และอาจมีเพย์โหลดข้อมูลที่ไม่บังคับ ในทางตรงกันข้าม ข้อความข้อมูลจะมีเฉพาะคู่คีย์-ค่าที่กำหนดเองซึ่งคุณกำหนดไว้เท่านั้น เพย์โหลดสูงสุดสำหรับข้อความทั้ง 2 ประเภทคือ 4096 ไบต์ ยกเว้นเมื่อส่งข้อความจากคอนโซล Firebase ซึ่งจำกัดอักขระไว้ที่ 1,000 ตัว
| ใช้สถานการณ์ | วิธีส่ง | |
|---|---|---|
| ข้อความแจ้งเตือน | FCM SDK จะแสดงข้อความในอุปกรณ์ของผู้ใช้ปลายทาง ในนามของแอปไคลเอ็นต์เมื่อทำงานในเบื้องหลัง ไม่เช่นนั้น หากแอปทำงานอยู่เบื้องหน้าเมื่อได้รับการแจ้งเตือน โค้ดของแอปจะเป็นตัวกำหนดลักษณะการทำงาน | 
    
  | 
  
| ข้อความข้อมูล | แอปไคลเอ็นต์มีหน้าที่รับผิดชอบในการประมวลผลข้อความข้อมูล ข้อความข้อมูล มีเฉพาะคู่คีย์-ค่าที่กำหนดเองโดยไม่มีชื่อคีย์ที่สงวนไว้ (ดูด้านล่าง) | ในสภาพแวดล้อมที่เชื่อถือได้ เช่น 
      Cloud Functions
    หรือเซิร์ฟเวอร์แอป ให้ใช้
    Firebase Admin SDK หรือ
    HTTP v1 API
    ในคำขอส่ง ให้ตั้งค่าคีย์ data
     | 
  
คุณสามารถใช้ข้อความแจ้งเตือนเมื่อต้องการให้ FCM SDK จัดการ การแสดงการแจ้งเตือนโดยอัตโนมัติเมื่อแอปทำงานใน เบื้องหลัง FCM สามารถส่งข้อความแจ้งเตือนพร้อมเพย์โหลดข้อมูล (ไม่บังคับ) ในกรณีดังกล่าว FCM จะแสดงเพย์โหลดการแจ้งเตือน และแอปไคลเอ็นต์จะจัดการเพย์โหลดข้อมูล
คุณสามารถใช้ข้อความข้อมูลเมื่อต้องการประมวลผลข้อความด้วยโค้ดแอปไคลเอ็นต์ของคุณเอง
ข้อความแจ้งเตือน
คุณสามารถส่งข้อความแจ้งเตือนได้โดยใช้Firebase คอนโซล, Firebase Admin SDK หรือ FCM HTTP v1 API Firebase คอนโซลมีการทดสอบ A/B ที่อิงตามข้อมูลวิเคราะห์เพื่อช่วยให้คุณ ปรับแต่งและปรับปรุงข้อความแจ้งเตือน
หากต้องการส่งข้อความแจ้งเตือนโดยใช้ Firebase Admin SDK หรือ FCM
HTTP v1 API ให้ตั้งค่าคีย์ notification ด้วยชุดตัวเลือกคู่คีย์-ค่าที่กำหนดไว้ล่วงหน้า
ของข้อความแจ้งเตือน คุณใช้ตัวอย่างต่อไปนี้เพื่อจัดรูปแบบ
ข้อความแจ้งเตือนในแอป IM ได้
{
  "message":{
    "token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
    "notification":{
      "title":"Portugal vs. Denmark",
      "body":"great match!"
    }
  }
}
ระบบจะส่งข้อความแจ้งเตือนไปยังถาดการแจ้งเตือนเมื่อแอปทำงานอยู่เบื้องหลัง สำหรับแอปที่ทำงานอยู่เบื้องหน้า ฟังก์ชันเรียกกลับจะจัดการข้อความ
คุณสามารถใช้เอกสารอ้างอิงออบเจ็กต์การแจ้งเตือน FCM HTTP v1 API เพื่อดูรายการคีย์ที่กำหนดไว้ล่วงหน้าทั้งหมดที่ใช้สร้าง ข้อความแจ้งเตือนได้
ข้อความข้อมูล
คุณเลือกได้ว่าจะใช้เพย์โหลด FCM data เพื่อใช้รูปแบบการเข้ารหัสที่คุณเลือกอย่างไร ตรวจสอบว่าคุณไม่ได้ใช้คำที่สงวนไว้ในคู่คีย์-ค่าที่กำหนดเอง
 คำที่สงวนไว้ ได้แก่ from, message_type หรือ
คำที่ขึ้นต้นด้วย google., gcm. หรือ gcm.notification.
ตัวอย่างต่อไปนี้แสดงการใช้งานฟิลด์ข้อมูลระดับบนสุดหรือฟิลด์ข้อมูลทั่วไป ซึ่งไคลเอ็นต์จะตีความในทุกแพลตฟอร์มที่ได้รับข้อความ ในแต่ละ แพลตฟอร์ม แอปไคลเอ็นต์จะได้รับเพย์โหลดข้อมูลในฟังก์ชันการเรียกกลับ
{
  "message":{
    "token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
    "data":{
      "Nick" : "Mario",
      "body" : "great match!",
      "Room" : "PortugalVSDenmark"
    }
  }
}
ข้อความแจ้งเตือนที่มีเพย์โหลดข้อมูลที่ไม่บังคับ
คุณสามารถส่งข้อความแจ้งที่มีเพย์โหลดคู่คีย์-ค่าที่กำหนดเอง (ไม่บังคับ) ได้โดยใช้โปรแกรมหรือใช้Firebaseคอนโซล ในเครื่องมือแต่งการแจ้งเตือน ให้ใช้ช่องข้อมูลที่กำหนดเองในตัวเลือกขั้นสูง
ลักษณะการทำงานของแอปเมื่อได้รับข้อความที่มีทั้งการแจ้งเตือนและเพย์โหลดข้อมูล จะขึ้นอยู่กับว่าแอปทำงานในเบื้องหลังหรือเบื้องหน้า กล่าวคือ ขึ้นอยู่กับว่าแอปทำงานอยู่หรือไม่ในขณะที่ได้รับข้อความ
- เมื่ออยู่ในเบื้องหลัง แอปจะได้รับเพย์โหลดการแจ้งเตือนในถาดการแจ้งเตือน และจะจัดการเพย์โหลดข้อมูลเฉพาะเมื่อผู้ใช้แตะการแจ้งเตือน
 - เมื่ออยู่ในเบื้องหน้า แอปจะได้รับออบเจ็กต์ข้อความ ที่มีทั้งเพย์โหลด
 
นี่คือข้อความในรูปแบบ JSON ที่มีทั้งคีย์ notification และคีย์ data
{
  "message":{
    "token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
    "notification":{
      "title":"Portugal vs. Denmark",
      "body":"great match!"
    },
    "data" : {
      "Nick" : "Mario",
      "Room" : "PortugalVSDenmark"
    }
  }
}