لديك خياران لتعيين أولوية التسليم للرسائل التي تلي ذلك على Android: أولوية عادية وعالية. تسليم الرسائل ذات الأولوية العادية والرسائل ذات الأولوية العالية النحو التالي:
أولوية عادية: هذه هي الأولوية الافتراضية رسائل البيانات. يتم تسليم الرسائل ذات الأولوية العادية على الفور عندما لا يكون الجهاز في وضع السكون. عندما يكون الجهاز في وضع القيلولة، قد يتم تسليم الجهاز للحفاظ على البطارية إلى أن يخرج الجهاز من النعاس. بالنسبة إلى الرسائل الأقل حساسية للوقت، مثل الإشعارات بالبريد الإلكتروني الجديد أو الحفاظ على مزامنة واجهة المستخدم أو مزامنة بيانات التطبيق في الخلفية، اختر أولوية التسليم العادية.
عند الحصول على أولوية عادية في Android تطلب مزامنة بيانات الخلفية لتطبيقك، يمكنك جدولة مهمة ما باستخدام WorkManager لمعالجة هذه العملية عند توفُّر الشبكة.
أولوية عالية: تحاول "FCM" منح أولوية عالية الرسائل على الفور، مع السماح لـ "FCM" بتنشيط جهاز وضع السكون عند وتشغيل بعض المعالجة المحدودة (بما في ذلك الشبكة المحدودة للغاية الوصول). يجب أن تؤدي الرسائل ذات الأولوية العالية بشكل عام إلى تفاعل من المستخدم. مع التطبيق أو إشعاراته.
التعامل مع الرسائل وخفض الأولوية في استخدامها على Android
إنّ الرسائل ذات الأولوية العالية على Android مخصّصة للرسائل ذات طبيعة حساسة وظاهرة للمستخدم. المحتوى، وينبغي أن ينتج عنها إشعارات موجَّهة للمستخدمين. إذا FCM يحدد نمطًا لا تؤدي فيه الرسائل إلى ظهور إشعارات موجَّهة للمستخدمين، قد لا يتم إعطاء الأولوية لرسائلك إلى الأولوية العادية أو تفويضها. لتتم معالجتها بواسطة "خدمات Google Play".
تستخدم FCM 7 أيام. لسلوك الرسالة عند تحديد ما إذا كان ينبغي إعطاء الأولوية أو الوكيل الرسائل؛ فإنها تحدد هذا القرار بشكل مستقل لكل حالة من التطبيق. استجابة للرسائل ذات الأولوية العالية، إذا كانت الإشعارات بطريقة تظهر للمستخدم، فعندئذٍ ستكون الأولوية القصوى لن تتأثر الرسائل.
تفويض الإشعارات باستخدام "خدمات Google Play"
رسائل الإشعارات ذات الأولوية العالية (وليس رسائل البيانات) التي تستوفي معلومات محدّدة تنشئ "خدمات Google Play" معايير محدّدة بدلاً من خفضها من الأولوية. وهذا يعني أنّه يتم عرض الإشعارات بواسطة خدمات Google Play على نيابةً عن التطبيق، دون الحاجة إلى تشغيله. يتم ذلك لتوفير تجربة مستخدم أفضل بشكل عام على أجهزة Android.
تجدر الإشارة إلى أنّ رسائل الإشعارات التي يتم إرسالها عبر خادم وكيل تقدّم تغييرات في طريقة عمل الإحصاءات المتعلقة بالرسائل التي يتم استلامها:
- من أجل التحليلات للإبلاغ عن الإشعارات التي يتم إرسالها عبر خادم وكيل، يجب أن يستخدم تطبيقك إصدار حزمة تطوير البرامج (SDK) لخدمة "المراسلة عبر السحابة الإلكترونية من Firebase". 24.0.0 أو أحدث.
- وقد تلاحظ تأخيرات أو انخفاضات في عدد عدد الرسائل المُستلَمة مقابل عدد الرسائل التي تم تلقّيها قبل بدء استخدام خادم وكيل الإشعارات. وذلك لأن تحليلات الإشعارات التي تم إنشاء خادم وكيل لها تكون فقط يتم الإبلاغ عنه عند بدء تشغيل التطبيق، وقد لا يتم الإبلاغ عنه على الإطلاق إذا لا يؤدي الإشعار إلى فتح التطبيق.
إنّ إنشاء خوادم وكيلة لرسائل الإشعارات بهذه الطريقة هو السلوك التلقائي للتطبيقات. يستخدمون Android Q+ والإصدار 19054000 أو إصدار أحدث من خدمات Google Play. الرسائل يتم إنشاء خادم وكيل مع الرسائل المرسلة من خلال واجهة برمجة التطبيقات HTTP v1 API، ولكن الرسائل المرسلة من خلال Firebase وحدة التحكم أو واجهات برمجة التطبيقات القديمة لن يتم إنشاء خادم وكيل لها. لاحظ أن هذه الميزة في إصدار تجريبي حاليًا، وتخضع للتغيير.
ومع ذلك، فإننا ننصح بشدة بترك ميزة التفويض مفعَّلة للاستفادة من مزاياها في بطارية الجهاز وذاكرة الجهاز، يمكنك إيقاف هذا السلوك في أي من هذه الطرق:
- على مستوى التطبيق: أضِف التوجيه
<meta-data android:name= "delivery_metrics_exported_to_big_query_enabled" android:value="false"/>
في بيان التطبيق. - على أساس مثيل التطبيق: على مثيل التطبيق، اضبط
fun setNotificationDelegationEnabled(disable: Boolean): Task<Void!>
في مسار واجهة المستخدم لتطبيقك، بناءً على حالة الاستخدام المحددة. - على أساس كل رسالة: اضبط مفتاح
proxy
علىDENY
في كائنAndroidNotification
لطلب الإرسال.
قياس عدم أولوية الرسائل على Android
الرسائل الفردية: عند التسليم، يمكنك تحديد ما إذا كان قد تم خفض أولوية رسالة فردية أم لا من خلال مقارنة الأولوية التي تم تقديمها، من getPriority()، باستخدام الأولوية، من getOriginalPriority().
جميع الرسائل: FCM Aggregate Delivery Data API يمكنه الإبلاغ عن النسبة المئوية لجميع رسائلك إلى Android تقليل الأولوية. قد يتم حذف بعض الرسائل من تقارير البيانات المجمّعة، ولكن بشكل عام، يجب أن توفر نظرة عامّة على معدّلات خفض أولوية الرسائل. اطّلِع على مقالتنا عن بيانات التسليم المجمَّعة للحصول على مزيد من المعلومات ورمز النموذج لإرسال طلبات بحث عن واجهة برمجة التطبيقات يمكن استكشافه أيضًا من مستكشف واجهات برمجة التطبيقات
الإشعارات عبر خادم وكيل: لن يتم احتساب الإشعارات التي يتم إرسالها عبر خادم وكيل في مقاييس التسليم الحالية في خدمة "المراسلة عبر السحابة الإلكترونية من Firebase" أو "إحصاءات Google"، لذا قد تواجه انخفاضًا يصل إلى% 15 في مقاييس إرسال الإشعارات. بالنسبة إعداد التقارير عن الرسائل التي يتم إنشاء وكيل لها، واستخدام FCM Aggregate Delivery Data API: يبلغ
ProxyNotificationInsightPercents
عن النسبة المئوية بنجاح الإشعارات التي تم إنشاء وكيل لها بالإضافة إلى تفاصيل الرسائل التي تعذر تم إنشاء وكيل بنجاح.
تحديد المشاكل وحلّها
تأكَّد من تفعيل الإشعارات في مثيل التطبيق. وإذا أوقف المستخدم إذن إرسال الإشعارات لتطبيقك، لن يتم نشر أي من إشعاراتك، ونتيجةً لذلك، لن تمنح رسائلك الأولوية. يجب التحقُّق من تفعيل الإشعارات قبل إرسال الرسائل ذات الأولوية العالية إلى مثيل التطبيق.
لا تتصل بالمنزل قبل نشر إشعار. ولأنّ جزءًا صغيرًا من مستخدمي أجهزة Android على شبكات ذات وقت استجابة طويل، تجنَّب فتح اتصال بخوادمك قبل عرض إشعار. يعود الاتصال بالخادم قبل نهاية قد يشكل وقت المعالجة المسموح به خطرًا على المستخدمين الذين يستخدمون شبكات ذات وقت استجابة طويل. بدلاً من ذلك، قم بتضمين محتوى الإشعار في رسالة FCM وعرضه في الحال. إذا كنت بحاجة لمزامنتها مع محتوى إضافي داخل التطبيق على Android، يمكنك جدولة مهمة باستخدام WorkManager للتعامل مع ذلك في الخلفية.