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

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

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

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

في هذه الاستراتيجية، سيطلب تطبيقك fetchAndActivate() عند بدء تشغيله لأول مرة لاسترجاع القيم الجديدة من Remote Config وتفعيلها فور انتهاء تحميلها. هذا الأسلوب البسيط مناسب للتغييرات في الإعدادات التي لا تؤدي إلى أي تغييرات مرئية كبيرة في واجهة المستخدم. يجب تجنُّبه في أي حالة يمكن أن تتغير فيها واجهة المستخدم بشكلٍ ملحوظ أثناء استخدامها من قِبل المستخدمين.

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

الاستراتيجية 2: التفعيل في الخلفية أثناء عرض شاشة التحميل

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

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

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

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

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

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

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

الاستراتيجيات التي يجب تجنُّبها عند التحميل

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

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

الخطوات التالية

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

اطّلِع على مرجع واجهة برمجة التطبيقات لمنصّتك لمعرفة المزيد عن طلبات استرجاع قيم الإعدادات وتفعيلها.