الإصدارات والتحديثات
إصدارات مرحلية وتحديثات
الإصدارات والتحديثات درس مجاني في Android Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Android Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Android Academy 4 دروس في المجموع.
الإصدار بأمان
يُعد طرح إصدار جديد لجميع المستخدمين دفعةً واحدة أمرًا محفوفًا بالمخاطر — إذ قد يؤدي عطل مخفي إلى التأثير في جمهورك بالكامل فورًا. يوفّر Google Play أساليب أكثر أمانًا: مسارات الاختبار وعمليات الطرح المرحلي.
ستتعلّم في هذا الدرس مسارات الإصدار، وكيفية طرح الإصدار أولًا لنسبة صغيرة، وكيف تصل التحديثات إلى المستخدمين، وكيفية التصرف عند حدوث خطأ.
مسارات الإصدار
ينظّم Play الإصدارات في مسارات، من الأقل وصولًا إلى الأكثر وصولًا:
- الاختبار الداخلي — لما يصل إلى 100 مختبر، ومتاح خلال دقائق، لفريقك.
- الاختبار المغلق — لمختبرين تتم دعوتهم عبر قوائم البريد الإلكتروني أو المجموعات.
- الاختبار المفتوح — يمكن لأي شخص الانضمام إلى الإصدار التجريبي العام.
- الإنتاج — لجميع المستخدمين في المتجر.
المسار السليم هو ترقية الإصدار تدريجيًا: داخلي ← مغلق ← مفتوح ← إنتاج.
إنشاء إصدار
في أي مسار، انقر على إنشاء إصدار جديد، ثم ارفع ملف .aab (أو اختر ملفًا من مستكشف حزمة التطبيق)، وأضف ملاحظات الإصدار.
تستخدم ملاحظات الإصدار علامات اللغة، بحيث تحصل كل لغة على نصها الخاص. اجعلها موجزة وركّز فيها على المستخدم.
<!-- Release notes, one block per language -->
<en-US>
- New dark mode
- Faster startup
- Fixed a crash when opening profiles
</en-US>
<tr-TR>
- Yeni karanlık mod
- Daha hızlı açılış
- Profil açılırken oluşan çökme düzeltildi
</tr-TR>الطرح المرحلي (بالنسبة المئوية)
بالنسبة إلى إصدار إنتاج، يمكنك تنفيذ طرح مرحلي: اطرح الإصدار أولًا على شريحة صغيرة من المستخدمين — لنقل 10% — ثم وسّع نطاقه.
يختار Play عشوائيًا المستخدمين الذين يحصلون على التحديث. راقب معدلات الأعطال ومعدلات ANR، ثم ارفع النسبة: 10% ← 25% ← 50% ← 100%.
إذا بدت المقاييس سيئة، فلا ترفع النسبة أو أوقف الطرح قبل أن يتأثر معظم المستخدمين.
إيقاف الطرح واستئنافه
إذا كشف الطرح المرحلي عن مشكلة، يمكنك إيقافه من وحدة التحكم. ويؤدي الإيقاف إلى منع المستخدمين الجدد من تلقي التحديث، بينما يحتفظ المستخدمون الذين حدّثوا تطبيقاتهم به.
بعد طرح إصلاح في إصدار جديد، يمكنك استئناف الطرح أو بدء طرح جديد. يمنحك الإيقاف وقتًا إضافيًا من دون سحب كامل للإصدار — وهو أمر لا يوفّره Play فعليًا للمستخدمين الذين ثبّتوا الإصدار بالفعل.
ولهذا تحديدًا تبدأ بنسبة منخفضة.
كيفية وصول التحديثات إلى المستخدمين
تعمل تطبيقات Play Store تلقائيًا على تحديث التطبيقات في الخلفية (غالبًا عبر Wi‑Fi). ويمكن للمستخدمين أيضًا الضغط يدويًا على "تحديث".
تذكّر قاعدة versionCode: يجب أن يحتوي كل إصدار على عدد صحيح أعلى من الإصدار السابق، وإلا سيرفضه Play. أما versionName فهو مجرد التصنيف الذي يراه المستخدمون.
android {
defaultConfig {
// Must be strictly greater than the previous release
versionCode = 13
// Friendly label shown in the store and settings
versionName = "1.5.0"
}
}التحديثات داخل التطبيق
قد ترغب أحيانًا في تنبيه المستخدمين من داخل التطبيق. توفّر واجهة برمجة التطبيقات In-App Updates وضعين:
- مرن — يُنزّل التحديث في الخلفية بينما يواصل المستخدم استخدام التطبيق.
- فوري — تدفق يحجب الشاشة بالكامل للتحديثات المهمة.
تتحقق من توفّر التحديث، وإذا كان جاهزًا، تبدأ التدفق الذي اخترته.
val manager = AppUpdateManagerFactory.create(context)
manager.appUpdateInfo.addOnSuccessListener { info ->
val available = info.updateAvailability() ==
UpdateAvailability.UPDATE_AVAILABLE
if (available && info.isUpdateTypeAllowed(AppUpdateType.FLEXIBLE)) {
manager.startUpdateFlowForResult(
info,
AppUpdateType.FLEXIBLE,
activity,
REQUEST_CODE_UPDATE
)
}
}إكمال تحديث مرن
يُنزّل التحديث المرن بصمت. وعند اكتمال التنزيل، يجب استدعاء completeUpdate() لتثبيته — عادةً بعد مطالبة المستخدم بذلك عبر شريط رسائل.
استمع إلى حالة DOWNLOADED، ثم اعرض خيار إعادة التشغيل.
manager.registerListener { state ->
if (state.installStatus() == InstallStatus.DOWNLOADED) {
// Tell the user, then finish the install
showRestartSnackbar {
manager.completeUpdate()
}
}
}المراقبة بعد الإصدار
لا ينتهي العمل بالنشر. تتتبّع لوحة Android vitals في وحدة تحكم Play مقاييس السلامة التي يستخدمها Play أيضًا لتصنيف تطبيقك:
- معدل الأعطال ومعدل ANR (التطبيق لا يستجيب).
- عمليات التنبيه المفرطة، وبطء العرض، ومشكلات البطارية.
راقب هذه المقاييس عن كثب أثناء الطرح المرحلي. وتُعد الزيادة المفاجئة إشارة إلى إيقاف الطرح قبل توسيع نطاقه.
الاستجابة للمراجعات والمشكلات
بعد الإطلاق، هناك عادتان مستمرتان مهمتان:
- الرد على المراجعات في وحدة التحكم — فهذا يحسّن التقييمات ويكشف الأخطاء الحقيقية.
- فرز الأعطال من vitals أو أداة الإبلاغ عن الأعطال لديك، ثم إصلاحها وزيادة
versionCodeوطرح إصدار جديد مرحليًا.
الإصدار عبارة عن حلقة متكررة: اطرح تغييرات صغيرة، وقِس النتائج، وأصلح المشكلات، ثم اطرح من جديد.
سير عمل إصدار آمن
عند جمع عناصر الدرس كاملًا، يكون سير العمل المتين كما يلي:
- ارفع الإصدار إلى الاختبار الداخلي، وأجرِ اختبارًا سريعًا مع الفريق.
- رقِّ الإصدار إلى الاختبار المغلق/المفتوح للحصول على ملاحظات أوسع.
- ابدأ الإنتاج عبر طرح مرحلي بنسبة 10%.
- راقب Android vitals؛ وزِد النسبة إذا بقيت المؤشرات سليمة.
- أوقف الطرح وأصلح المشكلة إذا ارتفعت المؤشرات، ثم استأنفه بإصدار جديد.
تحوّل الخطوات الصغيرة والمراقبة الجيدة عملية الإصدار من أمر مخيف إلى إجراء روتيني.
اختبار سريع
طرحت إصدارًا إنتاجيًا إلى 10% من المستخدمين، فارتفع معدل الأعطال. وتريد منع المستخدمين الإضافيين من الحصول على الإصدار السيئ أثناء إعداد إصلاح. ما الإجراء الذي تتخذه؟
مراجعة: عمليات الطرح والتحديثات
يمكنك الآن طرح الإصدارات بثقة:
- استخدم المسارات — الداخلي والمغلق والمفتوح والإنتاج — لإتاحة الإصدارات تدريجيًا.
- نفّذ عمليات طرح مرحلية، وابدأ بنسبة صغيرة ثم زدها ما دامت المؤشرات سليمة.
- أوقف الطرح إذا ارتفعت مؤشرات vitals، ثم أصلح المشكلة واطرح إصدارًا جديدًا بقيمة
versionCodeأعلى. - يمكنك اختياريًا مطالبة المستخدمين بالتحديث باستخدام واجهة برمجة التطبيقات In-App Updates (بالوضع المرن أو الفوري).
- راقب Android vitals والمراجعات، ثم حسّن التطبيق باستمرار.
وبذلك يكتمل درس النشر على Google Play — بدءًا من إصدار موقّع جاهز للنشر وصولًا إلى عمليات طرح آمنة وخاضعة للمراقبة.
الأسئلة الشائعة
هل درس «الإصدارات والتحديثات» مجاني؟
نعم — نص درس «الإصدارات والتحديثات» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Android Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Android Academy 4 دروس في المجموع.
ماذا ستتعلم في «الإصدارات والتحديثات»؟
إصدارات مرحلية وتحديثات تتمرن على Android Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Android Academy؟
لا تُشترط خبرة سابقة. Android Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «الإصدارات والتحديثات»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Android Academy هذا؟
نعم. كل درس في Android Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- إعداد إصدار البناء
- توقيع التطبيق
- Play Console وقائمة التطبيق
- الإصدارات والتحديثات