راهنمای گامبهگام انتشار SpiMp3 در فروشگاه مایکت.
مایکت پیام زیر را نشان داد:
فایل APK با کلید دیباگ امضا شده است. لطفاً نسخهای با کلید انتشار راگانی کنید.
علت واقعی: در بیلد خودکار (GitHub Actions) وقتی فایل keystore.properties در دسترس نبود،
app/build.gradle.kts بیصدا به کلید دیباگ برمیگشت. یعنی APK با CN=Android Debug
امضا میشد ولی job سبز میماند. اثر انگشت گواهی APK ریلیس ۱.۱.۱:
| APK | گواهی امضا | وضعیت |
|---|---|---|
SpiMp3-1.1.1.apk (ریلیس v1.1.1) |
c8a224f647e6c886… — CN=Android Debug |
❌ رد شد |
SpiMp3-1.1.2.apk (ریلیس v1.1.2) |
581c4d9183b771ac… — CN=SpiMp3 |
✅ پذیرفته میشود |
این مسیر در نسخه ۱.۱.۲ بسته شد:
keystore.properties خطا میدهد و دیگر به کلید دیباگ برنمیگردد
(برای بیلدهای آزمایشی محلی: -Pspimp3.signWithDebugKey=true).release.yml اثر انگشت گواهی APK را با مقدار ثابت مقایسه میکند و در صورت
ناهماهنگی build را متوقف میکند.IntegrityCheck نصب از مایکت را بهعنوان installer معتبر میپذیرد، چون مایکت
گاهی APK را با کلید خودش دوباره امضا میکند.از ریلیسهای گیتهاب:
https://github.com/ciomid1097-arch/SpiMp3/releases/download/v1.1.2/SpiMp3-1.1.2.apk
بررسی امضا قبل از آپلود (اختیاری ولی توصیهشده):
apksigner verify --print-certs SpiMp3-1.1.2.apk | grep "SHA-256 digest"
# باید 581c4d9183b771acaaac2865c9dbddfc208efe008d50f6bae881697ef0441455 باشد
SpiMp3-1.1.2.apk را بکشید و رها کنید.com.spimp3.appversionName 1.1.2 / versionCode 5READ_MEDIA_AUDIO، POST_NOTIFICATIONS، INTERNETlisting-fa.md و
listing-en.md همین پوشه موجود است).INTERNET و بررسی خودکار نسخهٔ جدیدتنها دلیل این مجوز، چک کردن نسخهٔ جدید از GitHub Releases است
(data/UpdateChecker.kt). کاربر میتواند آن را در
Settings → Updates → Check for updates خاموش کند، و در غیر این صورت فقط یک
درخواست GET بدون ارسال هیچ دادهای انجام میشود.
نکتهٔ دیبای: مایکت در توضیح فرم هشدار میدهد که اپلیکیشنهایی که کاربر را به دانلود از منبع دیگری هدایت کنند تأیید نمیشوند. اگر اپ به این دلیل رد شد، بهترین کار این است که فیچر چک آپدیت برای نسخهٔ مایکت غیرفعال شود — بهجای حذف کامل، کافی است
UpdateCheckerدرbuild.gradle.ktsبا یکbuildConfigFieldخاموش شود تا متن Privacy Policy هم دقیقاً با رفتار واقعی همخوان بماند.
| مورد | مقدار |
|---|---|
| نام برنامه | SpiMp3 |
| بستهبندی | com.spimp3.app |
| دسته | موزیک و صدا |
| حداقل نسخهٔ اندروید | 8.0 (API 26) |
| وبسایت | https://ciomid1097-arch.github.io/SpiMp3/ |
| سیاست حریم خصوصی | https://ciomid1097-arch.github.io/SpiMp3/store/privacy-policy.html |
| ایمیل پشتیبانی | در listing-fa.md |
| محتوای بزرگسال / خشونت | خیر |
| فایل | کاربرد |
|---|---|
play-icon.png |
آیکن برنامه (۵۱۲×۵۱۲، PNG) |
feature-graphic.png |
گرافیک ویژه |
| اسکرینشاتها | حداقل ۲ اسکرینشات از صفحهٔ اصلی و صفحهٔ Now Playing |
تصاویر را میتوانید از Play استور بازتولید کنید؛ ابعاد و فرمت یکسان بماند.
هر نسخهٔ جدید فقط با تگ کار میکند:
# 1. versionCode / versionName را در app/build.gradle.kts بالا ببرید
# 2. یک ورودی جدید برای WhatsNew.notes اضافه کنید
git add -A && git commit -m "v1.1.3: …"
git tag v1.1.3 && git push origin main v1.1.3
Action بهطور خودکار APK امضاشده را روی ریلیس میگذارد و لینک مستقیم آپدیت بهروز میشود. اگر کلید در GitHub نباشد، اکشن fail میشود (قبلاً بیصدا APK دیباگامضا منتشر میکرد).
| پیام پنل | علت | راهحل |
|---|---|---|
| «با کلید دیباگ امضا شده است» | keystore به بیلد نرسیده | نسخهٔ ۱.۱.۲ به بعد را آپلود کنید |
| «نسخهٔ جدیدتری وجود دارد» | versionCode تکراری | versionCode را در build.gradle.kts بالا ببرید |
| «امضای نامعتبر» | APK دستکاریشده یا ناقص | فایل را دوباره از ریلیس دانلود کنید |
| رد شدن بهخاطر لینک دانلود مستقیم | سیاست مایکت | چک آپدیت را برای نسخهٔ مایکت خاموش کنید |