التعرّف على ميزة "الإعداد عن بُعد في الوقت الفعلي"


تتيح لك ميزة Remote Config في الوقت الفعلي تلقّي مفاتيح وقيم المَعلمات المعدَّلة فور نشرها على الخادم. يتيح لك ذلك تعديل أي نوع من سمات التطبيق التي يتم التحكّم فيها باستخدام قيمة مَعلمة Remote Config بسرعة. من خلال ميزة "تعديلات Remote Config في الوقت الفعلي"، يمكنك إجراء ما يلي:

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

للمزيد من المعلومات حول طرق استخدام Remote Config، يمكنك الاطّلاع على مقالة ما هي الإجراءات التي يمكنك اتّخاذها باستخدام Remote Config؟.

في هذا الدليل، ستتعرّف على ما يلي:

  • اطّلِع على مزيد من المعلومات عن العلاقة بين العميل والخادم التي تتيح تعديلات في الوقت الفعلي.
  • ��هم آلية عمل الوظائف في الوقت الفعلي في حزمة SDK
  • تعرَّف على كيفية استخدام التعديلات في الوقت الفعلي للحفاظ على حداثة إعدادات تطبيقك.

اتصال العميل بالخادم في الوقت الفعلي

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

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

سير عمل العميل والخادم في ميزة "الإعداد عن بُعد" في الوقت الفعلي
سير العمل بين العميل والخادم في الوقت الفعلي Remote Config

وبما أنّ الاتصال بين العميل والخادم يتم من خلال بروتوكول HTTP، لا يتطلّب ذلك أيّ تبعيات على مكتبات أخرى.

الاستماع إلى آخر الأخبار

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

للاطّلاع على آخر الأخبار، يمكنك الاتصال بـ addOnConfigUpdateListener، وتنفيذ طلب استدعاء يتمّ تشغيله عند توفّر تحديث Remote Config في التطبيق. وخلف الكواليس، يبدأ هذا الطلب بالاستماع إلى آخر الأخبار من خادم Remote Config. لمعرفة مزيد من المعلومات عن علاقته العميل بالخادم، يُرجى الاطّلاع على القسم السابق.

غالبًا ما يكون الإجراء المُعاد الاتصال به مكانًا جيدًا لاستخدام activate لتوفير مَعلمات الإعداد المعدَّلة لتطبيقك. اطّلِع على استراتيجيات تحميل Remote Config في Firebase للاطّلاع على استراتيجيات إضافية لتفعيل قيم المَعلمات عند استخدام Remote Config في الوقت الفعلي.

تفعيل قِيم المَعلمات بشكل انتقائي

عند الاتصال بالرقم: addOnConfigUpdateListener، يمكنك انتظار التغيير وتفعيله.

يتمّ استدعاء دالة الاستدعاء onUpdate عند جلب إصدار جديد من النموذج تلقائيًا وعند إجراء تغييرات على قيم المَعلمات المفعّلة حاليًا في التطبيق.

يتمّ استدعاء وظائف ردّ الاتصال هذه باستخدام المَعلمة configUpdate. يحتويconfigUpdate على updatedKeys، وهي مجموعة مفاتيح المَعلمات التي تم تغييرها والتي بدأت عملية التحديث في الوقت الفعلي، وتشمل ما يلي:

  • مفاتيح المَعلمات التي تمت إضافتها أو إزالتها
  • مفاتيح المَعلمات التي تغيّرت قيمها
  • مفاتيح المَعلمات التي تغيّرت بياناتها الوصفية (على سبيل المثال، Remote Config معلومات التخصيص)
  • مفاتيح المَعلمات التي تغيّر مصدر قيمتها (على سبيل المثال، تعديل قيمة تلقائية داخل التطبيق إلى قيمة من جهة الخادم)

إذا كنت تستخدِم مستمعًا في الوقت الفعلي في عرض معيّن داخل تطبيقك، يمكنك التحقّق مما إذا كانت المَعلمات ذات الصلة بهذا العرض قد تغيّرت قبل التفعيل.

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

إضافة مستمعين وإزالتهم

addOnConfigUpdateListener هي نقطة الدخول الرئيسية إلى Remote Config في الوقت الفعلي. يؤدي استدعاء أداة معالجة الأحداث هذه للمرة الأولى في دورة نشاط تطبيقك إلى فتح الاتصال بالخلفية. تعيد المكالمات الل��حقة استخدام الاتصال نفسه، ما يؤدي إلى تعدد إرسال رسائل الإبطال описанة في اتصال العميل بالخادم في الوقت الفعلي.

تُعرِض المكالمة "تسجيل مستمع"، الذي يحتوي على طريقة تُسمى remove.

لإيقاف الا��تم��ع�� يمكنك ��خزين المرجع الخاص بتسجيل المستمع. اتصل بالرقم remove لإيقاف التسجيل. إذا كان المُستمع الوحيد المسجَّل، يؤدي استدعاء remove إلى إغلاق الاتصال المباشر بالخادم.

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

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

اطّلِع على مقالة البدء في استخدام Firebase Remote Config لضبط Remote Config والبدء في الاستماع إلى آخر الأخبار في الوقت الفعلي.