تعني الرسالة غير القابلة للطي أنّه يتم تسليم كل رسالة على حدة إلى الجهاز. وتقدّم الرسالة غير القابلة للطي بعض المحتوى المفيد. في المقابل، يمكن أن تكون الرسالة القابلة للطي مثل "إشارة" خالية من المحتوى يتم إرسالها إلى تطبيق على الأجهزة الجوّالة للاتصال بالخادم وجلب البيانات.
من حالات الاستخدام النموذجية للرسائل غير القابلة للطي رسائل المحادثة أو الرسائل المهمة. بالنسبة إلى Android، هناك حدّ أقصى يبلغ 100 رسالة يمكن تخزينها بدون طيّها. وفي حال بلوغ هذا الحدّ، يتم تجاهل جميع الرسائل المخزّنة. عندما يعود الجهاز إلى الإنترنت، يتلقّى رسالة خاصة تشير إلى أنّه تم بلوغ الحدّ الأقصى. يمكن للتطبيق بعد ذلك التعامل مع الموقف من خلال طلب مزامنة كاملة عادةً من خادم التطبيق.
الرسالة القابلة للطي هي رسالة قد يتم استبدالها برسالة جديدة إذا لم يتم تسليمها بعد إلى الجهاز.
من حالات الاستخدام الشائعة للرسائل القابلة للطي الرسائل المستخدَمة لإخبار تطبيق على الأجهزة الجوّالة بمزامنة البيانات من الخادم. على سبيل المثال، يمكن أن يكون تطبيقًا رياضيًا يزوّد المستخدمين بأحدث النتائج. الرسالة الأخيرة فقط هي ذات الصلة.
لتصنيف رسالة بأنّها قابلة للطي على Android، عليك تضمين المَعلمة
collapse_key في
حمولة الرسالة. بشكلٍ تلقائي، يكون مفتاح الطيّ هو اسم حزمة التطبيق المسجَّل في الـ Firebase console. يمكن للخادم FCM تخزين أربع رسائل مختلفة قابلة للطي في الوقت نفسه لكل جهاز، ولكل منها مفتاح طيّ مختلف. إذا تجاوزت هذا العدد،
FCM يحتفظ
بأربعة مفاتيح طيّ فقط، بدون تحديد العوامل التي تحدّد المفاتيح التي يتم الاحتفاظ بها.
تكون رسائل المواضيع التي لا تتضمّن حمولة قابلة للطي بشكلٍ تلقائي. تكون رسائل الإشعارات قابلة للطي دائمًا وسيتم تجاهل المَعلمة collapse_key.
ما هي الرسائل التي يجب استخدامها؟
الرسائل القابلة للطي هي الخيار المفضّل من ناحية الأداء، شرط ألا يحتاج تطبيقك إلى استخدام رسائل غير قابلة للطي. ومع ذلك، إذا كنت تستخدم رسائل قابلة للطي، تذكَّر أنّ FCM لا يسمح إلا باستخدام أربعة مفاتيح طيّ مختلفة كحدّ أقصى لكل FCM رمز تسجيل في أي وقت.
| سيناريو الاستخدام | كيفية الإرسال | |
|---|---|---|
| غير قابلة للطي | كل رسالة مهمة لتطبيق العميل ويجب تسليمها. | باستثناء رسائل الإشعارات، تكون جميع الرسائل غير قابلة للطي بشكلٍ تلقائي. |
| قابلة للطي | عندما تكون هناك رسالة أحدث تجعل رسالة قديمة ذات صلة غير مهمة لتطبيق العميل، FCM يستبدل الرسالة القديمة. على سبيل المثال: رسائل الإشعارات القديمة | اضبط المَعلمة المناسبة في طلب الرسالة:
|