فهم التهيئة عن بُعد في الوقت الفعلي


يتيح لك Real-time Remote Config تلقي مفاتيح وقيم المعلمات المحدثة بمجرد نشرها على الخادم. يسمح لك هذا بالتحديث السريع لأي نوع من سمات التطبيق التي يتم التحكم فيها باستخدام قيمة معلمة التكوين عن بعد. من خلال تحديثات Remote Config في الوقت الفعلي، يمكنك:

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

لمعرفة المزيد حول الطرق التي يمكنك من خلالها استخدام "التكوين عن بعد"، راجع ما الذي يمكنك فعله باستخدام "التكوين عن بعد"؟

في هذا الدليل، سوف:

  • تعرف على المزيد حول العلاقة بين العميل والخادم التي تدعم التحديثات في الوقت الفعلي.
  • افهم كيفية عمل وظيفة الوقت الفعلي في SDK.
  • تعرف على كيفية استخدام التحديثات في الوقت الفعلي للحفاظ على تحديث تكوين تطبيقك.

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

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

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

سير عمل خادم العميل والتكوين عن بعد في الوقت الفعلي

نظرًا لأن الاتصال بين العميل والخادم يتم عبر HTTP، فإنه لا يتطلب أي تبعيات على المكتبات الأخرى.

استمع للحصول على التحديثات

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

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

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

تنشيط قيم المعلمات بشكل انتقائي

عند الاتصال بـaddOnConfigUpdateListener ويمكنك انتظار التغيير وتنشيطه.

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

يتم استدعاء عمليات الاسترجاعات هذه باستخدام المعلمة configUpdate . يحتوي configUpdate علىupdatedKeys ووهي مجموعة مفاتيح المعلمات التي تم تغييرها والتي بدأت التحديث في الوقت الفعلي وتتضمن ما يلي:

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

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

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

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

addOnConfigUpdateListenerهي نقطة الدخول الرئيسية للتكوين عن بعد في الوقت الفعلي. يؤدي استدعاء هذا المستمع لأول مرة في دورة حياة تطبيقك إلى فتح الاتصال بالواجهة الخلفية. تعيد الاستدعاءات اللاحقة استخدام نفس الاتصال، مما يؤدي إلى مضاعفة رسالة الإبطال الموضحة في اتصال خادم العميل في الوقت الفعلي .

يُرجع الاستدعاء "تسجيل المستمع"، والذي له طريقة تسمىremove .

لإيقاف الاستماع، قم بتخزين مرجع تسجيل المستمع. اتصل remove لإيقاف الاستماع عند هذا التسجيل. إذا كان هو المستمع المسجل الوحيد، فإن استدعاء remove يغلق الاتصال في الوقت الحقيقي بالخادم.

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

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

تحقق من بدء استخدام Firebase Remote Config لتكوين Remote Config وبدء الاستماع للحصول على التحديثات في الوقت الفعلي .