تلوزیون تبلیغاتی آنلاین
اپلیکیشن Advertising Display یک سیستم هوشمند برای نمایش و مدیریت محتوای تبلیغاتی بهصورت دیجیتال است. طراحی رابط کاربری این برنامه به شکلی انجام شده که هم برای اپراتور ساده باشد و هم برای بیننده جذاب و مدرن به نظر برسد.
Android
Kotlin
Jetpack Compose
Material Design 3
ExoPlayer
Coil
ZXing
OkHttp
Gson
Coroutines
Palette API
9500
خط کد
3
خبر
11
تکنولوژی
فعال
وضعیت
مسیر توسعه
پیگیری پیشرفت از روز اول
روز 1
2025/08/11
اضافه شدن قسمت آپدیت (OTA Update)
📦 ساختار داده بروزرسانی (Update JSON)
برای مدیریت و نمایش اطلاعات نسخههای جدید، اپلیکیشن از یک فایل JSON با فرمت مشخص استفاده میکند. این فایل در سرور قرار میگیرد و شامل اطلاعات زیر است:
appInfo → اطلاعات کلی اپلیکیشن
name: نام برنامه (Advertising Display)
currentVersion: نسخه فعلی موجود در دستگاه کاربر
releasedFiles → لیستی از نسخههای منتشرشده:
fileName: نام فایل APK نسخه جدید
version: شماره نسخه
releaseDate و releaseTime: تاریخ و ساعت انتشار
fileSize: اندازه فایل
downloadUrl: لینک مستقیم دانلود APK
downloadUrlZip: لینک فایل ZIP (در صورت نیاز به فشردهسازی)
requiredAndroidVersion: حداقل نسخه اندروید موردنیاز
changeLog: لیست تغییرات نسخه جدید (نمایش در صفحه بروزرسانی)
isForceUpdate: مشخص میکند که بروزرسانی اجباری است یا خیر
📌 مزیت این ساختار اینه که هر بار فقط کافیه این JSON در سرور بهروزرسانی بشه، و اپلیکیشن بهصورت خودکار اطلاعات جدید رو دریافت و نمایش میده، بدون اینکه نیازی به تغییر کد برنامه باشه.
روز 2
2025/08/11
رابط کاربری (UI)
🖥 رابط کاربری (UI)
طراحی رابط کاربری بر پایه سادگی، زیبایی و تأثیرگذاری:
🖼 نمایش تمامصفحه برای جلب حداکثر توجه
📐 چیدمان واکنشگرا (Responsive) برای نمایش صحیح روی هر دستگاه
🎨 هماهنگی رنگها با محتوای تبلیغاتی
🔍 فونت خوانا و اندازه مناسب برای دید از فاصله دور
⚙️ عملکرد اصلی اپلیکیشن
🎬 نمایش ویدیو و تصویر
پخش روان و پشت سر هم یا طبق زمانبندی
امکان نمایش متن یا لوگو روی محتوا
🔄 مدیریت و بهروزرسانی آسان
دریافت محتوای جدید از اینترنت 🌐
تغییر سریع کمپین تبلیغاتی بدون نصب مجدد برنامه
📱 نمایش QR Code
هدایت سریع مشتریان به سایت، فرم ثبتنام یا تخفیف ویژه
🔗 اتصال به سرور
دریافت لیست تبلیغات و زمانبندی پخش از مرکز کنترل
⚡ اجرای سریع و بهینه
پخش بدون توقف و مصرف بهینه منابع
🌟 ویژگیهای متمایز
🚀 عملکرد روان حتی روی سختافزار متوسط
🎥 پشتیبانی از فرمتهای متنوع ویدیو و تصویر
🎨 تغییر تم و رنگها بر اساس محتوای در حال پخش
👌 طراحی مینیمال و کاربرپسند
روز 3
2025/08/11
🎬🚀 معرفی ماژول «آپلود ویدیو و کاور» در اپلیکیشن
این ماژول یک پنل ساده و قدرتمند برای انتخاب، آپلود و مدیریت ویدیوها (بههمراه کاور اختیاری) است؛ مناسب برای تغذیه سریع لیست پخش تبلیغات از راه دور.
🧩 امکانات کلیدی
📥 انتخاب ویدیو از گالری + نمایش نام و حجم
🖼️ انتخاب کاور اختیاری (Preview/Thumbnail)
⬆️ آپلود چندمرحلهای با وضعیت و درصد پیشرفت (متن + ProgressBar)
📜 لیستگرفتن از سرور با نمایش وضعیت کاور هر ویدیو
🗑️ حذف ویدیو از سرور با دیالوگ تأیید
🔄 بازخوانی لحظهای لیست پس از آپلود/حذف
🔗 جریان کار (Flow)
کاربر ویدیو را انتخاب میکند؛ در صورت تمایل کاور هم برمیگزیند.
فایلها در Cache آماده میشوند و درخواست Multipart به سرور ارسال میگردد.
در طول مسیر، وضعیتها نمایش داده میشود:
«در حال آمادهسازی ویدیو…» → «در حال آمادهسازی کاور…» → «در حال آپلود…» → «✅ آپلود کامل شد»
پس از موفقیت، فرم ریست و لیست سرور بهروز میشود.
🖥 رابط کاربری (UI)
TopAppBar با دکمه بازگشت 🔙
دو کارت انتخاب: «ویدیو» 🎞 و «کاور» 🖼️ (هرکدام با وضعیت انتخاب/تیک ✅)
دکمهی آپلود ⬆️ (تبدیل عنوان بر اساس داشتن/نداشتن کاور)
کارت پیشرفت: Circular & Linear Progress + درصد عددی
کارت لیست ویدیوها:
ردیفها با کاور واقعی (در صورت موجود) یا شماره ویدیو
چیپ «کاور دارد» برای تمایز سریع
دکمه Refresh 🔄 و Delete 🗑️ با AlertDialog تأیید
🌐 ارتباطات سرور (API)
GET https://onpgol.ir/api/playlist-with-covers → دریافت لیست ویدیوها + آدرس کاور
POST https://onpgol.ir/api/upload-video-with-cover → آپلود Multipart (فیلدهای video و اختیاری cover)
POST https://onpgol.ir/api/delete-video → حذف با پارامتر filename
نکته: کاورها در لیست با مسیر نسبی میآیند و در UI با https://onpgol.ir${coverUrl} رندر میشوند.
🛡️ نکات اجرایی
مدیریت خطا با Toast و پیام ❌ خطا: …
زمانهای Timeout برای آپلودهای حجیم تنظیم شدهاند ⏱️
پاکسازی فایلهای موقتی Cache پس از ارسال 🧹
جداسازی UI/State با Compose + CoroutineScope برای تجربه روان ⚡
✅ جمعبندی
این ماژول، یک داشبورد سبک، سریع و کاربرپسند برای ورود محتواست:
از انتخاب ویدیو و کاور تا آپلود امن، مشاهده وضعیت، و مدیریت لیست سرور—all-in-one.
نتیجهاش؟ تغذیهی بیدردسر و لحظهای برای سیستم نمایش تبلیغات شما. 💼✨