الإعداد
يعمل التحكم بالإصدارات افتراضياً بمجرد تشغيلLerix.initialize()، مع الشاشات
الجاهزة. لتغييره، مرّر appControl:
MyApplication.kt
تحديثات Google Play داخل التطبيق
يتطلبusePlayInAppUpdate وجود مكتبة Play للتحديث داخل التطبيق في تطبيقك. لا تضمّها
الحزمة، فأضفها بنفسك:
app/build.gradle.kts
الإصدار
ترسل الحزمةversionName بوصفه الإصدار وversionCode بوصفه رقم البناء، واسم
الحزمة (package name) ليبني Lerix رابط Google Play. تقارن القواعد أرقام البناء حين
تتوفر لدى الطرفين.
تغييرات فورية بالإشعار الصامت
حين تبدأ نافذة صيانة أو تنهيها، أو تفرض تحديثاً، يرسل Lerix رسالة بيانات صامتة عبر FCM لتتحدث التطبيقات العاملة في الخلفية أيضاً. تصل إلى التطبيقات التي أُعدّت فيها الإشعارات، وتتولى الحزمة معالجتها: لا تُعرض أبداً كإشعار. ومن دون الإشعارات، تلتقط التطبيقات التغيير عند تحققها التالي.الشاشات الجاهزة
- الصيانة: نشاط (activity) على كامل الشاشة فوق تطبيقك، مع زر حاول مرة أخرى. يرسل زر الرجوع التطبيق إلى الخلفية، ولا يعيد المستخدم إلى التطبيق أبداً. وإذا عاد نشاط آخر من تطبيقك إلى الواجهة، تعود الشاشة فوقه.
- التحديث الإلزامي: الحاوية نفسها على كامل الشاشة، مع ملاحظات الإصدار وزر تحديث.
- مطالبة التحديث: نافذة حوار على النشاط الحالي فيها تحديث ولاحقاً، وتخطي هذا الإصدار إن كان مسموحاً. ويغلقها زر الرجوع دون حفظ لاحقاً.
AndroidManifest.xml. تتبع الأزرار لغة الجهاز (العربية من اليمين إلى اليسار، أو
الإنجليزية). راجع واجهة مخصصة
لمعرفة متى تظهر كل منها.
شاشاتك الخاصة
اضبطui = false، ثم اجمع Lerix.appControl.state، وهو
StateFlow<LerixAppControlState>. للحالة الأجزاء update (LerixAppUpdate)
وmaintenance (LerixMaintenance) وsdk (LerixSdkControl)، وكل منها null حين
لا ينطبق شيء (الحقول في الحالة).
وتقرأ Lerix.appControl.currentState الحالة مرة واحدة.
MainActivity.kt
openStore لتبدأ منه شاشة التحديث الخاصة بـ Play. ومن دونه
تستخدم الحزمة النشاط الموجود في الواجهة.
التحقق الآن
الدالةLerix.appControl.refresh() من نوع suspend، وتتجاهل مدة صلاحية الإجابة
المحفوظة، فتجلب الحالة وتعيدها. وتفعل refresh(callback) الشيء نفسه من شيفرة لا
تستخدم الـ coroutines. والحزمة تتحقق أصلاً عند التشغيل، وعند عودة التطبيق إلى الواجهة، وكل دقيقة
أثناء الطوارئ (راجع
وصول التغييرات والعمل دون اتصال).