| اختيار المنصة: | 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". قد يتم حذف الرسائل للأسباب التالية:
عدد كبير جدًا من الرسائل المخزّنة على خادم FCM
يمكن أن يحدث ذلك عندما ترسل خوادم أحد التطبيقات مجموعة من الرسائل غير القابلة للطي إلى FCM خوادم أثناء عدم اتصال الجهاز بالإنترنت.
لم يتصل الجهاز بالإنترنت لفترة طويلة، وأرسل خادم التطبيق مؤخرًا (خلال آخر 4 أسابيع) رسالة إلى التطبيق على هذا الجهاز.
يُنصح بأن يُجري التطبيق مزامنة كاملة مع خادم التطبيق بعد تلقّي هذا الطلب.
الحدث "إرسال"
يتم استدعاؤه عند إرسال رسالة إلى خادم FCM بنجاح FCM.
MessageType سيكون "send_event".
خطأ في الإرسال
يتم استدعاؤه عند حدوث خطأ في إرسال رسالة إلى خادم FCM.
MessageType سيكون "send_error".