توفّر 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: تحميل القيم الجديدة عند بدء التشغيل التالي
تتمثّل إحدى الاستراتيجيات الفعّالة في تحميل قيم الإعدادات الجديدة لتفعيلها عند بدء التشغيل التالي لتطبيقك. في هذه الاستراتيجية، يفعّل تطبيقك القيم التي تم جلبها عند بدء التشغيل قبل محاولة جلب قيم جديدة، مع افتراض أنّه ربما سبق له جلب قيم إعدادات جديدة ولكن لم يتم تفعيلها بعد. ترتيب العمليات لهذه الاستراتيجية هو:
- عند بدء التشغيل، فعِّل على الفور القيم التي تم استرجاعها سابقًا. وينطبق ذلك على أي قيم نزّلتها من الخادم في جلسة سابقة، وتتم العملية بشكل فوري تقريبًا.
- أثناء تفاعل المستخدم مع تطبيقك، ابدأ طلبًا غير متزامن لجلب قيم جديدة وفقًا للحد الأدنى التلقائي لفاصل الجلب الزمني، وأضِف أداة معالجة لتعديل الإعدادات في الوقت الفعلي. سيجلب المستمع في الوقت الفعلي تلقائيًا أي قيم يتم نشرها على الخادم أثناء تشغيل تطبيقك. تتجاوز الإشعارات الفورية إعداد الحدّ الأدنى للفاصل الزمني بين عمليات الجلب.
- في معالج الإكمال أو دالة الرجوع الخاصة بطلب الجلب، لا تفعل شيئًا. سيحتفظ تطبيقك بالقيم التي تم تنزيلها إلى أن تفعّلها في المرة التالية التي يتم فيها تشغيل التطبيق.
باستخدام هذه الاستراتيجية، يتم تقليل وقت انتظار المستخدم بشكل كبير. يضمن الجمع بين استراتيجيتَي الجلب والاستماع في الوقت الفعلي مع عمليات طلب activate() حسب الحاجة في دورة حياة التطبيق حصول المستخدمين على أحدث القيم من Remote Config أثناء تفاعلهم مع تطبيقك.
جارٍ تحميل الاستراتيجيات المضادة
استنادًا إلى الأقسام السابقة من استراتيجيات التحميل، تجنَّب أنماط الاستخدام التالية:
- لا تعدّل أو تبدّل جوانب واجهة المستخدم أثناء عرض المستخدم لها أو تفاعله معها، إلا إذا كان لديك أسباب قوية متعلقة بالتطبيق أو النشاط التجاري، مثل إزالة الخيارات المتعلقة بعرض ترويجي انتهى للتو.
- لا ترسِل عددًا كبيرًا من طلبات الاسترجاع المتزامنة، لأنّ ذلك قد يؤدي إلى أن يقيّد الخادم تطبيقك. إذا كنت بحاجة إلى استرجاع التحديثات بشكل متكرر، استخدِم في الوقت الفعليRemote Config. على الرغم من أنّ خطر الحدّ من معدّل نقل البيانات منخفض في معظم سيناريوهات الإنتاج، يمكن أن يشكّل مشكلة أثناء التطوير النشط، وقد تم تصميم Remote Config في الوقت الفعلي لحالة الاستخدام هذه. اطّلِع على إرشادات الحدّ من عدد الطلبات.
- لا تعتمد على الاتصال بالشبكة للحصول على قيم Remote Config. يجب ضبط قيم المَعلمات التلقائية داخل التطبيق لكي يتصرف تطبيقك دائمًا على النحو المتوقّع. يمكنك بشكل دوري إبقاء القيم التلقائية للتطبيق وRemote Config الخلفية متزامنة باستخدام الإعدادات التلقائية للنموذج الذي تم تنزيله.
الخطوات التالية
لا تشكّل هذه الاستراتيجيات الأساسية الثلاث بأي حال من الأحوال قائمة كاملة بطرق تحميل قيم الإعدادات. واستنادًا إلى احتياجاتك، يمكنك وضع استراتيجيات أكثر تعقيدًا.
راجِع مرجع واجهة برمجة التطبيقات لمنصتك لمعرفة المزيد عن عمليات الاستدعاء المحدّدة لجلب قيم الإعدادات وتفعيلها.