الشاشات الجاهزة
تأتي الحزمة بثلاث شاشات وتعرضها افتراضياً:- تغطي شاشتا الصيانة والتحديث الإلزامي التطبيق كله ولا يمكن إغلاقهما، وتختفيان من تلقاء نفسيهما حين تزول الحالة.
- لا تظهر مطالبة التحديث أكثر من مرة في الجلسة الواحدة، ولا فوق شاشة منع، ولا قبل أن تجهز الشاشة الأولى في تطبيقك.
- تأتي العناوين والرسائل وملاحظات الإصدار من لوحة التحكم. أما نصوص الأزرار وعنوان «ما الجديد» وسطر “العودة المتوقعة الساعة” فمدمجة بالعربية (من اليمين إلى اليسار) والإنجليزية، وتُختار بحسب لغة الجهاز.
شاشاتك الخاصة
أوقف الشاشات الجاهزة بـui: false واستمع إلى الحالة بدلاً منها. تواصل الحزمة
الجلب والحفظ وتطبيق
قواعد العمل دون اتصال،
والرسم وحده عليك.
الحالة
للحالة ثلاثة أجزاء، وكل منها فارغ (null أو nil) حين لا ينطبق شيء. وهي مصفّاة مسبقاً بحسب الوقت
الحالي ولاحقاً والتخطي، فارسم ما يصلك كما هو.
- لا يُضبط
maintenanceإلا ما دامت النافذة جارية. أما النافذة المجدولة فتبقى داخل الحزمة حتى موعد بدئها. - قيمة
storeUrlفارغة دائماً على الويب. - أسماء الحقول واحدة في كل الحزم. وفي الحزم الأصلية،
stateوreasonمن نوع enum: LerixUpdateState(في Flutter .required، وفي Swift .required، وفي Kotlin REQUIRED)، وLerixUpdateReason(يستخدم Flutter وSwift القيمbelowMinimumوblockedVersionوdeadlinePassed). أما Kotlin وحزم الويب فتُبقيreasonنصاً كما في الجدول. والسبب الذي لا تعرفه الحزمة يُقرأnull. - الأوقات من نوع
DateTimeفي Flutter، وDateفي Swift، وعدد الميلي ثانية منذ epoch في Kotlin، ونصوص ISO على الويب.
الدوال المساعدة
تسجّل الدوال المساعدة أيضاً حدث
$update_prompt_action المقابل، فيبقى مسار تحويل
التحديث في التحليلات مكتملاً مع واجهتك الخاصة. أما $update_prompt_shown فلا
تسجّله إلا الواجهة الجاهزة؛ وفي Flutter استدعِ Lerix.appControl.reportPromptShown(update)
حين تظهر مطالبتك الخاصة. راجع
الأحداث والـ Webhooks والصلاحيات.
بحسب الحزمة
- Flutter
- Swift
- Kotlin
- React
- Angular
- Web (JS)
الإيقاف الكامل
يوقفenabled: false التحكم بالإصدارات في ذلك التطبيق: لا تحقق ولا شاشات ولا
أحداث. لكن مفتاح إيقاف حزمة Lerix الذي حفظه الجهاز سابقاً يبقى سارياً حتى وقت
انتهائه (راجع
وصول التغييرات والعمل دون اتصال).