25 Ekim 2026 Pazar

راهنمای انتشار بازی و برنامه از صفر تا گوگل پلی استور: بسته‌بندی، فرم‌ها، تست بسته و انتشار عمومی




راهنمای جامع انتشار برنامه و بازی در گوگل پلی استور (از صفر تا انتشار)

این راهنما فرایندهای گام‌به‌گام ساخت یک برنامه مدرن اندروید (به‌ویژه پروژه‌های NET MAUI.، MonoGame یا پروژه‌های ترکیبی #C) از ابتدا در Google Play Console، بسته‌بندی، امضا، رفع خطاهای بحرانی و تکمیل مراحل ثبت فروشگاه (ایجاد برنامه، سیاست حریم خصوصی، دسترسی به برنامه، تبلیغات، رده‌بندی سنی IARC، امنیت داده‌ها، تست بسته و انتشار عمومی نهایی) را به‌طور دقیق توضیح می‌دهد.


فهرست مطالب

  1. مقدمه و آماده‌سازی معماری
  2. ایجاد یک برنامه یا بازی جدید از صفر در Play Console (Create App)
  3. ساخت Keystore و اتوماسیون بیلد و امضا (Build/Sign)
  4. بارگذاری اولین بسته در Play Console و خطاهای بحرانی
  5. آماده‌سازی سیاست حفظ حریم خصوصی (Privacy Policy)
  6. دسترسی به برنامه و اطلاعات ورود (App Access / Sign-in Details)
  7. بیانیه تبلیغات (Ads Declaration)
  8. رده‌بندی سنی و محتوا (پرسشنامه IARC)
  9. مخاطبان هدف و گروه‌های سنی (Target Audience)
  10. داشبورد محتوای برنامه (App Content Dashboard)
  11. فرم امنیت داده‌ها (Data Safety Form)
  12. بیانیه‌های قانونی و مقرراتی (دولتی، مالی، سلامت)
  13. تنظیمات فروشگاه و اطلاعات تماس (Store Settings)
  14. صفحه اصلی فروشگاه و دارایی‌های بصری (Main Store Listing)
  15. راه‌اندازی و بررسی تست بسته (Closed Testing Setup and Review)
  16. بیانیه شناسه تبلیغاتی (Advertising ID Declaration)
  17. ارسال نهایی برای بررسی (Final Submission)
  18. درخواست مجوز انتشار عمومی پس از تست بسته (Apply for Production)
  19. پیروزی نهایی: تأیید دسترسی به نسخه تولید (Production Access)
  20. چک‌لیست پیش از انتشار (تکمیل‌شده)
  21. استودیو Arar Games و بازی‌های ما

1. مقدمه و آماده‌سازی معماری

هنگام انتشار یک برنامه جدید در گوگل پلی استور، رعایت آخرین سیاست‌های فنی و امنیتی گوگل ضروری است:

  • فرمت بسته: تنها فرمت aab. (Android App Bundle) پذیرفته می‌شود. فایل‌های APK برای انتشار مستقیم در فروشگاه معتبر نیستند (اگرچه می‌توانند برای تست‌های sideload ایجاد شوند).
  • حداقل Target SDK: گوگل پلی الزامی کرده است که برنامه‌های جدید یا به‌روزرسانی‌شده حداقل سطح Android API Level 36 (Android 16) را هدف قرار دهند.
  • امضای امن: برنامه باید با یک کلید RSA معتبر ۲۰۴۸ بیتی سازگار با طرح‌های امضای v2/v3 امضا شود.

2. ایجاد یک برنامه یا بازی جدید از صفر در Play Console (Create App)

پس از ورود به پنل Google Play Console به آدرس (play.google.com/console)، فرایند انتشار با کلیک روی دکمه آبی‌رنگ "Create app" در بالای صفحه اصلی آغاز می‌شود. این فرم، هویت دیجیتال برنامه، نام پکیج و دسته‌بندی اولیه در فروشگاه را مشخص می‌کند.

الف. جزئیات برنامه (App Details)

Play Console Yeni Uygulama Oluşturma - Ayrıntılar

  1. App Name (نام برنامه):
    • اولین نام رسمی برنامه است که به کاربران در فروشگاه نمایش داده می‌شود.
    • محدود به حداکثر ۳۰ کاراکتر (مثال: YourAppName).
    • توصیه: از کلمات گمراه‌کننده، تبلیغاتی یا پر کردن غیرضروری کلمات کلیدی مانند "Best", "Free", "#1" در عنوان خودداری کنید؛ در غیر این صورت در بررسی گوگل پلی رد خواهد شد.
  2. Package Name (نام بسته):
    • شناسه بسته جاوا/اندروید که برنامه شما را به‌طور منحصربه‌فرد در اکوسیستم اندروید مشخص می‌کند (الگوی دامنه معکوس، به عنوان مثال com.yourcompany.appname).
    • حداکثر ۱۵۰ کاراکتر.
    • ⚠️ قاعده حیاتی: پس از ایجاد برنامه در این صفحه و بارگذاری اولین بسته، نام پکیج دیگر هرگز قابل تغییر نیست! این مقدار باید با ApplicationId (<ApplicationId>com.yourcompany.appname</ApplicationId>) در فایل AndroidManifest.xml یکسان باشد.
    • Check availability (بررسی در دسترس بودن): با کلیک روی این دکمه، فوراً بررسی می‌شود که آیا این نام بسته قبلاً توسط توسعه‌دهنده دیگری ثبت شده است یا خیر.
  3. Default Language (زبان پیش‌فرض):
    • زبان اصلی صفحه فروشگاه برنامه (مثال: English (United States) – en-US).
    • اطلاعات فروشگاه در تمام کشورهایی که ترجمه اختصاصی برای آن‌ها تعریف نشده است، به این زبان پیش‌فرض نمایش داده می‌شود.

ب. نوع برنامه، قیمت‌گذاری و بیانیه‌ها

Play Console Yeni Uygulama Oluşturma - Beyanlar

  1. App or Game (برنامه یا بازی):
    • نوع اصلی محصول را تعیین می‌کند (App یا Game).
    • نکته مهم: این انتخاب تب اصلی فروشگاه (بخش برنامه‌ها یا بازی‌ها) را مشخص کرده و بعداً قابل تغییر نیست.
  2. Free or Paid (رایگان یا پولی):
    • مشخص می‌کند که برنامه رایگان عرضه می‌شود یا خرید نقدی دارد.
    • ⚠️ قاعده غیرقابل بازگشت: بر اساس قوانین گوگل پلی، برنامه‌ای که یک بار به صورت رایگان ("Free") منتشر شود، هرگز نمی‌تواند در آینده به پولی ("Paid") تبدیل شود! اگر می‌خواهید برنامه را بفروشید، باید از ابتدا Paid را انتخاب کنید. برای کسب درآمد از برنامه رایگان، باید از پرداخت درون‌برنامه‌ای یا تبلیغات استفاده نمایید.
  3. Automatic Protection (محافظت خودکار):
    • گوگل پلی محافظت و بررسی خودکار نصب‌کننده (installer check) را به کد APK/AAB برنامه شما اضافه می‌کند تا در صورت بارگیری غیرمجاز برنامه از خارج گوگل پلی، به کاربران هشدار دهد.
  4. Declarations (بیانیه‌های قانونی و سیاست‌ها):
    • Developer Program Policies: تأیید می‌کند که برنامه به‌طور کامل با سیاست‌های محتوایی توسعه‌دهندگان گوگل پلی مطابقت دارد.
    • US Export Laws: تأیید می‌کند که نرم‌افزار با قوانین صادرات ایالات متحده و مقررات تحریم سازگار است.
  5. Create App (ایجاد برنامه):
    • پس از تأیید، روی دکمه آبی "Create app" در پایین صفحه کلیک کنید تا وارد پنل مدیریت اصلی برنامه (Dashboard) شوید.

3. ساخت Keystore و اتوماسیون بیلد و امضا (Build/Sign)

برای اینکه فرایند استقرار و انتشار بدون خطا و تکرارپذیر باشد، پیشنهاد می‌شود پوشه Deploy/ و اسکریپت‌های اتوماسیون را در ریشه پروژه ایجاد کنید.

الف. تولید Keystore با اسکریپت (1_CreateKeystore.bat)

با استفاده از ابزار keytool موجود در JDK، یک کلید با اعتبار ۲۵ سال (۱۰,۰۰۰ روز) تولید می‌شود:

keytool -genkeypair -v ^
    -keystore "%KEYSTORE_PATH%" ^
    -alias %ALIAS% ^
    -keyalg RSA ^
    -keysize 2048 ^
    -validity 10000 ^
    -storepass "%PASS%" ^
    -keypass "%PASS%" ^
    -dname "CN=SirketAdi, OU=Apps, O=SirketAdi, C=TR"

نکته: استفاده از پرانتز در بلوک‌های if (...) هنگام دریافت رمز عبور با set /p در فایل‌های بچ ویندوز ممکن است باعث خطای نحوی (: was unexpected at this time) شود. مدیریت جریان با برچسب‌های goto و قرار دادن متغیرها در گیومه "%PASS%" ثبات فرایند را تضمین می‌کند.

ب. نسخه‌گذاری خودکار و تولید AAB امضا شده (2_BuildAndSign_AAB.bat)

گوگل پلی انتظار دارد که versionCode با هر به‌روزرسانی به‌صورت اکیداً صعودی افزایش یابد. برای اتوماسیون این کار، فرمولی بر اساس تاریخ و زمان ایجاد شده است:

# رقم آخر سال + ماه + روز + ساعت + دقیقه (مثال: 02:42 2026-10-06 -> 610060242)
$vc = (Get-Date).ToString('yy').Substring(1) + (Get-Date).ToString('MMddHHmm')

دستورات کامپایل و امضا:

dotnet build "Proje.Android.csproj" -c Release -f net9.0-android /p:AndroidPackageFormat=aab /p:ApplicationVersion=%VERSION_CODE% /p:ApplicationDisplayVersion=%VERSION_NAME%

jarsigner -sigalg SHA256withRSA -digestalg SHA-256 ^
    -keystore "%KEYSTORE%" ^
    -storepass "%PASS%" ^
    -keypass "%PASS%" ^
    -signedjar "%SIGNED_FILE%" ^
    "%AAB_INPUT%" ^
    %ALIAS%

پس از اتمام فرایند، پوشه حاوی فایل کامپایل‌شده مستقیماً در Windows Explorer با دستور start "" "%OUTPUT%" باز می‌شود.


4. بارگذاری اولین بسته در Play Console و خطاهای بحرانی

هنگامی که فایل امضاشده aab. در کانال Internal testing یا Production در Google Play Console آپلود می‌شود، ممکن است صفحه زیر مشاهده شود:

Play Console Release Hataları

خطای ۱: الزام به هدف‌گذاری API Level 36 (Android 16)

پیام خطا: "Your app currently targets API level 35 and must target at least API level 36 to ensure it is built on the latest APIs optimized for security and performance."

راه‌حل:

این خطا مانع انتشار است و تا زمان رفع آن نمی‌توان نسخه را ثبت کرد.

  1. تگ <uses-sdk> را در فایل Platforms/Android/AndroidManifest.xml به‌طور صریح تعریف کنید:
   <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.yourcompany.appname">
       <uses-sdk android:minSdkVersion="24" android:targetSdkVersion="36" />
       ...
   </manifest>
  1. آن را به <PropertyGroup> در فایل csproj. پروژه اضافه کنید:
   <AndroidTargetSdkVersion>36</AndroidTargetSdkVersion>

خطای ۲: هشدار جهش زیاد Version Code

پیام هشدار:
"This release's version code is significantly higher than your previous version code. Over time, this will result in your app reaching the maximum limit for version codes... Learn more"

راه‌حل:

  • گوگل پلی هنگامی که شماره نسخه قبلی عدد کوچکی بوده (مثلاً ۱ یا ۸) و سپس به فرمت تاریخ پویا (مثلاً ۶۱۰ میلیون) جهش می‌کند، این هشدار را نشان می‌دهد.
  • این یک خطای مسدودکننده نیست. می‌توان با کلیک روی دکمه آبی‌رنگ Proceed anyway که در زیر هشدار قرار دارد، آن را رد کرد.
  • از آنجا که این عدد پایه آپلودهای بعدی قرار می‌گیرد، این هشدار مجدداً نشان داده نخواهد شد.

5. آماده‌سازی سیاست حفظ حریم خصوصی (Privacy Policy)

بر اساس قوانین گوگل پلی، حتی اگر برنامه شما داده‌های حساسی جمع‌آوری نکند، لینک سیاست حفظ حریم خصوصی باید در قالب یک صفحه وب استاندارد (نه فایل PDF) با SSL فعال و دسترسی عمومی ارائه شود.

Gizlilik Politikası URL Girişi

میزبانی رایگان در GitHub

یک فایل markdown (.../blob/main) در مخزن گیت‌هاب توسط گوگل مستقیماً به عنوان یک صفحه وب معتبر شناسایی می‌شود.

GitHub Depo Görünümü

سرفصل‌های اساسی که باید در سیاست حریم خصوصی گنجانده شوند:

  1. تبلیغات (Google AdMob): تبلیغات بنری، بینابینی و پاداشی؛ استفاده از شناسه تبلیغاتی اندروید (AD_ID)، داده‌های فنی دستگاه و موقعیت مکانی تقریبی IP.
  2. خریدهای درون‌برنامه‌ای و اشتراک‌ها (Google Play Billing): پرداخت‌ها کاملاً در زیرساخت گوگل انجام می‌شوند و توسعه‌دهنده هرگز به کارت یا اطلاعات صورت‌حساب دسترسی ندارد.
  3. تحلیل و تله‌متری (Firebase Analytics & Crashlytics): رخدادهای ناشناس و گزارش‌های خرابی برنامه.
  4. مدیریت رضایت کاربران (Google UMP): پنجره‌های رضایت مطابق با قوانین GDPR و حریم خصوصی و امکان تغییر اولویت‌ها از طریق تنظیمات برنامه.
  5. سلب مسئولیت‌های قانونی و بیانیه‌های ویژه (به‌عنوان مثال، ابزارهای پیش‌بینی یا شانس):
    • برنامه به‌هیچ‌وجه پلتفرم شرط‌بندی یا قمار نیست.
    • فقط بهینه‌سازی فرمول‌های آماری و ریاضی را ارائه می‌دهد.
    • در صورت هدایت به منابع رسمی، نام کاربری و رمزهای عبور کاربران ذخیره نمی‌شوند و تأیید هویت مستقیماً در رابط رسمی انجام می‌گیرد.
  6. نکته امنیتی: لینک‌های شخصی مثل پروفایل گیت‌هاب توسعه‌دهنده نباید در سیاست حفظ حریم خصوصی قرار گیرند؛ تنها ایمیل رسمی پشتیبانی و وب‌سایت شرکتی باید ذکر شوند.

6. دسترسی به برنامه و اطلاعات ورود (App Access / Sign-in Details)

پیش از آنکه ارزیاب‌های گوگل بتوانند برنامه را بررسی کنند، باید اعلام کنید که آیا بخش‌های برنامه نیاز به ورود دارند یا خیر:

Uygulama Erişimi Ekranı

  • انتخاب: No (هیچ بخشی از برنامه دارای محدودیت نیست).
  • توضیح: اگر در برنامه ثبت‌نام، ورود کاربر، رمز عبور یا صفحه قفل‌شده وجود ندارد، گزینه No را انتخاب کنید. اگر Yes انتخاب شود، گوگل اطلاعات کاربری آزمایشی را درخواست خواهد کرد.

7. بیانیه تبلیغات (Ads Declaration)

در این مرحله باید مشخص کنید که آیا در برنامه تبلیغات نمایش داده می‌شود یا خیر:

Reklam Beyanı Ekranı

  • انتخاب: Yes, my app contains ads (بله، برنامه من حاوی تبلیغات است).
  • توضیح: اگر برنامه شامل کتابخانه AdMob است یا در آینده تبلیغات نمایش خواهد داد، باید Yes انتخاب شود. این انتخاب برچسب "Contains ads" را در صفحه گوگل پلی فعال کرده و از نقض سیاست‌ها جلوگیری می‌کند.

8. رده‌بندی سنی و محتوا (پرسشنامه IARC)

برای تعیین رده سنی برنامه، باید پرسشنامه IARC (International Age Rating Coalition) را تکمیل نمایید.

الف. انتخاب دسته‌بندی و ایمیل

Kategori Seçimi

  • دسته‌بندی: All Other App Types (تمام برنامه‌های دیگر به جز بازی‌ها، برنامه‌های شرط‌بندی یا شبکه‌های اجتماعی: ابزارها، محاسباتی، کاربردی).
  • ایمیل: ایمیل تماس را وارد کرده و شرایط IARC را تأیید کنید.

ب. سوالات پرسشنامه (Questionnaire)

بخش ۱: خشونت و ارتباطات کاربری

Anket Bölüm 1

  • محتوای برنامه (خشونت، مسائل جنسی، الفاظ رکیک): No
  • اشتراک محتوای کاربران (صدا، پیام، تصویر بین کاربران): No

بخش ۲: محتوا و محصولات دارای محدودیت سنی

Anket Bölüm 2

  • محتوای آنلاین (پخش استریم موسیقی/ویدیو یا کاتالوگ فروشگاهی): No
  • ترویج محصولات دارای محدودیت سنی (دخانیات، الکل، قمار): No (از آنجا که برنامه اجازه قمار نمی‌دهد، قطعاً No)
  • متفرقه (اشتراک موقعیت دقیق GPS): No

بخش ۳: محصولات دیجیتال و ویژگی‌های دیگر

Anket Bölüm 3

  • کالاهای دیجیتال (فروش کالای دیجیتال): No (اگر سیستم خرید متصل نیست No، در صورت فعال بودن Yes و دریافت برچسب Digital Purchases)
  • جوایز نقدی (کارت هدیه، جایزه نقدی): No
  • مرورگر وب (مرورگر اینترنت یا موتور جستجو): No
  • اخبار یا آموزشی: No

پاسخ No به تمامی این موارد، مناسب‌ترین رده سنی برای مخاطبان عمومی در سراسر جهان را به ارمغان می‌آورد (PEGI 3, ESRB Everyone).


9. مخاطبان هدف و گروه‌های سنی (Target Audience)

هنگام تعیین مخاطبان هدف، بسیار حیاتی است که با توجه به قوانین Designed for Families (سیاست خانواده) و مقررات COPPA مشخص کنید که برنامه برای کودکان در نظر گرفته شده است یا خیر.

Hedef Kitle Yaş Grubu Seçimi

انتخاب صحیح: فقط 18 and over

  • چرا فقط بالای ۱۸ سال؟
    1. انطباق قانونی: ابزارهای آماری و پیش‌بینی برای مخاطبان بزرگسال مناسب هستند.
    2. دوری از محدودیت‌های سیاست خانواده: انتخاب افراد زیر ۱۸ سال موجب اعمال مقررات بسیار سخت‌گیرانه روی SDKهای تبلیغاتی و تله‌متری می‌شود.
    3. هماهنگی با سیاست حریم خصوصی: با بند "The App is intended for audiences aged 18 and older" در سیاست حریم خصوصی ۱۰۰٪ هماهنگ است.
  • مرحله دوم (آیا برنامه ممکن است ناخواسته توجه کودکان را جلب کند؟):
    • پاسخ این سوال باید No باشد؛ زیرا هیچ المان یا کاراکتر کارتونی و کودکانه در رابط کاربری وجود ندارد.

10. داشبورد محتوای برنامه (App Content Dashboard)

گوگل پلی کنسول وضعیت آمادگی محتوایی و قانونی برنامه را از طریق یک چک‌لیست در منوی سمت چپ تحت عنوان Policy and programs -> App content پیگیری می‌کند.

Uygulama İçeriği Kontrol Paneli Kontrol Listesi

با تکمیل سیاست حفظ حریم خصوصی، مجوزهای ورود، تبلیغات و رده‌بندی محتوا، تیک‌های سبز (✓) ظاهر می‌شوند. سایر بخش‌های لیست (امنیت داده، سازمان‌های دولتی، امور مالی، سلامت) باید به‌ترتیب تکمیل شوند.


11. فرم امنیت داده‌ها (Data Safety Form)

یکی از بخش‌های به‌شدت حساس و تحت نظارت دقیق گوگل پلی است. باید اعلام کنید برنامه و کتابخانه‌های موجود چه داده‌هایی را جمع‌آوری می‌کنند یا به اشتراک می‌گذارند.

Veri Güvenliği Genel Bakış

سوال: آیا برنامه شما هیچ نوع داده کاربری مورد نیاز را جمع‌آوری یا به اشتراک می‌گذارد؟

Veri Toplama Sorusu

  • انتخاب برای انتشار اولیه: No (خیر).
  • دلیل فنی: از آنجا که در اولین بسته aab. بارگذاری‌شده، SDKهای AdMob یا Firebase هنوز به‌طور فعال داده‌های حساس جمع‌آوری نمی‌کنند، انتخاب No فرم را بدون مشکل به پایان می‌رساند.
  • نکته برای آینده: هنگامی که این کتابخانه‌ها فعال شوند، باید به این فرم بازگشته و آیتم‌های "Approximate Location"، "App performance" و "Device or other identifiers (AD_ID)" را به Yes به‌روزرسانی نمایید.

Veri Güvenliği Mağaza Önizlemesi

پس از بازبینی پیش‌نمایش، آن را ذخیره نمایید.


12. بیانیه‌های قانونی و مقرراتی (دولتی، مالی، سلامت)

الف. برنامه‌های دولتی (Government Apps)

Devlet Uygulaması Beyanı

  • انتخاب: No (برنامه نماینده یک نهاد رسمی دولتی نیست).

ب. قابلیت‌های مالی (Financial Features)

Finansal Özellikler Üst
Finansal Özellikler Alt

  • انتخاب: گزینه My app doesn't provide any financial features در پایین صفحه.
  • تأیید: در پنجره پاپ‌آپ، تأیید کنید که نیازی به ارائه مجوزها یا اسناد مالی نیست:

Finansal Dokümantasyon Onayı

ج. برنامه‌های سلامت (Health Apps)

Sağlık Uygulamaları Üst
Sağlık Uygulamaları Alt

  • انتخاب: گزینه My app does not have any health features در انتهای صفحه.
  • تأیید: در پنجره باز شده تأیید کنید که اسناد مربوط به سلامت منطقه‌ای الزامی نیست:

Sağlık Dokümantasyon Onayı


13. تنظیمات فروشگاه و اطلاعات تماس (Store Settings)

دسته‌بندی فروشگاه و کانال‌های ارتباطی کاربران با توسعه‌دهنده پیکربندی می‌شوند:

Mağaza Ayarları ve İletişim

  • دسته‌بندی برنامه (App Category): Sports یا Utilities / Tools.
  • برچسب‌ها (Tags): کلمات کلیدی مرتبط را انتخاب کنید (مثلاً Sports, Utilities).
  • اطلاعات تماس در فروشگاه (Store Listing Contact Details):
    • ایمیل پشتیبانی: destek@sirketadi.com (ایمیل رسمی و معتبر ضروری است).
    • وب‌سایت: https://company.com
  • بازاریابی خارجی (External Marketing): تیک آن را فعال بگذارید تا گوگل بتواند برنامه شما را در پلتفرم‌های خارج از گوگل پلی تبلیغ کند:

Dış Pazarlama İzni


14. صفحه اصلی فروشگاه و دارایی‌های بصری (Main Store Listing)

صفحه اصلی فروشگاه مهم‌ترین بخشی است که مستقیماً روی تصمیم کاربران برای دانلود تأثیر می‌گذارد:

الف. متون

  • نام برنامه (App Name): حداکثر ۳۰ کاراکتر (مثال: 15te15 - Spor Toto Assistant).
  • توضیح کوتاه (Short Description): حداکثر ۸۰ کاراکتر (مثال: دستیار هوشمند محاسبات احتمالات و فیلترهای تحلیلی مسابقات.).
  • توضیح کامل (Full Description): توضیحات کامل شامل ویژگی‌ها، مزایای فنی و اطلاعیه‌های قانونی.

ب. استانداردهای ابعاد بصری

  • آیکون برنامه (App Icon): دقیقاً 512 x 512 px، فرمت PNG ۳۲ بیتی، حداکثر حجم ۱ مگابایت.
  • تصویر بنر برجسته (Feature Graphic): دقیقاً 1024 x 500 px، فرمت JPG یا PNG ۲۴ بیتی، حداکثر ۱۵ مگابایت.
  • اسکرین‌شات‌های گوشی (Phone Screenshots):
    • حداقل ۲ و حداکثر ۸ تصویر.
    • حداقل اندازه: 1080 پیکسل (مثال: 1080 x 2340 px).
    • نسبت ابعاد: 16:9 یا 9:16.

ج. بیانیه محتوای تولیدشده با هوش مصنوعی (Generative AI)

AI Görsel Beyanı

  • حتی اگر از ابزارهای هوش مصنوعی برای تولید تصاویر استفاده کرده‌اید، تا زمانی که چهره‌های فوتورئالیستی گمراه‌کننده تولید نکرده باشید، گزینه Don't label assets انتخاب می‌شود.

15. راه‌اندازی و بررسی تست بسته (Closed Testing Setup and Review)

برای حساب‌های کاربری شخصی جدید در Google Play Console، گذراندن موفقیت‌آمیز فرایند Closed Testing (تست بسته) قبل از انتشار عمومی اجباری است.

الف. ارسال تغییرات برای بررسی (Publishing Overview)

وقتی همه تنظیمات فروشگاه و فرم‌ها کامل شد، در بخش مرور انتشار لیست تغییرات در انتظار نمایش داده می‌شود:

Yayınlama Genel Bakış

اما برای فعال شدن دکمه "Send changes for review" در بالا سمت راست، باید حداقل یک نسخه در کانال تست بسته (Closed Testing) پیکربندی شده باشد.

ب. مراحل تست بسته

Kapalı Test Görevleri

سه گام الزامی برای تکمیل تست بسته وجود دارد:

  1. انتخاب کشورها و مناطق (Select countries and regions):

Ülkelerin Seçimi

  • کشورهایی که مایل به انجام تست در آنها هستید را انتخاب کرده و دکمه Save را بزنید.
  1. انتخاب تسترها (Select testers):

Test Edenlerin Seçimi

  • در تب Testers، یک لیست ایمیل انتخاب یا ایجاد کنید.
  • برای دریافت مجوز انتشار نهایی در حساب‌های شخصی، گوگل حضور حداقل ۲۰ کاربر آزمایشی را به مدت ۱۴ روز متوالی الزامی کرده است.
  • پس از انتخاب، دکمه Save changes را در پایین کلیک کنید.
  1. ایجاد یک نسخه جدید (Create a new release):

Kapalı Test Hazır Durumu

  • پس از تکمیل مراحل فوق، عبارت "2 of 4 complete" ظاهر می‌شود.
  • روی دکمه آبی Create new release کلیک کنید.

Bundle Yükleme Ekranı

  • بسته امضاشده aab. را آپلود کنید. پس از پایان بارگذاری، گوگل پکیج را تجزیه و تحلیل می‌کند:

Bundle Yüklendi ve API 36 Doğrulandı

  • همان‌طور که مشاهده می‌شود، Target SDK: 36 با موفقیت شناسایی شده، Version: 610060410 و معماری‌ها تأیید می‌شوند.
  • پس از کلیک روی Next، هشدار جهش شماره نسخه ظاهر می‌شود:

Proceed Anyway Uyarısı

  • راه‌حل: روی لینک آبی‌رنگ Proceed anyway کلیک کنید.
  • سپس با کلیک روی دکمه آبی Save، نسخه با موفقیت ذخیره می‌شود.

پس از تکمیل این مراحل، می‌توانید به صفحه Publishing overview برگشته و با دکمه Send changes for review فرایند بازبینی گوگل را آغاز نمایید.

ج. وضعیت رایج: خطای "App not available" در لینک تست

تصویر زیر متداول‌ترین صفحه‌ای است که تسترها هنگام باز کردن لینک تست بسته (play.google.com/apps/testing/com...) مشاهده می‌کنند:

App Not Available Uyarısı

"App not available - A testing version of this app hasn't been published yet or isn't available for this account."

دلایل و راه‌حل این هشدار:

  1. در حال بررسی (In Review): حتی اگر نسخه تست ارسال شده باشد، تا زمانی که تیم بازبینی گوگل آن را تأیید نکرده باشد، لینک فعال نخواهد شد. پس از تغییر وضعیت به "Available to testers" لینک فعال می‌شود.
  2. عدم تطابق حساب کاربری گوگل: حسابی که در مرورگر لاگین است باید دقیقاً همان ایمیلی باشد که در لیست Testers ثبت شده است.
  3. زمان انتشار سرورها: حتی پس از تأیید گوگل، معمولاً ۱ الی ۲ ساعت زمان می‌برد تا لینک تست روی سرورهای جهانی گوگل پلی اعمال شود.

د. پیوستن به برنامه آزمایشی (Become a Tester - Opt-in)

پس از تأیید و فعال‌سازی لینک، صفحه دعوت رسمی زیر باز می‌شود:

Become a Tester Ekranı

  • صفحه شامل آیکون برنامه، نام توسعه‌دهنده و متن دعوت است.
  • با کلیک روی دکمه آبی Become a tester، حساب کاربری وارد برنامه تست می‌شود.
  • در صفحه بعد، با کلیک روی پیوند "Download it on Google Play"، برنامه مستقیماً از فروشگاه گوگل پلی روی دستگاه اندروید دانلود می‌شود.

16. بیانیه شناسه تبلیغاتی (Advertising ID Declaration)

برای تمامی برنامه‌هایی که اندروید ۱۳ (API 33) و بالاتر را هدف قرار می‌دهند، اعلام صریح نحوه استفاده از شناسه تبلیغاتی (AD_ID) الزامی است.

Reklam Kimliği Beyan Kuralları
Reklam Kimliği Sorusuna Yanıt

سوال: آیا برنامه شما از شناسه تبلیغاتی استفاده می‌کند؟

قانون کلیدی گوگل در این صفحه می‌گوید:

"If you say that your app uses advertising ID, we will block releases that don't include the com.google.android.gms.permission.AD_ID permission in the manifest file when targeting Android 13."

  • گزینه ۱ (پیشنهادی): No (خیر).
  • در بسته فعلی تست بسته، کتابخانه‌های تبلیغاتی به طور فعال پیاده‌سازی نشده‌اند و مجوز AD_ID در AndroidManifest.xml وجود ندارد. با انتخاب No هیچ تداخلی ایجاد نمی‌شود.
  • گزینه ۲ (در صورت انتخاب Yes):

Advertising ID Yes Seçenekleri

  • در صورت انتخاب Yes، باید گزینه [x] Advertising or marketing علامت زده شود و تیک مربوط به نادیده گرفتن خطای مانیفست (Turn off release errors) انتخاب شود.

در هر دو حالت، پس از انتخاب روی Save کلیک کنید.


17. ارسال نهایی برای بررسی (Final Submission)

پس از ثبت اطلاعات فروشگاه، سیاست حریم خصوصی، فرم‌های امنیتی، بیانیه‌ها، مخاطبان هدف و انتشار نسخه تست بسته، به صفحه Publishing overview بازمی‌گردید:

14 Değişikliği İncelemeye Gönder

  • Submit 14 changes for review: گوگل پلی تمام بیانیه‌ها و نسخه آزمایشی را در قالب یک بسته بررسی جمع‌آوری می‌کند (۱۴ تغییر در انتظار تأیید).
  • با کلیک روی دکمه آبی Submit 14 changes for review، فرایند رسمی بررسی آغاز می‌شود.
  • بررسی‌های خودکار کیفی در پس‌زمینه اجرا شده و سپس برنامه در صف بررسی کارشناسان قرار می‌گیرد. در حساب‌های شخصی این بررسی معمولاً بین ۲۴ تا ۷۲ ساعت طول می‌کشد.

18. درخواست مجوز انتشار عمومی پس از تست بسته (Apply for Production)

هنگامی که فرایند تست بسته (تست مستمر به مدت حداقل ۱۴ روز با ۲۰ کاربر) به پایان رسید، دکمه "Apply for production" در داشبورد اصلی Play Console فعال می‌شود. با کلیک روی این دکمه، گوگل یک فرم جامع ۳ مرحله‌ای را برای اطمینان از انجام واقعی تست و آمادگی برنامه ارائه می‌دهد:

Üretim İzni Başvuru Formu

مراحل فرم:

  1. درباره تست بسته شما (About your closed test): نحوه یافتن کاربران، نحوه جمع‌آوری بازخوردها و اصلاحات انجام‌شده بر اساس بازخوردها سوال می‌شود.
  2. درباره برنامه شما (About your app): جامعه هدف و ارزش افزوده‌ای که برنامه برای کاربران دارد شرح داده می‌شود.
  3. آمادگی انتشار عمومی شما (Your production readiness): نحوه پایش خطاها و مدیریت نظرات کاربران پس از انتشار عمومی مشخص می‌شود.

سوالات کلیدی و نمونه پاسخ‌های معتبر

1. "How did you recruit users for your closed testing? For example, did you ask friends and family, or use a paid testing provider?"

چگونه کاربران را برای تست بسته جذب کردید؟

قاعده مهم: گوگل به مزارع تستی پولی یا ربات‌ها حساس است. بهترین رویکرد این است که نشان دهید تسترها کاربران ارگانیک واقعی، اطرافیان و اعضای انجمن‌های مرتبط بوده‌اند.

I recruited testers organically through friends, family, and colleagues interested in sports analysis. Additionally, I invited active football prediction fans from targeted social media groups (Reddit & sports communities). No paid services were used; all were real, active users.
2. "How easy was it to recruit testers for your app?"

پیدا کردن تسترها برای برنامه چقدر آسان بود؟

  • گزینه پیشنهادی: Neither difficult or easy یا Easy. این گزینه نشان می‌دهد که فرایند به‌صورت طبیعی و متعادل پیش رفته است.

Kapalı Test Etkileşim Sorusu

3. "Describe the engagement you received from testers during your closed test"

میزان تعامل تسترها در طول دوره تست بسته را شرح دهید:

Testers actively used all core features: match fixtures, filters, and coupon generation. Their engagement matched real user behavior, logging in regularly around weekly match days to create coupons and review predictions. All tester activity closely mirrored real-world football fan usage.

Geri Bildirim Özeti ve Toplama Yöntemi

4. "Provide a summary of the feedback that you received from testers. Include how you collected the feedback."

خلاصه‌ای از بازخوردهای دریافتی و نحوه جمع‌آوری آن‌ها ارائه دهید:

Feedback was collected via Google Play internal feedback, emails, and tester messaging groups. Testers appreciated the fast coupon generator but suggested improving font readability on small screens, adding clearer filter descriptions, and optimizing fixture loading on slow mobile networks.

مرحله ۲: درباره برنامه شما (About your app)

در این مرحله در مورد مخاطبان، ارزش ایجادشده و پیش‌بینی دانلود سال اول سوال می‌شود:

Hedef Kitle Sorusu

1. "Who is the intended audience of your app?"

مخاطبان هدف برنامه چه کسانی هستند؟

The intended audience includes adult football fans, sports enthusiasts, and Toto players seeking analytical tools to plan predictions. It is designed for users aged 18+ who want structured match fixture insights, mathematical coupon filtering, and systematic statistical analysis.

Katma Değer ve İndirme Beklentisi

2. "Describe how your app provides value to users"

توضیح دهید برنامه شما چگونه برای کاربران ارزش ایجاد می‌کند:

The app provides value by automating complex coupon filtering and Toto calculations, saving users substantial time. It offers clean weekly fixture overviews, probability statistics, and intuitive mathematical tools that help sports fans make well-structured, data-informed prediction plans.
3. "How many installs do you expect your app to have in your first year?"

پیش‌بینی می‌کنید برنامه شما در سال اول چه تعداد نصب داشته باشد؟

  • گزینه پیشنهادی: 0 - 10K (یک هدف واقع‌بینانه و ارگانیک برای توسعه‌دهنده مستقل).

مرحله ۳: آمادگی برای انتشار عمومی (Your production readiness)

در این بخش تغییرات ایجادشده بر اساس یادگیری‌های دوره تست و نحوه اطمینان از پایداری برنامه پرسیده می‌شود:

Yapılan Değişiklikler Sorusu

1. "What changes did you make to your app based on what you learned during your closed test?"

بر اساس آموخته‌های تست بسته، چه تغییراتی در برنامه ایجاد کردید؟

Based on tester feedback, we adjusted font scaling and spacing for smaller screens, added descriptive labels to filter options, and optimized fixture caching for slower network connections. We also streamlined the coupon generation interface to make navigation smoother and more intuitive.

Üretime Hazır Olma Kararı Sorusu

2. "How did you decide that your app is ready for production?"

چگونه تصمیم گرفتید که برنامه شما برای انتشار زنده آماده است؟

We confirmed production readiness through 14 days of closed testing with zero crashes and zero ANRs in Android Vitals. All core workflows (fixture browsing, filtering, and coupon generation) executed smoothly across diverse devices, and testers confirmed high stability and complete features.

پس از تکمیل تمام فیلدها، با کلیک روی دکمه آبی Apply در پایین، درخواست رسمی ارسال می‌شود.

صفحه ارسال درخواست (فرایند بررسی)

با فشردن دکمه 'Apply' کارت رسمی بررسی در صفحه Production نمایش داده می‌شود:

Başvuru Gönderildi ve İncelemede

"We have your application for production access"
"We're reviewing your application form. We'll email the account owner with an update. This usually takes 7 days or less, but may occasionally take longer."

نکات مهم این مرحله:

  1. زمان بررسی: اگرچه گوگل عنوان می‌کند بررسی "7 days or less" طول می‌کشد، برای برنامه‌هایی با پاسخ‌های منطقی و بدون کرش، نتیجه معمولاً بین ۲۴ تا ۷۲ ساعت مشخص می‌شود.
  2. اعلام نتیجه: با اتمام بررسی، ایمیل رسمی تأیید برای مالک حساب ارسال می‌شود.
  3. اقدام در طول انتظار: نیازی به اقدام خاصی نیست؛ کانال تست بسته می‌تواند فعال بماند.

19. پیروزی نهایی: تأیید دسترسی به نسخه تولید (Production Access)

هنگامی که فرایند Closed Testing (۱۴ روز تست فعال با حداقل ۲۰ کاربر آزمایشی) با موفقیت به پایان برسد و درخواست تأیید شود، ایمیل رسمی زیر از تیم Google Play Console ارسال می‌گردد:

Google Play Production Access Onay E-postası

"Congratulations! Your app has been granted Google Play production access"
"You applied for Google Play production access for your app, and this has now been granted. Production is where you make your app available to billions of users on Google Play."

این ایمیل چه معنایی دارد؟

  1. انتشار عمومی: برنامه شما اکنون مجوز دارد به جای فقط کاربران تست بسته، در دسترس میلیاردها کاربر اندروید در سرتاسر جهان قرار گیرد.
  2. عبور از فیلتر حساب شخصی: الزام ۲۰ تستر / ۱۴ روزه گوگل رسماً محقق شده و حساب توسعه‌دهنده به سطح قابل اعتماد (Trusted) ارتقا یافته است.
  3. انتشار با یک کلیک: در پنل Play Console در بخش Production، می‌توانید نسخه تست‌شده را مستقیماً یا با یک نسخه جدید برای تمام جهان فعال کنید.

20. چک‌لیست پیش از انتشار (تکمیل‌شده)

تمام موارد کنترلی در طول فرایند:

  • آیا شناسه برنامه و نام پکیج یکتا در Play Console ایجاد شده است؟
  • آیا پکیج امضاشده aab. با targetSdkVersion 36 کامپایل شده است؟
  • آیا versionCode بالاتر از نسخه‌های پیشین است؟ (آیا روی هشدار Proceed anyway کلیک شد؟)
  • آیا آدرس سیاست حفظ حریم خصوصی فعال بوده و با HTTPS بارگذاری می‌شود؟
  • آیا App Access به عنوان No ثبت شده است؟
  • آیا بیانیه تبلیغات روی Yes تنظیم شده است؟
  • آیا رده‌بندی سنی IARC کامل و گواهی دریافت شده است؟
  • آیا مخاطب هدف روی 18 and over تنظیم شده است؟
  • آیا فرم امنیت داده‌ها (Data Safety) تکمیل شده است؟
  • آیا بیانیه‌های دولتی، مالی و سلامت همگی روی No ثبت شده‌اند؟
  • آیا دارایی‌های فروشگاه (آیکون ۵۱۲x۵۱۲، بنر ۱۰۲۴x۵۰۰ و اسکرین‌شات‌ها) بارگذاری شده‌اند؟
  • تست بسته: آیا کشورها/مناطق انتخاب و ذخیره شده‌اند؟
  • تست بسته: آیا لیست تسترها انتخاب و ذخیره شده است؟
  • تست بسته: آیا پکیج aab. امضاشده بارگذاری و نسخه‌گذاری شده است؟
  • شناسه تبلیغاتی: آیا برای انتشار اولیه روی No ذخیره شده است؟
  • مرور انتشار: آیا تغییرات برای بازبینی گوگل ارسال شده‌اند؟
  • آیا فرایند تست بسته و مجوز Production Access با موفقیت دریافت شده است؟

21. استودیو Arar Games و بازی‌های ما

می‌توانید برای تجربه بازی‌ها، مکانیک‌ها و به‌روزرسانی‌هایی که در استودیوی مستقل خود توسعه داده‌ایم، از صفحات فروشگاه ما دیدن فرمایید:

🎮 بازی‌های ما:

📢 شبکه‌های اجتماعی و ارتباطات:

برای دنبال کردن راهنماهای فنی جدید، گزارش‌های توسعه و به‌روزرسانی‌های بازی‌ها:


تهیه‌شده توسط: آرشیو مستندات توسعه‌دهندگان استودیو Arar Games




Hiç yorum yok:

Yorum Gönder