تلقي الرسائل على تطبيق عميل 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.
}

استلام الرسائل ومعالجتها

لتلقّي الرسائل، يجب أن تنفّذ فئة المستمع 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". قد يتم حذف الرسائل بحلول موعد التسليم إلى:

  1. تم تخزين عدد كبير جدًا من الرسائل على خادم FCM.

    يمكن أن يحدث هذا عندما ترسل خوادم التطبيق مجموعة من الملفات غير القابلة للتصغير الرسائل إلى خوادم "FCM" عندما يكون الجهاز غير متصل بالإنترنت.

  2. لم يكن الجهاز متصلاً منذ فترة طويلة وهناك خادم التطبيق تم مؤخرًا (خلال آخر 4 أسابيع) إرسال رسالة إلى التطبيق بشأن الخاص بك.

    ننصح بإجراء مزامنة كاملة للتطبيق مع التطبيق الخادم بعد تلقي هذه المكالمة.