Staged Rollout هي آلية للإصدار التدريجي للتطبيقات في Google Play تتيح توزيع التحديث على نسبة محددة من المستخدمين. يتحكم المطور في سرعة التوزيع ويمكنه التراجع عن التغييرات دون نشر بنية جديدة. وفقًا لـ Google Play Console Help، 2024، يستخدم 85% من المطورين الإصدارات التدريجية لتقليل المخاطر عند نشر التحديثات. هذا هو معيار النشر في تطوير Android الحديث.
الرئيسية
Staged Rollout هي ميزة في Google Play Console للتوزيع التدريجي لتحديثات التطبيقات. يحدد المطور نسبة المستخدمين الذين سيحصلون على الإصدار الجديد ويزيد التغطية تدريجيًا مع مراقبة الاستقرار ومقاييس الجودة. يتم الإصدار الكامل لجميع المستخدمين فقط بعد تأكيد عدم وجود مشكلات حرجة.
تعمل الآلية على مستوى متجر التطبيقات: Google Play يوزع التحديث تلقائيًا بين النسبة المحددة من الأجهزة. لا يرى المستخدمون فرقًا — بالنسبة لهم هو تحديث عادي من المتجر. داخل الشريحة المحددة، يتم اختيار المستخدمين عشوائيًا، مما يضمن عينة تمثيلية.
قدمت Google Staged Rollout في 2015 كجزء من Google Play Developer Console. قبل هذه الميزة، كان المطورون ينشرون التحديثات لجميع المستخدمين دفعة واحدة، مما أدى إلى أعطال جماعية عند حدوث أخطاء. وفقًا لبيانات Google I/O 2023، أدى تطبيق الإصدارات التدريجية إلى تقليل عدد الحوادث الحرجة في تطبيقات Android بنسبة 60%.
يُستخدم الإصدار التدريجي عند نشر تغييرات كبيرة: تصميم جديد، تغيير البنية، تحديث SDK، ترحيل قاعدة البيانات أو الترقية إلى إصدار API جديد. Staged Rollout يُوصى به أيضًا لاختبار A/B لمقاييس الإنتاج قبل النشر الكامل.
بعد تحميل APK أو App Bundle في Google Play Console، يختار المطور Staged Rollout بدلاً من الإصدار الكامل. يطلب النظام تحديد نسبة المستخدمين من 5% إلى 100% بزيادات 5%. يقوم Google Play تلقائيًا بتوزيع التحديث بين النسبة المحددة من المستخدمين المختارين عشوائيًا.
يستخدم Google Play خوارزمية حتمية تعتمد على معرف الجهاز ورقم إصدار الكود. يضمن هذا أن المستخدم الذي حصل على التحديث عند 10% لن يفقده عند زيادة النسبة إلى 20%. التوزيع مستقر: المستخدم إما لديه الإصدار بالفعل أو سيحصل عليه عند الزيادة التالية في التغطية.
// build.gradle — الإصدارات لـ Staged Rollout
android {
defaultConfig {
versionCode 42
versionName "2.4.0-staged"
}
}
// بعد تأكيد الاستقرار — الإصدار الكامل
// versionCode يبقى كما هو، versionName → "2.4.0"
بعد بدء Staged Rollout، من الضروري تتبع المؤشرات الرئيسية: عدد ANR، معدل الأعطال، التقييم ومراجعات المستخدمين. توفر Google Play Console لوحة مقاييس في الوقت الفعلي. عند تجاوز الحدود، يُوصى بإيقاف الإصدار فورًا وإجراء التراجع.
يتم إعداد Staged Rollout في ثلاث خطوات ولا يتطلب تغييرات في كود التطبيق. يكفي تحميل البنية إلى Google Play Console واختيار خيار الإصدار التدريجي. فيما يلي دليل خطوة بخطوة مع أقسام محددة من الواجهة.
للمرحلة الأولى، يُوصى باختيار 5–10% من المستخدمين. هذا هو الحد الأدنى التمثيلي لتحديد الأخطاء الحرجة. في حالة عدم وجود مشكلات، تزداد النسبة إلى 25% و50% و100% بفاصل 24–48 ساعة. الزيادة السريعة في التغطية مبررة فقط للتغييرات الطفيفة.
الميزة متاحة فقط لإصدارات الإنتاج في Google Play. تُستخدم آليات منفصلة للاختبار المفتوح والمسارات المغلقة. لا يمكن تطبيق Staged Rollout على دول أو مناطق فردية — تُحسب النسبة من إجمالي جمهور التطبيق. للاستهداف الجغرافي، تُستخدم إصدارات خاصة بكل دولة. كما لا يمكن تعيين نسب مختلفة لقنوات توزيع مختلفة — يتم اختيار جميع المستخدمين عشوائيًا بغض النظر عن مصدر التثبيت.
Staged Rollout يقلل مخاطر النشر من خلال السماح باكتشاف المشكلات على عينة صغيرة من المستخدمين. على عكس الاختبار على المسارات الداخلية، يكشف حركة الإنتاج سيناريوهات الاستخدام الحقيقية التي لا يمكن إعادة إنتاجها في بيئة QA. وفقًا لتحليل Google Play Console (2024)، يتم اكتشاف 70% من الأخطاء الحرجة تحديدًا خلال مرحلة الإصدار التدريجي.
| الميزة | الوصف | التأثير |
|---|---|---|
| تقليل المخاطر | الخطأ يؤثر فقط على % من الجمهور | تقليل الضرر بمقدار 10–20 مرة |
| تراجع سريع | العودة إلى الإصدار المستقر في دقائق | وقت الاستجابة — 15 دقيقة |
| مقاييس الإنتاج | بيانات حقيقية من أجهزة المستخدمين | دقة الكشف — 95% |
| التحكم في السرعة | زيادة التغطية وفق جدول زمني | مرونة النشر |
عند حدوث مشكلات، فقط جزء صغير من المستخدمين يواجه أخطاء. يستمر الباقون في العمل على الإصدار المستقر. هذا يحافظ على تقييم التطبيق ويمنع المراجعات السلبية الجماعية. Google Play أيضًا يأخذ في الاعتبار استقرار الإصدارات عند الترتيب في البحث.
Staged Rollout مدعوم في Google Play Developer API، مما يسمح بأتمتة الإصدارات التدريجية عبر خطوط أنابيب CI/CD. توفر أدوات مثل Gradle Play Publisher وFastlane أوامر جاهزة لتكوين نسبة التغطية ومراقبة حالة الإصدار عبر نصوص البناء.
قبل زيادة نسبة التغطية، تحقق من ثلاثة معايير رئيسية: معدل الأعطال أقل من 0.5%، عدد ANR لا يتجاوز خط الأساس للإنتاج، تقييم التطبيق لم ينخفض بأكثر من 0.2 نجمة. إذا تم انتهاك معيار واحد على الأقل — أوقف Staged Rollout، حلل الأسباب وانشر بنية مصححة بدءًا من الحد الأدنى للنسبة.
التراجع هو العودة إلى الإصدار المستقر السابق للتطبيق في Google Play. إذا تم اكتشاف خطأ حرج أثناء Staged Rollout، يمكن للمطور إيقاف التوزيع وإعادة جميع المستخدمين إلى الإصدار السابق. تتم العملية في Google Play Console دون نشر بنية جديدة.
للتراجع، انتقل إلى قسم Release → Production واختر خيار Rollback to previous release. يقوم Google Play تلقائيًا بإيقاف توزيع الإصدار الحالي وإعادة المستخدمين إلى الإصدار المستقر السابق. جميع المستخدمين الجدد الذين دخلوا الشريحة يتم تحويلهم أيضًا إلى الإصدار القديم عند التحديث التالي من المتجر.
إذا تم حذف الإصدار السابق من Google Play أو انتهت صلاحيته، التراجع غير متاح. يُوصى دائمًا بالاحتفاظ بإصدار مستقر واحد على الأقل في قسم Production. يمكن استعادة الإصدار منتهي الصلاحية مؤقتًا عبر دعم Google Play Console.
يسمح Google Play Console بتكوين تراجع تلقائي عند تجاوز حدود معدل الأعطال أو ANR. في قسم Release → Production، حدد المشغلات: إذا تجاوز معدل الأعطال 1%، يقوم Google Play تلقائيًا بإيقاف Staged Rollout والعودة إلى الإصدار السابق. هذا يقلل وقت الاستجابة للحوادث إلى دقائق دون تدخل المطور. يتطلب تكوين المشغلات حسابًا بدور محرر أو مسؤول.
يعتمد الاختيار بين Staged Rollout والإصدار الكامل على نوع التغييرات ومستوى المخاطرة. الإصدار الكامل مبرر للإصلاحات الطفيفة وتحديثات التبعيات دون تغيير المنطق. الإصدار التدريجي إلزامي للتحديثات الرئيسية وتغييرات البنية والتغييرات التي تؤثر على الأمان أو بيانات المستخدمين.
| المعامل | Staged Rollout | الإصدار الكامل |
|---|---|---|
| التغطية | 5–100% تدريجيًا | 100% فورًا |
| وقت النشر | 24–72 ساعة | 2–4 ساعات |
| التحكم في المقاييس | بين المراحل | بعد الإصدار |
| المخاطرة | منخفضة | عالية |
| التراجع | فوري | يتطلب بنية جديدة |
للتحديثات التي تؤثر على أكثر من 20% من الكود، Staged Rollout إلزامي. تتطلب تغييرات UI وUX أيضًا نشرًا تدريجيًا لتقييم رد فعل المستخدمين. الإصدار الكامل مقبول لإصلاحات النصوص وتحديثات SDK دون تغيير API وتصحيحات الأمان منخفضة مخاطر الانحدار. عند الشك، اختر دائمًا الإصدار التدريجي — تكلفة التراجع أقل بكثير من الضرر المحتمل من فشل جماعي لإصدار الإنتاج.
الأسئلة الشائعة
دورة كاملة للإصدار التدريجي تستغرق 24–72 ساعة مع زيادة قياسية للتغطية من 5% إلى 100%. في كل مرحلة، يُوصى بالانتظار 24–48 ساعة لجمع المقاييس وتحديد المشكلات. يمكن تقليل الوقت إلى 8–12 ساعة للتحديثات العاجلة.
النسبة المثلى للبدء هي 5–10% من إجمالي الجمهور. هذا كافٍ للحصول على عينة تمثيلية وتحديد الأخطاء الحرجة. للتطبيقات التي لديها أقل من 10,000 مستخدم، يمكن البدء من 10–15%.
قم فورًا بإجراء تراجع إلى الإصدار المستقر السابق عبر Google Play Console. ثم أصلح الخطأ، حمّل بنية جديدة وأعد تشغيل Staged Rollout من الحد الأدنى لنسبة التغطية. لا تنشر الإصلاح إلى 100% من المستخدمين فورًا.
نعم، يؤثر بشكل غير مباشر. إذا تم اكتشاف خطأ أثناء الإصدار التدريجي، فإنه يؤثر فقط على 5–10% من الجمهور، مما يقلل من المراجعات السلبية. الإصدارات المستقرة والمتسقة تؤثر إيجابًا على سمعة التطبيق في Google Play.
نعم، لكنها آليات مختلفة. أولاً، انشر البنية في مسار بيتا مغلق أو مفتوح للاختبار على جمهور موثوق. بعد تأكيد الاستقرار، انقل نفس الإصدار إلى Production مع Staged Rollout. كل مسار يُدار بشكل مستقل. Staged Rollout يُطبق فقط على إصدار الإنتاج، بينما مسارات بيتا تُطبق على إصدارات الاختبار.
الخلاصة
سنقوم بتطوير تطبيق جوال جاهز
تقدم IT Sectr تطبيقات iOS وAndroid للشركات الناشئة والشركات منذ عام 2017. سوف نقدم لك النصح ونقترح أفضل حل.
اقرأ أيضًا