استراتيجيات التحميل في ميزة "الإعداد عن بُعد في Firebase"

توفّر ميزة "الإعداد عن بُعد في Firebase" الكثير من المرونة من حيث طريقة ووقت استرجاع القيم الجديدة من الخادم وتفعيلها في تطبيقك، ما يتيح لك ضمان تقديم تجربة عالية الجودة للمستخدم من خلال التحكّم في توقيت أي تغييرات مرئية في الإعدادات. ويمكنك استرجاع قيم جديدة عند إطلاق التطبيق باستخدام fetchAndActivate()، واستخدام الإعداد عن بُعد في الوقت الفعلي كطريقة تكميلية لاسترجاع أحدث قيم المَعلمات تلقائيًا بعد نشر إصدار جديد من ميزة "الإعداد عن بُعد".

ويتناول هذا الدليل بعض استراتيجيات التحميل ويناقش الاعتبارات الرئيسية لتحديد الخيار الأفضل لتطبيقك.

الاستراتيجية 1: الجلب والتفعيل عند التحميل

في ظل هذه الاستراتيجية، يطلب تطبيقك من الرمز fetchAndActivate() عند بدء تشغيله لأول مرة لجلب قيم جديدة من ميزة "الإعداد عن بُعد" وتفعيلها فور اكتمال التحميل. يعمل هذا الأسلوب البسيط بشكل جيد لتغييرات التهيئة التي لا تسبب أي تغييرات مرئية كبيرة في واجهة المستخدم الخاصة بك. وينبغي تجنبه في أي موقف يمكن أن تتغير فيه واجهة المستخدم الخاصة بك بشكل ملحوظ أثناء استخدام المستخدمين لها.

بعد استدعاء تطبيقك للسمة fetchAndActivate()، يمكنه بدء الاستماع إلى تعديلات قيم المعلَمات في الوقت الفعلي من خلال استدعاء addOnConfigUpdateListener. تبدأ هذه الطريقة في الاستماع إلى أي تعديلات من جانب الخادم لقيم المعلَمات، وتجلبها تلقائيًا، ثم تستدعي المستمع. هناك استراتيجية بسيطة تتمثل في تنشيط القيم الجديدة لدى المستمع. وكما ذكرنا في fetchAndActivate()، يجب تجنُّب التفعيل الفوري لواجهات المستخدم الحساسة.

الاستراتيجية 2: تفعيل الميزة في الخلفية

كعلاج لمشكلة واجهة المستخدم المحتملة التي واجهتها في الاستراتيجية 1، يمكنك الاعتماد على شاشة التحميل. بدلاً من بدء تشغيل تطبيقك على الفور، اعرض شاشة تحميل واطلب الرقم fetchAndActivate في معالِج الإكمال. ثم بعد ذلك مباشرةً، باستخدام معاودة الاتصال أو الإشعار، أغلِق شاشة التحميل واسمح للمستخدم ببدء التفاعل مع تطبيقك.

في حال استخدام هذه الاستراتيجية، ننصحك بإضافة مهلة إلى شاشة التحميل. قد تكون مهلة دقيقة واحدة في ميزة "الإعداد عن بُعد" طويلة جدًا، ما يجعل تجربة بدء تشغيل التطبيق عالية الجودة للمستخدمين.

عند استدعاء "addOnConfigUpdateListener"، يمكنك الحصول على آخر أخبار "الإعداد عن بُعد" في الوقت الفعلي مع هذه الاستراتيجية. أضِف أداة الاستماع عند عرض شاشة التحميل، ثم استخدِم activate() عند نقطة واحدة أو أكثر في تطبيقك حيث لن تؤدّي قيم "الإعداد عن بُعد" إلى تغييرات مرئية كبيرة.

الاستراتيجية 3: تحميل قيم جديدة لبدء التشغيل التالي

تتمثل الإستراتيجية الفعالة في تحميل قيم إعداد جديدة لتنشيطها عند بدء تشغيل تطبيقك التالي. في إطار هذه الاستراتيجية، ينشط تطبيقك القيم التي تم جلبها عند بدء التشغيل قبل محاولة استرجاع قيم جديدة، وذلك على افتراض أنّه قد يكون قد سبق وجلب قيم ضبط جديدة، ولكن لم يفعّلها بعد. يكون ترتيب العمليات لهذه الإستراتيجية هو:

  1. عند بدء التشغيل، يمكنك على الفور تفعيل القيم التي تم استرجاعها سابقًا. وينطبق هذا على أي قيم قمت بتنزيلها من الخادم في جلسة سابقة، وتكون شبه فورية.
  2. أثناء تفاعل المستخدم مع تطبيقك، ابدأ مكالمة غير متزامنة لجلب قيم جديدة وفقًا للحد الأدنى التلقائي للفاصل الزمني للجلب وإضافة أداة معالجة تحديث الضبط في الوقت الفعلي. وسيجلب المستمع في الوقت الفعلي تلقائيًا أي قيم تم نشرها على الخادم أثناء تشغيل تطبيقك. تتجاوز التحديثات في الوقت الفعلي الحد الأدنى لإعداد الفاصل الزمني للجلب.
  3. في معالج الإكمال أو استدعاء استدعاء الجلب، لا تتخذ أي إجراء. سيحتفظ التطبيق بالقيم التي تم تنزيلها حتى تقوم بتنشيطها في المرة التالية التي يبدأ فيها التطبيق.

وباستخدام هذه الإستراتيجية، يقلل وقت انتظار المستخدم إلى حد كبير. ومن خلال الجمع بين استراتيجيات الجلب والمستمعين في الوقت الفعلي مع طلبات activate() حسب الحاجة في مراحل نشاط التطبيق، تضمن للمستخدمين الحصول على أحدث القيم من ميزة "الإعداد عن بُعد" أثناء تفاعلهم مع التطبيق.

جارٍ تحميل الاستراتيجيات المضادة

ربما تكون فهمت من المناقشة أعلاه لإيجابيات وسلبيات التحميل، هناك نمطان من أنماط الاستخدام يجب تجنبهما.

  • لا تعدِّل جوانب من واجهة المستخدم أو تبدِّلها أثناء اطّلاع المستخدم عليها أو التفاعل معها، إلا إذا كانت لديك أسباب قوية في التطبيق أو النشاط التجاري لإجراء ذلك، مثل إزالة الخيارات المتعلقة بعرض ترويجي انتهى للتو.
  • لا ترسِل أعدادًا كبيرة من طلبات الجلب المتزامنة، ما قد يؤدي إلى تقييد الخادم لتطبيقك. وإذا كنت بحاجة إلى جلب التحديثات بشكل متكرر، يمكنك استخدام ميزة الإعداد عن بُعد في الوقت الفعلي. على الرغم من أنّ مخاطر تقييد استخدام البيانات منخفضة في معظم سيناريوهات الإنتاج، يمكن أن تحدث تلك المشكلة أثناء التطوير النشط، وقد تم تصميم ميزة "الإعداد عن بُعد" في الوقت الفعلي لحالة الاستخدام هذه. يُرجى الاطّلاع على إرشادات تقييد المحتوى.
  • لا تعتمد على الاتصال بالشبكة للحصول على قيم "الإعداد عن بُعد". حدِّد قيم المعلمات التلقائية داخل التطبيق حتى يعمل تطبيقك دائمًا على النحو المتوقع. يمكنك بشكل دوري الحفاظ على المزامنة بين القيم التلقائية للتطبيق والخلفية في ميزة "الإعداد عن بُعد" باستخدام الإعدادات التلقائية للنماذج التي تم تنزيلها.

الخطوات اللاحقة

لا تشتمل هذه الاستراتيجيات الأساسية الثلاث بأي شكل من الأشكال على قائمة كاملة من طرق تحميل قيم التهيئة. اعتمادًا على احتياجاتك، يمكنك وضع استراتيجيات أكثر تعقيدًا.

تحقق من مرجع واجهة برمجة التطبيقات لنظامك الأساسي لمعرفة المزيد حول الطلبات المحددة لجلب وتنشيط قيم التهيئة.