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

اختيار المنصة: iOS+ Android الويب Flutter Unity C++‎

تتيح لك ميزة 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 في الوقت الفعلي أثناء جلسة المستخدم لضمان حصولك على أحدث القيم فور نشرها على الخادم.

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

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

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

عند استدعاء OnConfigUpdateListener، يمكنك انتظار التغيير وتفعيله.

عند إعداد أداة معالجة الأحداث، عليك ضبطها لاستدعاء معالج الأحداث الذي يتم استدعاؤه كلما تم جلب إصدار جديد من النموذج تلقائيًا وعندما يتضمّن هذا الإصدار الجديد تغييرات. تحتوي ConfigUpdateEventArgs returns configUpdate على updatedKeys، وهي مجموعة مفاتيح المَعلمات التي تم تغييرها والتي بدأت التعديل في الوقت الفعلي وتتضمّن ما يلي:

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

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

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

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

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

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

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

تقتصر مشاريع

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

اطّلِع على كيفية بدء استخدام Firebase Remote Config لإعداد Remote Config وبدء تلقّي الإشعارات بالتحديثات في الوقت الفعلي.