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