รับข้อความโดยใช้ Firebase Cloud Messaging

คู่มือนี้อธิบายวิธีตั้งค่า Firebase Cloud Messaging ในแอปไคลเอ็นต์บนอุปกรณ์เคลื่อนที่และเว็บ เพื่อให้คุณรับข้อความได้อย่างน่าเชื่อถือ

หากต้องการรับข้อความ แอปของคุณต้องกำหนดการเรียกกลับให้กับตัวแฮนเดิลเหตุการณ์ Firebase.Messaging.FirebaseMessaging.MessageReceived

MessageReceived เหตุการณ์

การลบล้างการกำหนดการโทรกลับไปยัง Firebase.Messaging.FirebaseMessaging.MessageReceived จะช่วยให้คุณดำเนินการตามข้อความที่ได้รับและรับข้อมูล ข้อความได้

public void OnMessageReceived(object sender, Firebase.Messaging.MessageReceivedEventArgs e) {
  UnityEngine.Debug.Log("From: " + e.Message.From);
  UnityEngine.Debug.Log("Message ID: " + e.Message.MessageId);
}

ข้อความอาจแสดงข้อมูลขาเข้าประเภทต่างๆ โดยส่วนใหญ่ ข้อความจะส่งไปยังแอปหลังจากที่นักพัฒนาแอปเริ่มส่ง นอกจากนี้ ระบบยังส่งข้อความไปยังแอปเพื่อแสดงเหตุการณ์ข้อความที่ส่ง ข้อผิดพลาดในการส่งข้อความ และเหตุการณ์ข้อความที่ถูกลบด้วย คุณสามารถแยกความแตกต่างของกิจกรรมพิเศษเหล่านี้ได้โดยดูที่ช่อง Message::message_type

ลบข้อความแล้ว

ส่งไปยังแอปเมื่อเซิร์ฟเวอร์ FCM ลบข้อความที่รอดำเนินการ Message::message_type จะเป็น "deleted_messages" ระบบอาจลบข้อความเนื่องจากสาเหตุต่อไปนี้

  1. มีข้อความจำนวนมากเกินไปที่จัดเก็บไว้ในเซิร์ฟเวอร์ FCM

    ปัญหานี้อาจเกิดขึ้นเมื่อเซิร์ฟเวอร์ของแอปส่งข้อความที่ยุบไม่ได้จำนวนมาก ไปยังเซิร์ฟเวอร์ FCM ขณะที่อุปกรณ์ออฟไลน์อยู่

  2. อุปกรณ์ไม่ได้เชื่อมต่อมาเป็นเวลานาน และเซิร์ฟเวอร์ของแอปได้ ส่งข้อความไปยังแอปในอุปกรณ์นั้นเมื่อเร็วๆ นี้ (ภายใน 4 สัปดาห์ที่ผ่านมา)

    ขอแนะนำให้แอปทำการซิงค์เต็มรูปแบบกับเซิร์ฟเวอร์ของแอป หลังจากได้รับการเรียกนี้

ส่งเหตุการณ์

เรียกใช้เมื่อส่งข้อความต้นทางไปยัง FCM สำเร็จแล้ว MessageType จะเป็น "send_event"

ส่งข้อผิดพลาด

เรียกใช้เมื่อเกิดข้อผิดพลาดในการส่งข้อความต้นทาง MessageType จะเป็น "send_error"