| اختيار المنصة: | iOS+ Android الويب Flutter Unity C++ |
تتيح لك ميزة "Remote Config في الوقت الفعلي" تلقّي مفاتيح المَعلمات وقيمها المعدَّلة فور نشرها على الخادم. يتيح لك ذلك تعديل أي نوع من سمات التطبيق التي يتم التحكّم فيها باستخدام قيمة مَعلمة Remote Config بسرعة. من خلال تعديلات Remote Config في الوقت الفعلي، يمكنك:
- يمكنك تقليل المخاطر من خلال طرح الميزات تدريجيًا للمستخدمين المستهدَفين، وإجراء عملية تراجع طارئة إذا لزم الأمر.
- يمكنك زيادة تفاعل المستخدمين من خلال تخصيص تجاربهم بسرعة أثناء استخدامهم التطبيق. على سبيل المثال، يمكنك تعديل البانرات وتقديم حوافز للمستخدمين الذين يتطابقون مع سمات مستخدمين معيّنة في Google Analytics أو تعديل صعوبة اللعبة ديناميكيًا لمجموعات من اللاعبين.
- تقليل تبعيات الإصدار وزيادة إنتاجية المطوّرين: يمكنك استخدام مَعلمات Remote Config كعلامات ميزات لعرض الوظائف لفِرق التطوير والاختبار، مع إبقائها مخفية عن المستخدمين في مرحلة الإنتاج.
لمزيد من المعلومات حول طرق استخدام Remote Config، يُرجى الاطّلاع على مقالة ما الذي يمكنك فعله باستخدام Remote Config؟.
يتناول هذا الدليل المواضيع التالية:
- علاقة العميل بالخادم التي تتيح التعديلات في الوقت الفعلي
- طريقة عمل وظيفة الوقت الفعلي في حزمة تطوير البرامج (SDK)
- كيفية استخدام التعديلات في الوقت الفعلي لإبقاء إعدادات تطبيقك محدّثة
- أفضل ممارسات Remote Config في الوقت الفعلي
اتصال العميل بالخادم في الوقت الفعلي
عند تنفيذ ميزة "Remote Config" في الوقت الفعلي في تطبيقك، يتم إنشاء مستمع في الوقت الفعلي يفتح اتصال HTTP مع الخلفية في "Remote Config". يتضمّن الطلب إصدار الإعدادات المخزَّن مؤقتًا على الجهاز. يستخدم خادم Remote Config في الوقت الفعلي رسالة إبطال لإعلام التطبيق بضرورة جلب إصدار أحدث من الإعدادات من جهة الخادم.
إذا كان الخادم يتضمّن إصدارًا أحدث، يرسل إشارة الإبطال على الفور.
إذا لم يتوفّر إصدار أحدث، سيُبقي الاتصال مفتوحًا وينتظر إلى أن يتم نشر إصدار على الخادم. عندما تتلقّى حزمة تطوير البرامج (SDK) للعميل إشارة إبطال، يتم جلبها تلقائيًا، ثم يتم استدعاء دالة الاستدعاء الخاصة بالمستمع والمسجَّلة عند فتح اتصال المستمع. تتشابه عملية الجلب هذه مع طلب الجلب الذي يمكنك إجراؤه باستخدام حزمة تطوير البرامج (SDK)، ولكنها تتجاوز أي إعدادات للتخزين المؤقت أو minimumFetchInterval. يتم الحفاظ على الاتصال بين العميل والخادم أثناء تشغيل التطبيق في
المقدّمة.
بما أنّ الاتصال بين العميل والخادم يتم عبر بروتوكول HTTP، لا يتطلّب ذلك أي تبعيات على مكتبات أخرى.
الاستماع إلى آخر الأخبار
تكمّل التعديلات في الوقت الفعلي مكالمات Remote Config 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 وبدء الاستماع إلى التحديثات في الوقت الفعلي.