استراتيجيات تحميل Firebase Remote Config

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

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

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

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

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

الإستراتيجية 2: التنشيط خلف شاشة التحميل

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

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

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

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

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

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

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

تحميل مكافحة الاستراتيجيات

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

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

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

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

تحقق من مرجع API للنظام الأساسي الخاص بك لمعرفة المزيد حول المكالمات المحددة لجلب قيم التكوين وتفعيلها.