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


تتيح لك ميزة 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 وبدء تلقّي الإشعارات بالتحديثات في الوقت الفعلي.