3.3 KiB
3.3 KiB
سیستم آپدیت اجباری و مدیریت دسترسیها
این طرح شامل پیادهسازی مکانیزم بررسی نسخه جدید اپلیکیشن از طریق فایل JSON در گیتهاب و همچنین الزامی کردن دسترسیهای مورد نیاز برنامه (مشابه پروژه ابزار فروش) در بدو ورود کاربر است.
User Review Required
- لینک فایل آپدیت: فعلاً از لینک
https://raw.githubusercontent.com/oqba26/MonthlyPaymentApp/main/update.jsonاستفاده شده است. لطفاً مطمئن شوید این فایل در مخزن شما وجود دارد. - دسترسیهای اجباری: دسترسیهای Contacts، Camera و Storage (برای نسخههای قدیمی) به صورت پیشفرض اجباری در نظر گرفته شدهاند.
Proposed Changes
[Dependencies]
[MODIFY] libs.versions.toml
افزودن کتابخانههای Ktor برای Content Negotiation و Serialization جهت پردازش فایل JSON آپدیت.
[MODIFY] build.gradle.kts
اضافه کردن وابستگیهای جدید به ماژول اپلیکیشن.
[Update System]
[NEW] UpdateManager.kt
کلاسی برای چک کردن نسخه جدید، دانلود APK و اجرای فرآیند نصب.
[NEW] UpdateDialog.kt
رابط کاربری نمایش وجود نسخه جدید و گزارش پیشرفت دانلود.
[Permissions & Manifest]
[NEW] PermissionDialogs.kt
دیالوگهای نمایش دسترسیهای الزامی و اخطار عدم دسترسی.
[MODIFY] AndroidManifest.xml
افزودن مجوز REQUEST_INSTALL_PACKAGES و تعریف FileProvider برای نصب خودکار فایل APK.
[NEW] file_paths.xml
تعریف مسیرهای مجاز برای FileProvider.
[Integration]
[MODIFY] MainActivity.kt
یکپارچهسازی فرآیند بررسی آپدیت و چک کردن دسترسیها در زمان اجرای برنامه.
Verification Plan
Manual Verification
- اجرای برنامه و مشاهده دیالوگ دسترسیها (در صورت عدم تایید قبلی).
- شبیهسازی وجود آپدیت جدید با تغییر دستی
versionCodeدر کد و بررسی نمایش دیالوگ آپدیت. - تست فرآیند دانلود و باز شدن صفحه نصب اندروید.