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