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