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