مع تطوّر تطبيقك، قد تؤدي الإصدارات الجديدة إلى تغييرات قد تؤدي إلى عطل في واجهات برمجة التطبيقات الخلفية، أو حلّ ثغرات أمنية خطيرة، أو استبدال الخدمات ونماذج الذكاء الاصطناعي المتوقفة نهائيًا. في هذه الحالات، قد تتوقف الإصدارات السابقة من التطبيق عن العمل بشكل موثوق أو آمن.
باستخدام Remote Config، يمكنك التحكّم في متطلبات إصدار التطبيق بشكل ديناميكي من السحابة الإلكترونية. من خلال تحديد مَعلمات الإصدار في Remote Config، يمكنك مطالبة المستخدمين بتحديث تطبيقهم أو إلزامهم بذلك بدون نشر بنية أساسية مخصّصة للخادم أو إصدار تحديث طارئ.
اختيار استراتيجية تحديث
توفّر واجهة برمجة التطبيقات Remote Config مَعلمات الإصدار لتقييمها على جهاز العميل، ما يتيح لك ضبط واجهة مستخدم تحديث تطبيقك لإحدى الاستراتيجيتين حسب مدى خطورة التغيير:
- التحديث الإجباري (الحظر): إذا كان إصدار سابق من التطبيق غير متوافق مع الواجهة الخلفية أو يشكّل خطرًا على الأمان، يمكنك حظر الوصول إلى التطبيق إلى أن يثبّت المستخدم التحديث. عندما يكون الإصدار المثبَّت أقدم من الحد الأدنى المطلوب، يمكنك ضبط تطبيقك لعرض مربّع حوار لا يمكن إغلاقه يوجّه المستخدم إلى متجر التطبيقات على المنصة لتثبيت أحدث إصدار.
- التحديث المرن (اختياري): إذا كان التحديث يقدّم ميزات جديدة أو تحسينات في الأداء أو إصلاحات لأخطاء بسيطة، يمكنك ضبط تطبيقك لعرض بانر أو رسالة تذكير يمكن إغلاقها لتشجيع المستخدمين على التحديث في الوقت الذي يناسبهم مع السماح لهم بمواصلة استخدام التطبيق.
الخطوة 1: ضبط المَعلمات في وحدة تحكّم Firebase
لإدارة إصدارات التطبيق، حدِّد المَعلمات في نموذج Remote Config:
- في وحدة تحكّم Firebase، انتقِل إلى صفحة DevOps & Engagement > الإعداد عن بُعد > المَعلمات.
- انقر على إضافة مَعلمة (أو إنشاء إعدادات إذا كانت هذه هي المَعلمة الأولى).
- حدِّد المَعلمات التالية:
-
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 للحصول على مزيد من الإرشادات حول إعداد تطبيقك وميزات تستخدم الذكاء الاصطناعي للإنتاج.