تخطَّ إلى المحتوى

تحديثات الـ App: أجبر المستخدم يحدّث

الدرس 16 من 28

الهدف

بعد هالدرس عندك version check endpoint على الـ backend يقارن نسخة المستخدم بالنسخة المطلوبة، وعندك modal يظهر عند فتح الـ app يطلب التحديث، وعلى Android عندك Google Play In-App Updates API مضبوط.

ليش هذا الحين؟

رفعت التطبيق على TestFlight و Play — زين. الحين تخيّل إنك شحنت bug حرج في v1.0. نص مستخدمينك ما يحدّثون من نفسهم لأسابيع. وعلى iOS ماكو آلية إجبار رسمية. لو ما بنيت نظام version check الحين، بتتمنى لو بنيته من قبل.

الفكرة

Android: Google Play In-App Updates API:

Android يعطيك API رسمي عبر @capawesome/capacitor-app-update. أكو نوعين:

  • Immediate: إجباري — يغطي الـ app بصفحة تحديث، المستخدم ما يقدر يكمل بدون تحديث. استخدمه لـ security fixes و breaking changes.
  • Flexible: اختياري — يحمّل في الخلفية ويطلب من المستخدم إعادة تشغيل. استخدمه لـ feature updates.

iOS: ماكو Forced Update API:

Apple ترفض التطبيقات اللي تجبر المستخدم يحدّث عبر UI مخصص (Guideline 4.2). الحل: تبني نظامك الخاص — تتحقق من نسخة الـ app عند الفتح، تقارنها بـ endpoint على سيرفرك، وتعرض modal محترم. مو إجباري بالكامل — بس صعب تتجاهله.

قاعدة القرار:

الموقف القرار
Security fix أو data corruption Immediate (Android) / Force modal (iOS)
Feature update مهم Flexible (Android) / Soft modal (iOS)
Minor polish لا تطلب تحديث

محتاج مساعدة؟ راسلنا على mj@shakesbeard.net