إنّ تلقّي الرسائل بشكل موثوق هو الميزة الأكثر أهمية في أي تجربة مراسلة على Android. من المهم أيضًا تنفيذ المراسلة مع التركيز على سلامة النظام وعمر البطارية. يقدّم لك هذا المستند أهم الاستراتيجيات والأدوات لضمان تلقّي تطبيق Android للرسائل بشكل متّسق وفعّال وموثوق.
آليات تسليم الرسائل
يعتمد أفضل نهج للمراسلة الموثوقة على متطلبات تطبيقك المحددة. ومن المهم أخذ العوامل التالية في الاعتبار:
- الاحتياجات الحالية في الوقت الفعلي
- معدّل تكرار الرسائل
- قيود البطارية
المراسلة الفورية في المقدّمة
عندما يكون تطبيقك في المقدّمة، يتوقّع المستخدم عادةً الحصول على قدر كبير من المعلومات، ويريد معرفة أمور مثل:
- هل الشخص الذي تتم مراسلته موجود على جهازه؟
- هل يكتبون؟
- هل قرأوا الرسالة؟
الطريقة المعتادة لإتاحة هذا النوع من تبادل البيانات في الوقت الفعلي هي استخدام بروتوكول خادم العميل، مثل WebSockets. تتيح WebSockets الاتصال المستمر بالازدواج الكامل بين تطبيقك والخادم. تتضمّن مكتبة OKHTTP تنفيذًا لبروتوكول WebSocket يمكنك استخدامه في برنامج Android.
توفّر قاعدة بيانات Firebase في الوقت الفعلي واجهة خلفية مُعدّة مسبقًا وواجهة أمامية للعميل يمكنها التعامل مع هذا النوع من الاتصال نيابةً عنك. ويستخدم WebSockets داخليًا للتواصل في الوقت الفعلي بين العميل والخادم.
المراسلة في الوقت الفعلي في الخلفية
عندما لا يكون تطبيقك في المقدّمة، من المهم تجنُّب تنفيذ إجراءات تؤثر سلبًا في حالة النظام وعمر البطارية. بما أنّ إرسال إشعارات الرسائل بشكل موثوق لا يزال مهمًا، ننصحك باستخدام مراسلة Firebase السحابية (FCM).
FCM هو حلّ للمراسلة من عدّة منصات يرسل الإشعارات ورسائل البيانات بكفاءة إلى أجهزة Android (وغيرها). وتستفيد من "طبقة النقل في Android" (ATL) للأجهزة التي تتضمّن خدمات Google، بحيث يمكن إرسال إشعارات إلى تطبيقك بالتغييرات عندما لا يكون قيد التشغيل. يعتمد توقيت تسليم الرسائل على حالة الجهاز وأولوية الرسالة وما إذا كان تطبيقك يخضع لقيود بسبب وضع السكون أو تطبيقات وضع الاستعداد.
تحسين موثوقية تسليم الرسائل
لتعزيز فعالية تسليم الرسائل، يمكنك اتّباع الاستراتيجيات التالية:
- استخدِم
WorkManagerلتنشيط تطبيقك بشكل دوري للتحقّق من الرسائل الجديدة عندما يكون الجهاز متصلاً بالشبكة، و (من الأفضل) عندما يكون الجهاز متصلاً بشاحن. - يمكنك الحصول على إحصاءات حول عمليات التسليم في FCM باستخدام أدوات مثل وحدة تحكُّم Firebase ومقاييس التسليم في حزمة تطوير البرامج (SDK) لنظام التشغيل Android من واجهة برمجة التطبيقات FCM Data API.
- استخدِم آليات وأدوات التسجيل، مثل Firebase Crashlytics، لتتبُّع مشاكل تسليم الرسائل وتحديدها وحلّها.