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


تتيح لك ميزة 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. ننصحك بطلب البيانات عند بدء تشغيل تطبيقك (أو في وقت ما خلال دورة حياة تطبيقك) والاستماع إلى التعديلات في الوقت الفعلي 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 والبدء في تلقّي الإشعارات في الوقت الفعلي.