تلقّي الرسائل في تطبيقات Unity

اختيار المنصة: iOS+ Android Web Flutter Unity C++


لتلقّي الرسائل، يجب أن يخصّص تطبيقك معاودة الاتصال لمعالج الحدث 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 بنجاح FCM. MessageType سيكون "send_event".

خطأ في الإرسال

يتم استدعاؤه عند حدوث خطأ في إرسال رسالة إلى خادم FCM. MessageType سيكون "send_error".