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