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

اختيار المنصة: iOS+ Android الويب 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. سيصبح سعر اشتراك "MessageType"‏ ‎"send_event".

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

يتم استدعاء هذه الطريقة عند حدوث خطأ أثناء إرسال رسالة من الجهاز إلى الخادم. سيصبح سعر اشتراك "MessageType"‏ ‎"send_error".