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