| اختيار المنصة: | iOS+ Android الويب Flutter Unity C++ |
لتلقّي الرسائل من الخادم إلى العميل، يحتاج كل تطبيق عميل إلى تنفيذ الطرق
في واجهة برمجة التطبيقات
firebase::messaging::Listener.
إعداد FCM
قبل استخدام FCM للوصول إلى الرمز المميّز للتسجيل أو تلقّي الرسائل، يجب إعداده.
لتهيئة FCM، يمكنك استدعاء
::firebase::messaging::Initialize
وتزويده بكائن ::firebase::App
بالإضافة إلى تنفيذ فئة
::firebase::messaging::Listener.
MyListener my_listener_implementation;
::firebase::messaging::Initialize(app, &my_listener_implementation);
الوصول إلى رمز التسجيل المميّز
عند بدء تشغيل تطبيقك لأول مرة، تنشئ حزمة تطوير البرامج (SDK) لخدمة FCM رمزًا مميزًا للتسجيل لنسخة تطبيق العميل. إذا أردت استهداف أجهزة فردية أو إنشاء مجموعات أجهزة لـ "FCM"، عليك الوصول إلى هذا الرمز المميّز.
يمكنك الوصول إلى قيمة الرمز المميّز من خلال الدالة الافتراضية
::firebase::messaging::Listener::OnTokenReceived.
void OnTokenReceived(const char* token) {
LogMessage("The registration token is `%s`", token);
// TODO: If necessary send token to application server.
}
تلقّي الرسائل ومعالجتها
لتلقّي الرسائل، يجب أن تنفّذ فئة Listener الدالة الافتراضية
OnMessage.
إلغاء OnMessage
من خلال إلغاء الطريقة ::firebase::messaging::Listener::OnMessage،
يمكنك تنفيذ إجراءات استنادًا إلى الرسالة المستلَمة والحصول على بيانات
الرسالة:
void OnMessage(const ::firebase::messaging::Message& message) {
LogMessage(TAG, "From: %s", message.from.c_str());
LogMessage(TAG, "Message ID: %s", message.message_id.c_str());
}
يمكن أن تمثّل الرسائل أنواعًا مختلفة من البيانات الواردة. في أغلب الأحيان، يتم إرسال الرسائل إلى التطبيق بعد أن يبدأها المطوّر. يتم أيضًا إرسال الرسائل إلى تطبيقك لتمثيل أحداث الرسائل المُرسَلة وأحداث أخطاء إرسال الرسائل وأحداث الرسائل المحذوفة. يمكن تمييز هذه الأحداث الخاصة من خلال التحقّق من حقل Message::message_type.
تم حذف الرسائل
يتم إرسالها إلى تطبيقك عندما يحذف خادم FCM الرسائل في انتظار المراجعة.
سيصبح سعر اشتراك "Message::message_type" "deleted_messages". قد يتم حذف الرسائل
بسبب:
تم تخزين عدد كبير جدًا من الرسائل على خادم FCM.
يمكن أن يحدث ذلك عندما ترسل خوادم أحد التطبيقات مجموعة من الرسائل غير القابلة للتصغير إلى خوادم FCM عندما يكون الجهاز غير متصل بالإنترنت.
لم يتصل الجهاز بالإنترنت منذ فترة طويلة، وأرسل خادم التطبيق مؤخرًا (خلال آخر 4 أسابيع) رسالة إلى التطبيق على هذا الجهاز.
ننصح بأن يُجري التطبيق مزامنة كاملة مع خادم التطبيق بعد تلقّي هذا الطلب.