مع تطوّر تطبيقك، يمكن أن تتضمّن الإصدارات الجديدة تغييرات غير متوافقة مع الإصدارات السابقة في واجهات برمجة التطبيقات للخادم الخلفي، أو تحلّ ثغرات أمنية خطيرة، أو تستبدل الخدمات ونماذج الذكاء الاصطناعي المتوقّفة نهائيًا. في هذه الحالات، قد تتوقف الإصدارات السابقة من التطبيق عن العمل بشكل موثوق أو آمن.
باستخدام Remote Config، يمكنك التحكّم في متطلبات إصدار التطبيق بشكل ديناميكي من السحابة الإلكترونية. من خلال تحديد مَعلمات الإصدار في Remote Config، يمكنك أن تطلب من المستخدمين تحديث تطبيقهم أو تفرض عليهم ذلك بدون نشر بنية أساسية مخصّصة للخادم أو طرح تحديث طارئ.
اختيار استراتيجية تحديث
توفّر Remote Config مَعلمات الإصدار لتقييمها على العميل، ما يتيح لك ضبط واجهة مستخدم تحديث التطبيق وفقًا لإحدى الاستراتيجيتَين حسب مدى خطورة التغيير:
- التحديث الإجباري (الحظر): إذا كان إصدار سابق من التطبيق غير متوافق مع الخلفية أو يشكّل خطرًا أمنيًا، يمكنك حظر الوصول إلى التطبيق إلى أن يثبّت المستخدم التحديث. عندما يكون الإصدار المثبَّت أقدم من الحد الأدنى المطلوب، يمكنك ضبط تطبيقك لعرض مربّع حوار لا يمكن إغلاقه يوجّه المستخدم إلى متجر تطبيقات النظام الأساسي لتثبيت أحدث إصدار.
- التحديث المرن (اختياري): إذا كان التحديث يتضمّن ميزات جديدة أو تحسينات في الأداء أو إصلاحات بسيطة للأخطاء، يمكنك ضبط تطبيقك لعرض بانر يمكن إغلاقه أو رسالة تحث المستخدمين على التحديث في الوقت الذي يناسبهم مع السماح لهم بمواصلة استخدام التطبيق.
الخطوة 1: ضبط المَعلمات في وحدة تحكّم Firebase
لإدارة إصدارات التطبيق، حدِّد المَعلمات في نموذج Remote Config:
- في وحدة تحكّم Firebase، انتقِل إلى صفحة عمليات التطوير والتشغيل والتفاعل > Remote Config > المَعلمات.
- انقر على إضافة مَعلمة (أو إنشاء إعداد إذا كانت هذه هي المَعلمة الأولى).
- حدِّد المَعلمات التالية:
- استبدِل
minimum_versionبسلسلة تمثّل أقدم إصدار متوافق من تطبيقك (على سبيل المثال،"2.4.0"). سيتم حظر التطبيقات التي تعمل بإصدار أقدم من هذه القيمة إلى أن يتم تحديثها. -
latest_version(اختياري): سلسلة تمثّل أحدث إصدار متاح من تطبيقك (على سبيل المثال،"2.5.1"). يمكن للتطبيقات التي تعمل بإصدار بينminimum_versionوlatest_versionعرض اقتراح اختياري بالتحديث. update_url(اختياري): عنوان URL للمتجر الذي يمكن للمستخدمين تنزيل التحديث منه (مثل بطاقة بيانات تطبيقك على "متجر Google Play" أو Apple App Store).
- استبدِل
- اختياري: إضافة شروط خاصة بالنظام الأساسي:
- بما أنّ تطبيقات Android وApple تستخدم غالبًا إصدارات مختلفة من الإصدارات وعناوين URL مختلفة على المتجر، يمكنك إضافة قيم شرطية لكل منصة ضمن المَعلمة نفسها.
- انقر على إضافة قيمة للشرط > إنشاء شرط. أدخِل اسمًا للشرط (مثل
Android AppأوiOS App)، واختَر التطبيق كقاعدة استهداف، ثم اختَر تطبيقك. - اضبط سلسلة الإصدار المناسبة لكل شرط من شروط المنصة، واحتفظ بالقيمة التلقائية كخيار احتياطي.
- انقر على حفظ، ثم انقر على نشر التغييرات لتطبيق النموذج.
الخطوة 2: تنفيذ عمليات التحقّق من الإصدار من جهة العميل
على الجهاز العميل، تحقَّق من إصدار التطبيق المثبَّت مقارنةً بمعلمات Remote Config أثناء بدء التشغيل:
- ضبط القيم التلقائية داخل التطبيق: احرص دائمًا على توفير قيم تلقائية آمنة داخل التطبيق في حِزمة تطبيقك (على سبيل المثال، اضبط
minimum_versionعلى إصدار تطبيقك الأوّلي، مثل"1.0.0"). يضمن هذا الإعداد الاحتياطي استمرار عمل تطبيقك بشكل طبيعي في حال عدم توفّر اتصال بالإنترنت أو تعذُّر تنفيذ طلب الجلب الأوّلي. للحصول على إرشادات خاصة بكل منصة، يُرجى الاطّلاع على تنزيل الإعدادات التلقائية لنموذج Remote Config. - استرجاع القيم وتفعيلها Remote Config: استرجاع أحدث قيم النموذج وتفعيلها عند بدء تشغيل تطبيقك
مقارنة الإصدارات: استرجِع السلسلتَين النشطتَين
minimum_versionوlatest_versionوقارِنهما بإصدار التطبيق المثبَّت حاليًا.اتّخاذ إجراء استنادًا إلى مقارنة الإصدارات:
- فرض التحديث المطلوب: إذا كان إصدار
current_versionأقدم منminimum_version، اعرض تنبيهًا مشروطًا بملء الشاشة ولا يمكن إغلاقه. إيقاف إمكانية الانتقال إلى بقية التطبيق وتوفير زر يفتحupdate_urlفي متجر التطبيقات على المنصة - طلب إجراء تحديث اختياري: إذا كان الإصدار
current_versionأقدم من الإصدارlatest_version، اعرض مربّع حوار أو إشعارًا يمكن إغلاقه لإعلام المستخدمين بتوفّر تحديث، مع خيارَي التحديث الآن أو لاحقًا. - السماح بالوصول: في حال عدم توفّر أي من الشروط السابقة، اسمح للمستخدم بالانتقال إلى التطبيق.
- فرض التحديث المطلوب: إذا كان إصدار
أفضل الممارسات
- إضافة متتبِّع في الوقت الفعلي: عند الحاجة إلى تحديث الإصدار بسبب مشاكل أمان أو تدهور كبير في تجربة المستخدم، يمكن أن تساعد إضافة متتبِّع Remote Config في الوقت الفعلي إلى تطبيقك في ضمان تطبيق التغييرات في متطلبات الإصدار على الفور على الأجهزة النشطة بدون انتظار الحصول على الخلاصات وفق جدول زمني محدّد التالي أو إعادة تشغيل التطبيق.
- الاختبار باستخدام مجموعة اختبار محدودة: قبل رفع
minimum_versionلجميع مستخدمي الإصدار العلني، اختبِر الشرط باستخدام مجموعة اختبار محدودة أو استهدِف المختبِرين الداخليين باستخدام خصائص المستخدم المخصّصة. يتحقّق هذا الاختبار من أنّ النافذة المنبثقة الخاصة بالحظر معروضة بشكل صحيح وأنّ روابط المتجر تعمل بشكل سليم. - استخدام واجهات برمجة التطبيقات الخاصة بالتحديثات داخل التطبيق على المنصة: على أجهزة Android، ننصحك بدمج التحديثات داخل التطبيق من Google Play مع عمليات التحقّق من Remote Config للسماح للمستخدمين بتنزيل التحديثات وتثبيتها بدون مغادرة تطبيقك.
- قراءة قوائم التحقّق الخاصة بالإصدار العلني: يمكنك الاطّلاع على قائمة التحقّق الخاصة بإطلاق Firebase وقائمة التحقّق الخاصة بالإصدار العلني من ميزة AI Logic للحصول على مزيد من الإرشادات حول إعداد تطبيقك وميزات الذكاء الاصطناعي للإصدار العلني.